【实用软件工程】结构化设计

【实用软件工程】结构化设计

ID:40135387

大小:914.00 KB

页数:169页

时间:2019-07-22

【实用软件工程】结构化设计_第1页
【实用软件工程】结构化设计_第2页
【实用软件工程】结构化设计_第3页
【实用软件工程】结构化设计_第4页
【实用软件工程】结构化设计_第5页
资源描述:

《【实用软件工程】结构化设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章结构化设计第一节软件设计在开发阶段中的任务和地位第二节软件设计的概念和原则第三节结构化设计第四节人机界面设计第五节详细设计第六节面向数据结构的设计方法在软件需求分析阶段确定了要让所开发的软件“做什么”的问题,接下来就是实现软件的需求,解决“怎样做”的问题。软件设计就是处理“怎样做”的问题,它被定义为“应用各种技术和原理,对设备、过程或系统作出足够详细的描述,使之能够在物理上的以实现”。第一节软件设计在开发阶段中的任务和地位开发阶段由设计、编码和测试三个互相关联的基本活动组成,每个活动都按照某种方式进行信息变换。软件设计是开发活动的第一步,需求规格说明书

2、中对将要实现系统的信息、功能和行为方面的需求描述构成了软件设计的基础。从工程管理的角度看来,软件设计可划分为概要设计和详细设计两个阶段。首先做概要设计,将需求转化为软件系统结构和数据结构。然后详细设计,即过程设计软件结构设计数据设计过程(算法)设计一个独立的界面设计活动。软件设计包括软件结构设计是确定软件系统各主要部件之间的关系。数据设计是把信息描述转换为实现软件系统所要求的数据结构。过程(算法)设计是把结构部件转换成软件系统的过程性描述。编码是根据这种过程性描述编制代码。然后把生成的程序代码交由测试人员测试,最终得到完整有效的软件产品。软件设计是一个把软件

3、需求逐步转换为软件源代码的过程,它提供了软件的表示,使得软件的质量评价成为可能。软件设计还是将用户要求准确地转化为最终软件产品的唯一途径,它也是后续开发活动及软件维护的基础。因而,软件设计是开发阶段最重要的活动。第二节 软件设计的概念和原则一、模块化1、模块模块或组件是指具有一定功能的可以用名字调用的程序语句集合。例如,过程、函数、子程序和宏等都可作为模块。面向对象范型中的对象是模块,对象内的方法也是模块。2、模块化模块化是将软件划分成若干个相对独立的模块,而这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。模块化可以化繁为简,减少成本,但如果

4、模块分得过多,会增加模块的接口成本,反而增加软件的整体成本。所以模块化的程度应该是适量的。模块是由边界元素限定的相邻的程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符来代表它。像Pascal或Ada这样的块结构语言中的Begin…end对,或者C,C++和Java语言中的{…}对,都是边界元素的例子。因此,过程、函数、子程序和宏等,都可作为模块。面向对象范型中的对象(见第6章)是模块,对象内的方法也是模块。模块是构成程序的基本构件。模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体

5、,可以完成指定的功能满足用户的需求Meyer提出了五条标准,我们可以用这五条标准来评价一种设计方法定义有效的模块系统的能力。下面列出这五条标准。(1)模块可分解性如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。(2)模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。(3)模块可理解性如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。(4)模块连续性如

6、果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。(5)模块保护性如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最小。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的

7、程序员编写困难的模块。二、抽象抽象就是抽出事物的本质特性而暂时不考虑它们的细节。一个复杂的问题首先可以用一些高级的概念构造和理解,这些高级的概念又可以用一些低级概念构造和理解性,如此进行下去,直至最低层次的具体元素。这就是所谓的层次思维,即用层次的方式考虑和处理一个复杂的问题。最高抽象较低级抽象较低级抽象具体基本元素…低级概念构造和理解性层次思维软件工程的每一步都是对软件的较高一级抽象层的解的一次具体化的描述。在软件计划阶段,软件系统被描述为整个计算机系统中的一个部分。在软件需求分析阶段,软件用问题域约定的大家所熟悉的习惯用语描述。从概要设计向详细设计过度

8、时,抽象级别再次被降低。编码完成后就达到最低的抽象层

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。