5、软件工程过程
|
需求分析 |
设计 |
|
体系结构设计 |
详细设计 |
||
概念和任务 |
通过开发人员与用户的交流讨论,准确获得用户对系统的具体要求,分析并理解用户究竟要求系统做什么 |
软件体系结构设计、数据结构和数据库设计、系统可靠性安全性设计、编写文档并参加复审,可使用的工具有HIPO(层次图加输入/处理/输出图)图和结构(SC)图 |
确定每个模块的具体算法、内部数据结构及数据库的物理结构、确定模块接口的具体细节,为每个模块设计测试用例、编写文档参加复审。 |
步骤 |
调查研究---去除非本质因素—描述需求—编些需求分析规格说明书,进行需求复查 |
|
|
原则 |
1、 能够表达和理解问题的数据域和功能域 2、 能够将复杂问题分解化简 3、 能够给出系统的逻辑表示和物理表示 |
1、 降低模块的偶合性,提高模块内聚性 2、 保持适中的模块规模 3、 模块应具有高扇入和适当扇出,扇出最优为3-4个 4、 软件结构中的深度和宽度不宜过大 5、 模块的作用域应处于其控制域范围内 6、 尽量降低模块接口复杂性 |
|
方法 |
1、 结构化分析方法(SA):面向数据流需求分析方法,运用“分解”和“抽象”两个基本手段,采用“自顶向下、逐层分解”的分析思路 2、 组成为一套分层的数据流图,一本数据字典、一组小说明、补充材料 |
模块化设计方法:较大的软件系统由多个模块组成,一个模块有输入和输出、特定功能、内部数据和程序代码等4个的特定。其中结构化设计方法以数据流图为基础构成模块;Parnas以信息隐蔽为原则建立模块,Jackson以数据结构为基础建立模块 |
|
详细内容 |
1、 数据流图,数据流的源点火终点、数据流、加工或处理、数据存储 2、 数据字典是关于数据流图中各种成分详细定义的喜讯你级和,可按说明对象分为数据流条目、数据项条目、数据文件条目、数据加工条目 3、 小说明是详细描述系统中每个加工所完成的操作,一般使用结构化语言(顺序结构、选择结构、循环结构)、判定表、判定树表示 4、 其他补充:确定设计限制、确定验收准则、初步编写《用户手册》 |
1、 结构化设计方法:将系统设计成有相对独立且功能单一的模块组成的机构,使用结构图(sc)描述,包括模块、调用和数据。从数据流图到处结构图有变换型和事务型两种。 2、 Parnas方法:首先考虑可能发生的问题,预先采取措施提高软件可靠性和可维护性。一个模块将自身内部信息向其他模块隐蔽起来,以避免其他模块不恰当的访问和修改,只有对那些为了完成系统功能所必需的数据交换才能被允许在模块间进行。 |
1、 SP方法:结构化程序设计方法,任何程序逻辑都可以用顺序、选择和循环三种结构表达。详细执行过程可按自顶向下逐步细化的方式确定。顺序、选择IF-THEN-ELSE和循环DO-WHILE为三种基本结构,DO-UNTIL循环结构和多分支选择结构DO-CASE作为补充结构 2、 Jackson方法,面向数据结构的方法,代表性的是Jackson和Warnier提出的LCP方法 °表示选择,*表示循环。形成数据结构图 3、 包括程序流程图、N-S(盒)图、PAC(问题分析)图、PDL(过程设计语言) |
各省软考办 | ||||||||||