软件工程及实践[窦万峰]第4章 软件设计.pptVIP

软件工程及实践[窦万峰]第4章 软件设计.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSD方法的设计过程主要有以下5个步骤。 (1)分析并确定问题的输入和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。注意对应关系是指有直接的因果关系,有相同的数据单元(重复出现的数据单元必须有相同的重复次序和次数)。 (3)根据下述规则从数据结构的Jackson图导出程序结构的Jackson图。 (4)列出所有的操作和条件(包括分支条件和循环条件),并把它们分配到程序结构图的适当位置。 (5)用某种形式的伪码给出程序结构图对应的过程性描述。 【案例4.4】 统计文件空格数并输出统计 问题描述:一个由若干个记录组成的正文文件,每个记录是一个字符串,要求统计每个记录中空格字符的个数和整个文件中的空格总数。统计输出格式为每复制一行字符串之后,另起一行输出该字符串的空格数,最后输出整个文件的空格总数。 分析:用Jackson图描述正文文件和输出表格的数据结构,如图4-21所示。 设计:用Jackson图描述统计文件空格数的程序结构,如图4-22所示。 把以上所有操作和条件分配到程序结构图的适应位置,得到最终的程序处理结构Jackson图,如图4-23所示。 最后,根据图4-23的结构特征给出用伪码描述的程序处理过程如下。 统计空格 seq 打开文件 读入字符串 Totalsum = 0 程序体 iter until文件结束 … 程序体end 打印总数seq 打印出空格总数 打印总数end 关闭文件 停止 统计空格end 2.问题定义和数据流描述 【案例4.5】 图书馆管理系统设计 图书馆系统的借/还书功能数据流图在本书3.4.4节的图3-9和图3-10中已经给出,这是一个复杂的混合流类型。对借/还书处理总体是一个事务型数据流,其中可以分为借书、还书、续借和预约4个部分,在每个具体事务处理的时候都涉及变换型的数据流。例如,在借书功能里包括输入书号和借书证号,通过变换处理最后显示借书成功。 3.系统软件结构图 【案例4.5续】 图书馆管理系统设计 (1)图书馆系统总体结构图(管理员角度)。 从图书馆的管理员角度来看,系统主要完成用户管理、图书管理、图书流通和系统设置等子系统。图4-24给出了从管理员角度来看的图书馆系统总体结构图。 从图书馆的用户角度来看,系统主要完成图书续借、图书预约、图书查询和个人信息查询等功能。图4-25给出了从图书馆用户的角度来看的图书馆系统总体结构图。 (2)图书流通子系统。 图书流通子系统的总体软件结构图如图4-26所示。 借书管理模块完成图书借阅功能,其软件结构图如图4-27所示。借书界面模块显示用户信息和所借书图书信息。 考虑到借书管理模块中的多个子模块都要读取数据库表,因此可以将通用的图区数据表模块加到低层以便调用。这样可以减小模块与数据库的耦合性,提高模块的内聚性。图4-28所示为借书管理模块的软件结构详细图。 4.6.1 面向对象设计过程 1.逻辑架构 层是对类、包或子系统的甚为粗粒度的分组,具有对系统主要方面加以内聚的职责。并且层按照“较高”层(如用户界面层)可以调用“较低”层的服务,而反之则不行的方式组织。在面向对象的系统中通常包括如下3层。 (1)用户界面层:处理用户交互信息。 (2)应用逻辑和领域对象层:表示领域概念的软件对象,这些对象实现了应用需求,如计算销售总额。 (3)技术服务层:提供支持性技术服务的常用对象和子系统,如数据库接口或错误日志。这些服务通常是独立于应用的,也可以在多个系统中复用。 2.设计模型 域类描述只是一个“草图”状态,定义的属性和操作不是最后的版本,只是在“当前”看来这些属性和操作是比较合适的,某些域类的状态还需要用状态图进一步分析。 图书馆系统商业域类模型描述如图4-29所示。 包模型的描述工具是包图,包图由包和包之间的联系组成。通常,简单描述包可直接在大矩形中给出包的名称。如果包中还包含了其他子包,则在小矩形中给出包的名称,而大矩形中给出所包含的子包。包之间的关系可以用直线,或者带箭头的直线表示。例如,图4-30和图4-31分别为图书馆系统和图书馆流通子系统体系结构的包图描述。 3.对象接口描述 对象和接口之间没有必要是简单的一对一的关系,同一个对象可能有多个接口。从不同角度观察对象,可以得到不同的接口。设计对象接口关系的目的是如何详细描述一个对象或一组对象的接口细节,这就需要定义服务目标和语义。接口可以用UML中的类图形式描述,但是没有属性部分;另外,UML的格式标记“interface”中必须包含名字部分。 例如,图书馆系统中借书者的接口可以描述如下: interface borrower { public void borrower(

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档