- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向数据结构的设计 结构化开发方法是一种面向数据流、数据封闭性的开发方法,来源于程序的模块化和功能分解。面向数据结构的设计是将问题的数据结构转换为程序结构,着重于问题的数据结构,不强调模块定义。 Jackson系统开发方法是JSP的扩展,是一种面向数据结构的设计方法,其基本思想是先建立输入输出的数据结构,再将其转换为软件结构。这种方法适用于数据处理类问题,特别是企业管理类的软件系统。 面向数据结构的设计 程序逻辑构造(logical construction of programs, LCP)由Warnier开发,是建立在数据结构和过程结构之间关系上的方法,将I/O数据结构映射为软件详细过程表达。 Wariner-Orr方法是LCP的扩展,除了设计能力之外,还增加了分析能力。 Jackson System Development (JSD) 与SD的由DFD导出结构设计不同,JSD是以数据结构(data structure)为基础设计每个模块的处理过程。 分析的重点是构造于系统相关的现实世界,并建立现实世界的信息域模型,目标是生成软件的过程性描述。 JSD的特点:获得简单清晰的设计方案,因为这样的方案易于理解、易于修改。? JSD的设计原则:使程序结构同数据结构相对应。 A B C B C A = A Bo Co S A = S C B A = B A B* I 1、Jackson Diagram: 注意: 层次方框图H中的方框表示模块,而JD中的方框代表几个语句构成的简单操作; H表现调用关系,而JD表现组成关系。 Jackson System Development(JSD) 例:一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是:每扫描一行输入字符串之后,换行打印出这个字符串中的空格数,最后打印出文件中空格的总个数。 2、Jackson方法: Jackson System Development(JSD) 第1步:用Jackson图描述 I\O 的数据结构,包括顺序、选择和重复 正文文件 I 字符串* 字符* 空格O 非空格O I S 输入 输出表格 表格体 串信息* 字符串 空格数 I 输出 空格总数 第2步:在两个图中指出有直接因果关系(causality)、可以同时处理的单元(重复的次序,次数均相同) Jackson System Development(JSD) JSD 正文文件 I 字符串* 字符* 空格O 非空格O I S 输入 输出表格 表格体 串信息* 字符串 空格数 I 输出 空格总数 ? ? ? 经过程序处理由正文文件得到输出表格。 ? 每处理输入中一个字符串后就得到输出中一个串信息,二者重复次序和次数均相同。 ? 字符不与多字符组成的字符串对应。 ? 单个空格不能决定空格数。 正文文件 I 字符串* 字符* 空格O 非空格O I S 输入 输出表格 表格体 串信息* 字符串 空格数 I 输出 空格总数 统计空格 处理字符串* I 程序体 印总数 印字符串 印空格数 分析字符* 分析字符* I 分析字符串 处理空格o 处理非空格o S 注:顺序执行的处理中不允许混有重复执行或选择执行的处理。 第3步:Data structure Program structure 把有对应关系的单元合为一个处理框,画在相应的层次中(不同层以低层为准) 第4步:列出所有操作条件,并分配到上幅程序结构图中 第 7 讲 软件设计方法 体系结构设计 软件体系结构是软件系统中最本质的东西。 良好的体系结构必须是普适、高效和稳定的。 [BAS98]:软件的体系结构是系统的一个或多个结构,包含软件构件、构件对外可见的性质以及它们之间的关系。 体系结构是一种表示。 体系结构设计关注构件结构、构件的性质和交互的关系。 体系结构风格 style 体系结构风格包含: 一组构件(components)(如,数据库、计算模块)完成系统所需的某种功能; 一组连接子(connectors),能使构件间通信协调和合作; 约束(constraints),定义构件如何被集成,形成系统; 语义模型(semantic model),使得设计者通过分析构件的已知性质而理解系统的整体性质。 体系结构风格分类 数据为中心的体系结构 目标:实现数据的可集成性 共享数据可以是数据仓库或是黑板。 客户端 客户端 客户端 客户端 客户端 客户端 共享数据 体系结构风格分类 调用-返回体系结构 目标:系统的可更改性和可扩展性 主程序-子程序体系结构 将一个程序分层子部分 每个子节点都只由父节点控制 如远程过程调用系统 面向对象或抽象数据类型系统
文档评论(0)