zoukankan      html  css  js  c++  java
  • 二、Java面向对象(1)_软件开发概述——软件生命周期和设计原则

    2018-04-28

    软件生命周期和设计原则

    一、软件生命周期

    软件生命周期是软件的产生直到报废或停止使用的生命周期。

    旧的解释是周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。

    ---------------------------------------------------------------------------------------------------

    问题定义及规划:此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

    需求分析:

      在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。软件需求定义是软件设计开发阶段的输入,为需求被翻译成为可以使软件建构功能的代码发挥作用。

    软件设计:

      此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。软件设计的核心在于把握好那些决定"服务质量"的因素,比如软件的性能,可扩展性,安全性,怎样划分模块的组成,怎样组织和封装软件的组件,以及其他一些虽然不作为软件主要应用的方面但会对其支持方面有所影响的方方面面。软件设计的原理包括抽象,分解和模块化,耦合和内聚,封装,充分性,完整性和原始性。软件设计主要关注软件的兼容性、可扩展性、容错性、可维护性、模块化、可靠性、可重用性、健壮性、安全性、可用性和互操作性。耦合和内聚是两个用来评估软件设计质量的方法。

    程序编码:

      此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

    软件测试:

      在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

    运行维护:

      软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

    二、软件设计原则 

     1.可重用性:遵循DRY原则,减少软件中的重复代码

     2.可拓展性

     3.可维护性:当用户需求发生变化时,只需要修改局部少量代码即可。

    如何达到上述要求:

    • 结构稳定性:在软件设计阶段,把一个模块划分为更小的模块。
    • 可组合性:多个模块经过组合,形成大系统,提高可重用性和可维护性
    • 高内聚性:内聚,强调一个模块只完成特定的功能,提高可重用性和可维护性
    • 低耦合性:耦合,强调多个模块之间的联系,模块之间相互独立,提高可维护性
  • 相关阅读:
    codeforces628D. Magic Numbers (数位dp)
    hdu5432Rikka with Array (数位dp+十进制转化为二进制)
    LA3902 Network (树上dfs)
    zoj3494 BCD Code(AC自动机+数位dp)
    codeforces #345 (Div. 1) D. Zip-line (线段树+最长上升子序列)
    zjnu1786 PROSJEK(二分)
    九度1497:面积最大的全1子矩阵 (单调队列,单调栈)
    zjnu1726 STOGOVI (lca)
    zjnu1735BOB (单调队列,单调栈)
    uva10859 Placing Lampposts (树形dp+求两者最小值方法)
  • 原文地址:https://www.cnblogs.com/sunNoI/p/8969367.html
Copyright © 2011-2022 走看看