软件工程基础学习笔记--软件生命周期学习

来源:互联网 发布:德芙的含义 知乎 编辑:程序博客网 时间:2024/05/16 23:39

博猪是一枚苦逼的搞基网络攻城狮,即将毕业的应届毕业生。

目前自学软件工程、Python转型搞基程序猿,感觉好像离进化成人类又进了一步呢~

以下是自学软件工程的学习笔记,总结的很粗陋,仅供自己学习记录用。

不喜勿喷,全靠一身肥膘在支撑。

----------------割割割刚割割割割割------------------

软件生命周期(生命周期)lifecycle

下列以传统开发方式来分

 1 计划时期:

1.1 软件定义

本阶段必须回答的关键问题是:要解决什么问题?

问题性质、工程目标和工程规模


1.2 可行性分析

本阶段必须回答的关键问题是:对上一个阶段所确定的问题是否有行的通的解决方法?

1.技术上是不是行的通,当前技术是否可以实现

2.经济上是不是行的通,划不划算,多少效益

3.操作者是不是行的通,后期维护费用,操作人员负担会不会很大

4.法律上是不是行的通,是否合法

 2 开发时期:

  2.1 需求分析

本阶段必须回答的关键问题是:为了解决这个问题,目标系统必须做什么?(主要的功能是什么)

1.该系统的功能是哪些?

2.该系统的性能如何?响应时间

本阶段得出系统逻辑模型 ,  数据流图(DFD)、数据字典(DD)的文档--软件需求说明书(规格说明书 /SRS)


2.2 系统设计

2.1.1. 总体设计

本阶段必须回答的关键问题是:概括的说,应该怎么实现目标系统?(实际上如何去实现)

本阶段得出系统结构图(SC) ,该图应该现实出设计程序未来的体系结构。

                 


2.1.2. 详细设计

本阶段必须回答的关键问题是:应该怎样具体的实现这个系统?(如何模块来实施)

本阶段得出确定实现模块功能所需要的算法和数据结构。


2.3 编码和单元测试

本阶段关键任务是写出正确的、容易理解、容易维护的程序模块。

根据目标系统的性质和实际环境,选取一种适当的语言,进行模块实现。

并测试编写出的每一个单元模块。

2.4 综合测试

本阶段的关键人物是通过各种类型的测试使软件达到预定要求。

最基本的测试是集成测试和验收测试。

主要是深入测试,从多方面使用多种工具去测试软件的功能。确保是否满足用户的需求。

3 运行时期:

3.1 软件维护

本阶段的关键任务是:通过各种鼻炎的维护活动使系统持久的满足用户的需求。

1.改正性维护

诊断和改正在使用过程中发现的软件错误

2.适应性维护

修改软件以适应环境的变化

3.完善性维护

根据用户的要求改进或扩充软件使它更完善

4.预防性维护

修改软件为将来的维护活动预先做准备


0 0