软件设计综述报告.doc
《软件设计综述报告.doc》由会员分享,可在线阅读,更多相关《软件设计综述报告.doc(14页珍藏版)》请在咨信网上搜索。
1、软件设计综述报告软件设计包括一套原理、概念和实践。明确软件设计目标是软件设计的第一步。软件设计目标明确了最终的软件系统应该拥有的质量属性。软件设计的目标涉及性能、可靠性、成本、维护等多个方面的目标。1.1软件设计的目标 软件设计的目标应从用户那里得到,确定了软件最终应拥有的功能。可以从需求规格说明书中选择重要的质量属性,作为设计目标,如性能目标、可靠目标等。而成本和维护方面往往从客户和供应商那里得到。1.1.1性能准则 性能准则包括对系统速度和空间的需求。系统应该是能够发现请求并及时响应这些请求。1.1.2可靠性准则 可靠性准则决定了对减少系统崩溃以及随后所造成危害所做的努力程度。1.1.3成
2、本准则 成本准则包括开发、配置和管理系统的成本。当新系统更新旧系统时,应该考虑确保向后兼容,或减少新系统移植的开销,同时需要考虑在多种不同成本之间做出权衡。1.1.4维护准则 维护准则确定在开发完成后再改变系统的困难程度。这些准则很难进行优化和事先规划,因为很少能够清晰的给出项目成功的程度和系统的可操作的时间周期。1.1.5最终用户准则 最终用户准则包括从用户的视点出发所需的属性,但并没有覆盖性能准则和可靠性准则。1.2软件设计的任务 软件设计的主要任务是要解决如何做的问题,要在需求分析的基础上,建立各种设计模型,并通过对设计模型的分析和评估,确定模型是否满足需求。软件设计是将用户需求准确的转
3、化成为最终的软件产品的唯一途径,在需求到构造之间起到了桥梁作用。1.2.1软件设计的阶段和任务 从工程管理的角度将软件设计分为两个阶段:概要设计阶段和详细设计阶段。从技术的角度,采用的方法不同,设计的内容也会有所不同。传统的结构化的方法将软件设计划分为体系结构设计、数据设计、接口设计和过程设计。(1) 体系结构设计:体系结构设计定义软件的主要结构元素及其之间的关系。体系结构设计表可以从系统规格说明、分析模型及体系结构的风格导出。(2) 类设计:类设计对分析阶段所建立的分析类模型进行细化,转化为设计类的实现及软件实现所要求的数据结构。(3) 数据设计:传统方法主要根据需求阶段所建立的实体-关系图
4、来确定软件设计的文件系统的结构及数据库的表结构。(4) 接口设计:接口设计描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口。(5) 构件级设计:构件级设计将软件体系结构的结构元素变换为对软件构件的过程性的描述。接口设计类设计(00方法)详细设计过程设计(传统方法)构件级设计(000方法)需要设计体系结构设计数据设计管理观点技术观点图1 从技术和管理的角度看设计的关系(6) 过程设计:过程设计的主要工作是确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达式来描述各种算法。1.2.2结构化设计与结构化分析的关系 软件设计必须依据对软件的需求来进行,结构化分析的结果为
5、结构化设计提供了最基本的输入信息。(1)研究、分析和审查数据流图。根据穿越系统边界的信息流初步确定系统与外部接口。(2)根据数据流图决定问题的类型。数据处理问题通常有两种类型:变换型和事务型。针对两种不同的类型分别进行分析处理。(3)由数据流图推导出系统的初始结构图。(4)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。(5)根据分析模型中的实体关系图和数据字典进行数据设计,包括数据库设计或数据文件的设计。(6)在设计的基础上,依旧分析模型中的加工规格说明、状态转换图进行过程设计。(7)制定测试计划。结构化设计与结构化分析的关系如图。左面是结构化分析阶段所建立的分析模版
6、,右面为建立的设计模型。图2 结构化设计与结构化分析关系实体- 数据关系图 流图 数据字典状态-迁移图控制规格说明加工规格说明数据对象描述体系结构设计接口设计数据设计过程设计1.3模块结构与数据结构 软件的结构包括两部分,一部分为软件的模块结构,另一部分为软件的数据结构。虽然这两部分是有密切联系的。但是在传统方法中,这两部分的设计是分开进行的。1.3.1模块结构表示 一般通过功能划分过程来完成软件结构设计。功能划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每一部分用一个或几个软件模块加以解决。一个软件系统通常由很多模块组成,结构化程序设计的函数和子程序都可称为模块。它是程
7、序语句按逻辑关系建立起来的组合体。对于大的模块,一般还可以继续分为功能独立的较小模块,将不能再分解的模块称为原子模块。通常,可以按照在软件系统中的功能将模块分为四种类型。(1) 传入模块:传入模块的功能是取得数据或输入数据,经过某些处理,再将其传送给其他模块。(2) 传出模块:传出模块的功能是输出数据,在输出之前可能进行某些处理,数据可能被输出到系统的外部,也可能会输出到其他模块进行进一步的处理,但最终的目标是输出到系统的外部。(3) 变换模块:也叫加工模块,从上级调用模块取得数据,进行特定的处理,转换成其他形式,再将加工结果返回给调用模块。(4) 协调模块:协调模块本身一般不对数据进行加工,
8、如数据X和Y,其主要功能是通过调用、协调和管理其他模块来完成特定的功能,如结构化程序设计中的主程序。1.3.2模块结构模块结构表明了程序各个部件的组织情况,通常是树状结构和网状结构。是软件的过程的表示,并没有表明软件的某些过程性特征。(1) 树状结构。位于最上层的的根部是顶层模块,他是程序的主模版。与其联系的有若干下属模块,各下属模块还可以进一步引出更下一层的下属模块。由下图可知,树状结构的特点是:整个结构只有一个顶层模块,上层模块调用下层模块,同一层模块之间不可相互调用。(2) 网状结构。网状结构中,任意的两个模块间都可以有调用关系。不存在上下级模块关系,分不出层次;任何两个模块都是平等的,
9、没有从属关系。ADCBHIGABCEFD图4网状结构图3树状结构1.3.3结构图结构图是精确表达模块结构的图形标识工具,可以清楚的反映软件模块之间的层次调用关系和联系。严格定义了各个模块的名字、功能和接口,集中反映了设计思想。(1) 模块的调用关系接口:在结构图中,两个模块之间用单向箭头连接。箭头从调用模块指向被调用模块,表示调用模块调用了被调用模块。被调用模块执行完成后,控制又返回到调用模块。(2) 模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息送给调用模块。为了表示在模块之间
10、传递的数据或控制信息,在连接模块的箭头旁边给出短箭头,并且用尾端带有空心园的短箭头表示数据信息,用尾端带有实心园的短箭头表示控制信息。(3) 两个辅助符号:如图所示,当模块A有条件的调用另一个模块B时,在模块A的箭头尾部标以一个菱形符号;当一个模块A反复的调用模块C和模块D时,在调用箭头尾部则标一个菱形符号。ABCD图5 条件调用和循环调用的表示(4) 结构图的状态特征。图所表示的是一个软件系统的分层模块结构图。上级模块调用下级模块,他们之间存在着主从关系,同一层模块之间并没有这种主从关系。模块间的连线:模块之间的调用箭头也可用没有箭头方向的直线表示,在用直线表示时,用模块所处的位置表示他们之
11、间的调用关系,位于上面的模块调用位于下面的模块。结构图的深度:在多层次的结构图中,模块结构的层次数称为结构图的深度。结构图的深度在一定程度上反映了程序结构的规模和复杂程度。结构图的宽度:结构图中同一层模块的最大模块数称为结构图的宽度。模块的扇入和扇出:扇出表示一个模块直接调用的下属模块数目,扇入则定义为调用一个给定的模块的调用模块的数目。1.3.4数据结构的表示数据结构是数据的各个元素之间的逻辑关系的一种表示。数据与程序是密不可分的,实现相同的功能,采用的数据结构不同,底层的算法也不相同。数据结构设计应先确定数据的组织、存取方式、相关程度,以及信息的不同处理方法,典型的数据结构种类是有限的。所
12、谓的标量项就是单个的数据元素,如一个布尔量、整数、实数或一个字符串,可以通过名字对他们进行存取。基本数据结构可以构成其他数据结构可以用包含标量项、向量或N维空间的多重链表来建立分层树状结构和网状结构,并实现多种集合的存储。1.4创建良好的设计的原则1.4.1分而治之和模块化 分而治之就是将大型复杂的问题分解为许多容易解决的小问题。模块化是将整体软件划分成独立访问的模块,不同的模块通常是具有不同功能或职责。每个模块可以独立的开发、测试,最后组装成完整的软件。一个模块的规模应该由它的功能和用途决定,并不是分解的越小越好。存在一个模块个数M,使得开发成本达到最小。M总的软件成本连接成本最小成本范围成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 综述 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。