二级公共基础知识教程第3章下

二级公共基础知识教程第3章下,第1张

二级公共基础知识教程第3章下,第2张

3.3结构化设计方法
一、软件设计的基本概念
1。软件设计基础
软件设计是软件工程的重要阶段,是将软件需求转化为软件表示的过程。软件设计的基本目标是以一种更加抽象和概括的方式确定目标系统如何完成预定的任务,即软件设计就是确定系统的物理模型。
软件设计的重要性和地位可以概括为:
①软件开发阶段(设计、编码、测试)占软件项目开发总成本的绝大部分,是软件开发中形成质量的关键五一;
②软件设计是开发阶段最重要的步骤,也是将需求准确转化为完整的软件产品或系统的唯一途径;
③软件设计所做的决策最终会影响软件实现的成败;
④设计是软件工程和软件维护的基础。
从技术角度来说,软件设计包括软件结构设计、数据设计、界面设计和流程设计。其中,结构设计是定义软件系统主要组件之间的关系;数据设计是将分析过程中创建的模型转换为数据结构的定义;接口是描述如何在软件内部、软件和协作系统之间以及软件和人之间进行通信。过程设计是将系统的结构组件转换成软件的过程描述。
从项目管理的角度来看,软件设计分两步完成:概要设计和详细设计。概要设计(也称结构设计)将软件需求转化为软件架构,确定系统级接口、全局数据结构或数据库模式;详细设计和建立各模块的实现算法和局部数据结构,用适当的方法表达算法和数据结构的细节。
软件设计的一般流程是:软件设计是一个迭代的过程;一是进行高层次的结构设计;低层流程设计之后;穿插数据设计和界面设计。
2。软件设计的基本原则
软件设计遵循软件工程的基本目标和原则,确立软件设计中应遵循的与软件设计相关的基本原则和概念。
(1)抽象
抽象是一种思维工具,是在不考虑其他细节的情况下,提取事物本质的共同特征。当在软件设计中考虑模块化解决方案时,可以确定多个抽象层次。抽象层次从概要设计逐渐下降到详细设计。软件概要设计中的模块分层也是从抽象到具体逐步分析和构建的。
(2)模块化
模块化是指把一个要开发的软件分解成几个小而简单的部分。例如过程、函数、子程序等。在高级语言中。每个模块可以完成一个特定的子功能,每个模块可以通过一定的方法组装成一个整体,从而实现整个系统的功能。模块化是指在解决一个复杂问题时,将软件系统从上到下逐层划分成若干模块的过程。
为了解决复杂的问题,在软件设计中必须对整个问题进行分解,以降低复杂性,这样可以减少开发工作量,降低开发成本,提高软件生产率。但是划分的模块越多越好,因为会增加模块之间接口的工作量,所以划分模块的层次和数量要避免过多或过少。
(3)信息隐藏
信息隐藏是指一个模块中包含的信息(进程或数据)不能被其他不需要这些信息的模块访问。
(4)模块独立性
模块独立性是指每个模块只完成系统要求的独立子功能,与其他模块接触最少,接口简单。它是评价设计质量的重要手段。衡量软件模块独立性、耦合性和内聚性是两个定性的度量指标
○1内聚性:内聚性是衡量一个模块中的元素相互结合的紧密程度。内聚性是从功能的角度来衡量模块内部的连接。
衔接有以下几种,它们之间的衔接顺序由弱到强:
偶然衔接逻辑衔接时间衔接过程交际衔接顺序衔接功能衔接
衔接是信息隐蔽和本地化概念的自然延伸。一个模块越内聚,它就越独立。作为软件结构设计的设计原则,要求一个模块的内部具有很强的内聚性,其组成部分之间关系紧密。
○2耦合性:耦合性是衡量模块之间相互连接紧密程度的指标。
耦合性取决于各个模块之间接口的复杂程度、调用方式以及通过接口传递什么信息。耦合可以分为以下几种,它们之间的耦合程度排序如下:
内容耦合:如果一个模块直接访问另一个模块的内容,这两个模块称为内容耦合。
公共耦合:如果一组模块都可以访问同一个全局数据结构,那么它们之间的耦合称为公共耦合。
外部耦合:当一组模块都访问同一个全局简单变量(而不是同一个全局数据结构)并且不通过参数表传递全局变量的信息时,称为外部耦合。
控制耦合:如果一个模块明显地将初始数量、名称等信息发送给另一个模块来控制另一个模块的功能,则称为控制耦合。
标签耦合:如果两个以上的模块需要某种其他的数据结构子结构,则不使用其他的全局变量,而是使用记录转移的方法,即通过数据结构在两个模块之间改变信息。这种耦合被称为标签耦合。
数据耦合:如果一个模块访问另一个模块,被访问模块的输入输出都是数据参数,即两个模块通过数据参数交换信息,那么这两个模块就是数据耦合。
间接耦合:如果两个模块没有直接关联,它们之间的连接完全是通过主模块的控制和调用来实现的,那么这两个模块就叫做间接耦合。不耦合的独立性。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 二级公共基础知识教程第3章下

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情