「网络工程师」-系统开发和项目管理-软件开发和设计

目录

1、软件设计阶段

2、软件生存周期模型

3、软件风险

4、软件可靠性

5、耦合性


1、软件设计阶段

需求分析阶段、概要设计阶段、详细设计阶段、编码阶段
需求分析阶段的任务主要是解决系统做什么的问题,即弄清楚问题的要求,包括需要出入什么数据,要得到什么结果,最后应输出什么;
概要设计的主要任务是把需求分析得到的结果转换为软件结构和数据结构,即将一个复杂系统按功能进行模块划分、建立模块好的层次结构即调用关系、确定模块间的接口及人机界面、确定数据的结构特性、以及数据库的设计等;
详细设计是在概要设计的基础上更细致的设计,它包括具体的业务对象设计、功能逻辑设计、界面设计等工作。详细设计是系统实现的依据,需要更多地考虑设计细节;
编码即编写程序代码,具体实现功能。

2、软件生存周期模型

软件生存周期模型有:瀑布模型、演化模型、螺旋模型、喷泉模型等。

瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目的模型;
V模型是瀑布模型的一种演变模型,将测试和分析与设计关联进行,加强分析与设计的验证;
原型模型是一种演化模型,通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进;
演化模型特别适用于对软件需求缺乏准确认识的情况;
螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析。

3、软件风险

软件风险一般包括不确定性和损失。

notes:

救火和危机管理是对不适合但经常采用的软件风险管理策略;
已知风险和未知风险是对软件风险进行分类的一种方式;
员工和预算是在识别项目风险时需要识别的因素。

4、软件可靠性

软件产品的可靠性取决于潜在错误的数量、潜在错误的位置以及软件产品的使用方式。

5、耦合性

软件产品遵从高内聚、低耦合。

软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合度越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。
耦合性由低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合度最弱,模块独立性最强;

数据耦合:一个模块访问另一模块,彼此间通过简单的数据参数来交换输入、输出信息。这里的简单数据参数不同于控制参数、公共数据结构或外部变量;

标记耦合:如一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,不是简单变量;

控制耦合:指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。这种耦合对系统的影响较大,它影响接收控制流模块的内部运行;

外部耦合:一组模块都访问同一全局简单变量,而且不通过参数表传递该全局变量的信息,则称之为外部耦合;

公共耦合:一组模块都访问同一个公共数据环境。该公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等;

内容耦合:当一个模块直接修改或操作另一个模块的数据时,就发生了内容耦合。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。