- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章习题答案
1、软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。需求分析可以分为需求获取、需求分析与协商、需求建模、需求规约、需求验证。
需求分析过程的具体实现,在实践中有很多方法,不同的分析方法有自己独特的观点。然而,这些分析方法都遵循一组操作原则,这些原则包括以下内容:(1)必须能够表示和理解问题的信息域。(2)必须能够定义软件将完成的功能,把一个复杂问题按功能分解并可逐层细化。(3)必须能够表示软件的行为。(4)必须划分描述信息、功能和行为的模型,从而可以分层次地揭示细节。(5)分析过程应该从要素信息移向细节信息。
2、在获取需求前首先要建立需求获取人员即系统分析员与用户的顺畅的通信途径,与用户交谈,向用户提问题,通过用户访谈与会议、参观用户的工作流程、观察用户的操作和实例分析来获取需求。
3、数据流图(Data Flow Diagram,DFD)描述系统的逻辑模型,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况。数据流图的特点是:它是逻辑系统的图形表示,容易理解,是极好的通信工具,设计数据流图只需考虑系统必须完成的基本逻辑功能,不需要考虑如何实现这些功能,是软件设计很好的出发点。可以在软件生存周期的早起(可行性研究阶段)绘制数据流图,在生存周期的需求分析、概要设计等阶段不断进行改进、完善和细化。
4、数据字典(Data Dictionary,DD)用于定义数据流图中的各个成分的具体含义。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。数据字典由字典条目组成,每个条目描述数据流图的一个元素。字典条目可分成如下4类:数据流、文件、数据项(组成数据流和文件的数据)、加工。数据字典可以按上述的种类进行分类组织。
5、“销售管理系统”顶层数据流图
功能分析:系统接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。根据留底的订单进行销售统计,打印统计表给经理。
图1 销售管理系统顶层数据流图
第四章习题答案
1、软件设计是把软件需求变换成软件表示的过程,主要包括两个阶段:软件概要设计阶段和详细设计阶段。软件概要设计将软件需求转化为数据结构和软件的系统结构。详细设计将体系结构中的结构性元素转化为软件部件的过程性描述,得到软件详细的数据结构和算法。
2、在将软件的需求规约转换为软件设计的过程中,软件的设计人员通常采用模块化、抽象、信息隐藏和模块独立等原则。
3、①偶然内聚。如果一个模块的各部分之间没有联系,或者即使有联系,这种联系也是很松散的,就叫偶然内聚。例如,有时编写程序时,发现有一组语句在两处或多处出现,程序员为了节省空间,把它们组成一个新的模块,如果这组语句彼此间没有任何关系,这样就出现了偶然内聚。②逻辑内聚。如果把几个逻辑上相关的功能放在同一个模块中,每次被调用时,根据传送给模块的判定参数来确定模块应执行的功能,就叫逻辑内聚。例如,一个模块根据输入的控制信息来决定是从文件中读出一条记录,还是向文件写入一条记录;错误处理模块根据接收到的出错信号,显示出不同的出错信息等。在逻辑内聚的模块中,不同功能混在一起,即使局部功能的修改有时也会影响全局,因此,这类模块的修改比较困难。③时间内聚。如果一个模块包含的功能必须在同一时间内执行(例如,初始化模块和终止模块),就叫时间内聚。时间内聚在一定程度上反映了系统的某些实质,因此比逻辑内聚好一些。但是,时间内聚模块把很多功能、任务组合在一起,这给维护与修改造成了一定的困难。④过程内聚。如果一个模块内部的处理是想关的,而且这些处理必须以特定的次序执行,就叫过程内聚。⑤通信内聚。如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,就叫通信内聚。⑥顺序内聚。如果一个模块内的各个处理元素都和同一个功能密切相关,而且一个处理元素的输出数据是另一个处理元素的输入数据,就叫顺序内聚。⑦功能内聚。如果模块内所有处理元素都是完成某一具体功能必不可少的组成部分,或者说这些处理元素只完成一个单一的功能,就叫功能内聚。功能内聚是最高程度的内聚。
①非直接耦合。如果两个模块之间没有直接关系,例如它们从属于不同的模块
文档评论(0)