考点(6)软件需求分析
1.需求分析的任务
2.需求分析常用的工具
(1)数据字典是定义一个应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围 的共享仓库。
(2)数据流图。是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过 程、存储、外部世界之间的数据流或物质流。
(3)状态转换图。实时系统和过程控制应用程序可以在任何给定的时间内以有限的状 态存在。
(4)对话图。对话图描绘了系统中的对话元素和它们之间的导航连接。
(5)类图。类图是用图形方式叙述面向对象分析所确定的类及它们之间的关系。
3.需求分析的方法和步骤
需求分析的方法如下:
(1)理解当前的现实环境。
(2)将当前系统的具体模型抽象为当前的逻辑模型。
(3)分析新系统与当前系统逻辑上的差别,建立新系统的逻辑模型。
(4)确定新系统的人机界面和一些补充考虑的细节问题。
需求分析的步骤如下:
(1)沿数据流图回溯。
(2)用户复查。
(3)细化数据流图。
(4)修正开发计划。
(5)书写文档。
(6)审查和复审。
4.软件需求说明书
软件需求说明书的内容包括概述、数据描述(包括数据流图、数据字典、系统接口说明和内部接口)、功能描述(包括功能、处理说明和 设计的限制)、性能描述(包括性能参数、测二讼类、预期的软件响应和应考虑的特殊问题)、参考文献目录和附录等。
考点(7)软件系统设计
1.系统设计概述
系统设计一般分为总体设计和详细设计两个阶段。
2.总体设计
总体设计的任务是确定软件的总体结构。
总体设计的目标是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成 系统的每个程序的结构。
总体设计可以分为系统设计和软件结构设计。
总体设计的典型过程是设想供选择的方案,选取合理的方案,推荐最佳方案,功能分解,设计软件结构,数据库设计,制定测试计 划,书写文档,审查和复查。
3.软件的结构、过程和模块
(1)软件结构。是软件模块间关系的表示。
(2)软件结构的度量术语如下:
深度:是表示软件结构中控制的层数。
宽度:是软件结构内同一层次上的模块总和的最大值。
扇出:是一个模块直接控制的模块数。
扇入:是有多个上级模块直接调用一个模块。
(3)软件过程。软件过程用于描述每个模块的操作细节,同时也包括一个模块对下一层模块控制的操作细节。
(4)模块独立性。是设计的软件结构使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。模块独立性是 用藕合与内聚来度量的。
藕合:衡量不同模块彼此之间相互依赖的紧密程度;
内聚:衡量一个模块内部各个元素彼此结合的紧密程度。
4.面向数据流的设计方法
面向数据流的设计方法是把信息映射成软件结构,信息流的类型决定映射的方法。
(1)变换流是指信息沿输入通路进人系统,同时由外部形式变换成内部形式进人系统;信息通过变换中心,经加工处理后,经输出通路 变换成外部形式输出。
(2)事务流是指数据沿输入通路到达一个处理T,这个处理T根据输入数据的类型在若干个动作序列中选出一个来执行,这类数据流称 为事务流。
(3)面向数据流方法的设计过程是精化数据流图,区分是事务流还是变换流,根据设计准则精化软件结构,导出接口描述和全程数据结 构,复查,进人详细设计。
(4)变换分析指的是将变换流映射为变换结构。变换分析的目的是用一系列设计步骤,把具有变换流特点的数据流按预先确定的模式映 射成软件结构。
(5)事务分析。事务分析的设计步骤和变换分析设计步骤大致相似,差别仅在于从数据流图到软件结构的映射方法不同,它将事务中心 映射成为软件结构中发送分支的调度模块,将接收通路映射成为软件结构的接收分支。
(6)详细设计的任务是为软件结构图中的每一个模块确定所采用的算法和数据结构。
考点(8)程序设计
1.程序设计阶段的任务
编码阶段的任务是为每个模块编写程序,就是将详细设计的结果转换成某种程序语言的源程序,编译程序再将这些源程序转换成依赖 于具体机器的目标代码。
2.结构化设计的概述
结构化设计的基本要求是在详细设计阶段,所有的模块都只使用顺序、选择和循环3种基本控制结构。结构化设计的缺点是目标程序 所需要的存储容量和运行时间都有一些增加。
3.程序设计语言的选择
(l)程序设计语言。程序设计语言是编程者用于求解问题的工具。
(2)程序高级语言通常分为基本语言、结构化程序语言和专用语言。
(3)程序设计语言的选择。选择语言的方法是从所要解决的课题出发确定对语言的要求,并同时确定这些要求的相对重要性。
4.程序设计的方法
(1)模块化。是把一个较大的程序划分为若干个子程序,每一个子程序总是独立成为一个模块;每一个模块又可继续划分为更小的子模块。
(2)自顶向下。是先设计第1层,即顶层,然后步步深入,逐层细分,逐步求精,直到整个问题可用程序设计语言明确地描述出来为 止。
(3)自底向上。是先设计底层,最后设计顶层。
5.程序设计的步骤
(1)分析问题。
(2)建立数学模型。
(3)选择算法。
(4)编写程序。
(5)调试运行
(6)分析结果。
(7)写出程序的文档。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!