- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计综述报告
软件设计综述报告
软件设计包括一套原理、概念和实践。明确软件设计目标是软件设计的第一步。软件设计目标明确了最终的软件系统应该拥有的质量属性。软件设计的目标涉及性能、可靠性、成本、维护等多个方面的目标。
1.1软件设计的目标
软件设计的目标应从用户那里得到,确定了软件最终应拥有的功能。可以从需求规格说明书中选择重要的质量属性,作为设计目标,如性能目标、可靠目标等。而成本和维护方面往往从客户和供应商那里得到。
1.1.1性能准则
性能准则包括对系统速度和空间的需求。系统应该是能够发现请求并及时响应这些请求。
1.1.2可靠性准则
可靠性准则决定了对减少系统崩溃以及随后所造成危害所做的努力程度。
1.1.3成本准则
成本准则包括开发、配置和管理系统的成本。当新系统更新旧系统时,应该考虑确保向后兼容,或减少新系统移植的开销,同时需要考虑在多种不同成本之间做出权衡。
1.1.4维护准则
维护准则确定在开发完成后再改变系统的困难程度。这些准则很难进行优化和事先规划,因为很少能够清晰的给出项目成功的程度和系统的可操作的时间周期。
1.1.5最终用户准则
最终用户准则包括从用户的视点出发所需的属性,但并没有覆盖性能准则和可靠性准则。
1.2软件设计的任务
软件设计的主要任务是要解决如何做的问题,要在需求分析的基础上,建立各种设计模型,并通过对设计模型的分析和评估,确定模型是否满足需求。软件设计是将用户需求准确的转化成为最终的软件产品的唯一途径,在需求到构造之间起到了桥梁作用。
1.2.1软件设计的阶段和任务
从工程管理的角度将软件设计分为两个阶段:概要设计阶段和详细设计阶段。从技术的角度,采用的方法不同,设计的内容也会有所不同。传统的结构化的方法将软件设计划分为体系结构设计、数据设计、接口设计和过程设计。
体系结构设计:体系结构设计定义软件的主要结构元素及其之间的关系。体系结构设计表可以从系统规格说明、分析模型及体系结构的风格导出。
类设计:类设计对分析阶段所建立的分析类模型进行细化,转化为设计类的实现及软件实现所要求的数据结构。
数据设计:传统方法主要根据需求阶段所建立的实体-关系图来确定软件设计的文件系统的结构及数据库的表结构。
接口设计:接口设计描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口。
构件级设计:构件级设计将软件体系结构的结构元素变换为对软件构件的过程性的描述。
过程设计:过程设计的主要工作是确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达式来描述各种算法。
1.2.2结构化设计与结构化分析的关系
软件设计必须依据对软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息。
(1)研究、分析和审查数据流图。根据穿越系统边界的信息流初步确定系统与外部接口。
(2)根据数据流图决定问题的类型。数据处理问题通常有两种类型:变换型和事务型。针对两种不同的类型分别进行分析处理。
(3)由数据流图推导出系统的初始结构图。
(4)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。
(5)根据分析模型中的实体关系图和数据字典进行数据设计,包括数据库设计或数据文件的设计。
(6)在设计的基础上,依旧分析模型中的加工规格说明、状态转换图进行过程设计。
(7)制定测试计划。
结构化设计与结构化分析的关系如图。左面是结构化分析阶段所建立的分析模版,右面为建立的设计模型。
1.3模块结构与数据结构
软件的结构包括两部分,一部分为软件的模块结构,另一部分为软件的数据结构。虽然这两部分是有密切联系的。但是在传统方法中,这两部分的设计是分开进行的。
1.3.1模块结构表示
一般通过功能划分过程来完成软件结构设计。功能划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每一部分用一个或几个软件模块加以解决。一个软件系统通常由很多模块组成,结构化程序设计的函数和子程序都可称为模块。它是程序语句按逻辑关系建立起来的组合体。对于大的模块,一般还可以继续分为功能独立的较小模块,将不能再分解的模块称为原子模块。通常,可以按照在软件系统中的功能将模块分为四种类型。
传入模块:传入模块的功能是取得数据或输入数据,经过某些处理,再将其传送给其他模块。
传出模块:传出模块的功能是输出数据,在输出之前可能进行某些处理,数据可能被输出到系统的外部,也可能会输出到其他模块进行进一步的处理,但最终的目标是输出到系统的外部。
变换模块:也叫加工模块,从上级调用模块取得数据,进行特定的处理,转换成其他形式,再将加工结果返回给调用模块。
协调模块:协调模块本身一般不对数据进行加工,如数据X和Y,其主要功能是
文档评论(0)