系统架构师学习笔记-系统开发基础知识(二)
目录 系统规划与问题定义需求工程软件设计软件测试 软件维护软件开发环境与工具 系统规划与问题定义软件系统的总体规划包括以下阶段:1. 对当前系统进行初步的调查。2. 分析和确定系统目标。3. 分析子系统的组成以及基本功能。4. 拟定系统的实施方案。5. 进行系统的可行性分析。6. 编写可行性报告。 需求工程需求...
目录
系统规划与问题定义
软件系统的总体规划包括以下阶段:
1. 对当前系统进行初步的调查。
2. 分析和确定系统目标。
3. 分析子系统的组成以及基本功能。
4. 拟定系统的实施方案。
5. 进行系统的可行性分析。
6. 编写可行性报告。
需求工程
需求工程是包括创建和维护系统需求文档所必需的一切活动的过程,可分为需求开发和需求管理两大工作。
需求定义:
需求定义的过程就是形成需求规格说明书的过程,通常有两种需求定义方法:严格定义方法、 原型方法。
严格定义方法:严格定义(预先定义)是目前采用较多的一种需求定义方法。在采用严格定义的传统的结构化开发方法中,各个工作阶段排列成一个理想的线性开发序列,在每一工作阶段中,都用上一阶段所提供的完整、严格的文档作为指导文件,因此它本质上是一种顺序型的开发方法。
原型方法:原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。
软件设计
模块的内聚类型分为7种,根据内聚度从高到低的排序:
功能内聚 | 完成一个单一功能,各个部分协同工作,缺一不可 |
顺序内聚 | 处理元素相关,而且必须顺序执行 |
通信内聚 | 所有处理元素集中在一个数据结构的区域上 |
过程内聚 | 处理元素相关,而且必须按特定的次序执行 |
瞬时内聚 | 所包含的任务必须在同一时间间隔内执行(如初始化模块) |
逻辑内聚 | 完成逻辑上相关的一组任务 |
偶然内聚 | 完成一组没有关系或松散关系的任务 |
模块的耦合类型分为7种,根据耦合度从低到高排序:
非直接耦合 | 没有直接联系,互相不依赖对方 |
数据耦合 | 借组参数表传递简单数据 |
标记耦合 | 一个数据结构的一部分借助于模块接口被传递 |
控制模块 | 模块间传递的信息中包含用于控制模块内部逻辑的信息 |
外部耦合 | 与软件以外的环境有关 |
公共耦合 | 多个模块引用同一个全局数据区 |
内容耦合 | 一个模块访问另一个模块的内部数据; |
软件测试
测试是对软件质量的度量:
1. 软件测试是为了发现错误而执行程序的过程。
2. 测试是为了证明程序有错,而不是证明程序无错误。
3. 一个好的测试用例在于它能发现至今未发现的错误。
4. 一个成功的测试是发现了至今未发现的错误的测试。软件测试只是软件质量保证的手段之一,不能单凭测试来保证软件质量。
动态测试指通过运行程序发现错误,分为:
黑盒测试法:黑盒测试又称为功能测试或数据驱动测试。
白盒测试法:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
灰盒测试法:灰盒测试是一种介于白盒测试与黑盒测试之间的测试,考虑了用户端、特定的系统知识和操作环境,在系统组件的协同性环境中评价应用软件的设计。
软件维护
软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充和压缩的容易程度。目前广泛用来衡量程序可维护性的因素:可理解性、可测试性和可修改性等。
软件开发环境与工具
软件开发工具:软件开发工具是指用于辅助软件开发过程活动的各种软件,包括建模工具、分析设计工具、编程工具、测试工具、项目管理工具等。
更多推荐
所有评论(0)