软件工程电子教案习题内容摘要:

的关系是:图书将由管理员登记入册,在登记图书时需要记录图书登记日期;图书将被读者借阅,在图书办理借阅时需要记录图书的借书日期和还书日期。 请使用 ER 图建立上述数据的数据模型。 解答: 9.某自动取款机系统工作过程大致如下: ( 1)在插入储蓄卡之前,自动取款机处于闲置状态。 ( 2)在 插入储蓄卡之后,自动取款机处于待命状态。 ( 3)在储户输入密码之后,系统将对密码进行验证。 若密码正确,自动取款机将进入工作状态;若密码不正确,自动取款机将提示储户输入密码 错误。 ( 4)在自动取款机进入工作状态以后,储户可选择“取款”或“退卡”。 若选择“取款”,自动取款机将进入取款状态;若选择“退卡”,自动取款机将退出储蓄卡,然后进入闲置状态。 ( 5)在自动取款机进入取款状态以后,储户可以输入取款金额,然后可选择“确定”或“取消”。 若选择“确定”,自动取款机将进入付款状态,在完成付款之后,自动取款机返回到取款 状态;若选择“取消”,自动取款机返回到取款状态。 请使用状态图描述该自动取款机的工作过程。 解答: 13 闲 置输 入 密 码待 命插 卡工 作验 证 密 码 [ 密 码 正 确 ][ 密 码 错 误 ]输 入 金 额取 款退 卡选 择 取 款付 款确 定 取 款取 消 取 款付 款 结 束 第 5 章 1.概要设计中的主要任务有哪些。 解答:制 订 规范、系统构架设计、软件结构设计、公共数据结构设计、安全性设计、故障处理设计、可维护性设计、编写文档、设计评审。 2.与集中式结构比较,客户机∕服务器结构具有哪些方面的优越性。 解答:客户机∕服务器依靠网络将计算任务分布到许多台不同的计算机上, 因此 结构灵活 , 便于系统逐步扩充。 3.说明三层客户 机∕服务器结构中应用服务器的作用。 解答:应用服务器的作用是使系统中的最易发生需求改变的应用逻辑处理被集中 在一起 ,因此给系统维护带来了很大的便利。 当用户应用规则发生变化时,需要改变的不是数目庞大客户端,而是一 台 或少数几 台 应用服务器。 4.说明 B∕ S 结构中 Web 服务器的作用。 解答: Web服务器的作用是 将信息表示集中到了专门的“ Web 服务器”上,因此可使客户端程序更加简化。 客户机上已经不需要专门的应用程序,只需要有一个通用的 Web 浏览器,就可以实现客户端数据的应用。 14 5.说明组件对象分布式结构的特点。 解 答:组件对象分布式结构就是通过组件使软件系统中的组件对象被分布到网络上的多台计算机上。 组件对象具有一些公共接口,能够向外提供服务,不同组件的对象之间可以通过公共接口相互通信和协同工作。 这是一种对称 式 分布结构,在这种结构中已经没有了客户机与服务器之间的界限,这些对象既可充当服务器,也可充当客户机,其角色只是取 决于它是在提供服务,还是在请求服务。 6.一家跨区域连锁销售企业需要开发一个“物流配送系统”,试说明其适合选择哪种结构的系统构架。 解答:为便于跨区域协作与管理,需要 B/S 结构 , 但考虑到企业高层数据汇总 、数据维护 的便利与工作性能, 部分后台程序有必要建立为 C/S 结构。 7.说明概要设计中模块抽象化的作用。 解答: 概要设计中的模块是一个抽象化的功能黑盒子,虽然它已是一个与软件实现直接相关的实体单元,已经可以看到它清晰的外观,但是却看不到 其 内部实现细节。 模块抽象化的作用是有利于模块功能得到更加清晰的定义,可提高模块的内聚 性。 8.说明模块内部信息隐蔽的作用。 解答:信息隐蔽是指每个模块的内部实现细节对于其他模块来说是隐蔽的,模块内部的数据、语句或过程等,不允许其他不需要这些信息的模块使用。 信息隐蔽的作用是使 每个模块相互隔离,提高模块 的 独立性。 9.上级模块 A 在调用下级模块 B 时需要返回一个标记 X,用 于 模块 A 中分支语句的判断条件。 这时的模块 A与模块 B 之间是什么耦合关系。 解答:控制耦合。 10.模块 A是写文件模块,需要向文件 F 写数据;模块 B 是读文件模块,需要从文件F 读数据。 这时的模块 A与模块 B 之间是什么耦合关系。 解答:公共耦合。 11.一些通用菜单模块属于哪种内聚形式。 解答:逻辑内聚。 12.模块 A 是数据查询模块,其模块内部包括输入查询条件、连接数据源、打开查询记录集、显示查询结果。 该模块属于哪种内聚 形式。 解答:顺序内聚。 13.某自动阅卷系统数据流图如图 539 所示。 该系统能够从卡片读入考生登记和答卷信息 ,能够对考卷评分 并 生 或 考生成绩,并能够根据考生登记数据和考生成绩数据产生成 15 绩单数据,由此打印靠山成绩通知单。 请按照面向数据流的结构映射方法,设计该系统的软件结构。 图 “自动阅卷系统”数据流图 解答: 读 答 题 卡检 验答 题 数 据答 题 卡答 题 数 据阅 卷 记 分有 效 答 题 数 据考 生 成 绩 数 据 表产 生成 绩 单 数 据成 绩 单 数 据 打 印 成 绩 单读 登 记 卡登 记 卡检 验登 记 数 据登 记 数 据保 存考 生 登 记有 效 登 记 数 据读 卡 卡 片 类 别考 生 登 记 数 据 表分 捡 卡 片 16 14.某银行储蓄系统的数据流图已在第 3 章习题 7 中要求画出。 请根据你所画出的数据流图设计该系统的软件结构。 解答: 17 15.某图书馆图书借阅系统的数据关系模型如图 540 所示。 请根据该数据库概念模型设计该数据库逻辑结构。 图 540 图书借阅系统数据关系模型 解答: 图 书 类 别P K 类 别 号类 别 说 明图 书 信 息P K 图 书 编 码F K 1 类 别 号书 名作 者出 版 单 位定 价图 书P K 图 书 序 号F K 1 图 书 编 码入 册 日 期借 阅 状 态读 者P K 读 者 编 号姓 名工 作 单 位身 份 证 号借 阅P K , F K 1 读 者 编 号F K 2 图 书 序 号借 书 日 期约 定 还 书 日 期 18 第 6 章 1.试说明面向对象中的类模块与传统结构化方法中的模块的区别。 解答:传统结构化方法中的模块是基于功能定义的,可用函数或过程表示 ,它是动态的,可直接调用。 面向对象中的类模块则是基于实体定义的,涉及实体的属性与行为 ; 类模块是对实体的抽象,因此是静态的,一般作为生 成 对象实例的模板。 2.试描述类的继承性与多态性的作用。 解答:类的继承性是指 上级父类能够把自己的属性、操作传递给下级子类 , 由此可以大大减少程序中的冗余信息。 可以使用从原有父类派生出新的子类的办法来修改软件,如改变类原有操作的算法,这时并不需要改变类原有的代码,而只是新建一个派生子类,然后在该派生子类中建立一个与父类方法同名而算法不同的方法。 因此, 通过类的继承性还可使软件获得更加有效的重用。 当需要开发一个新的应用系统时,可以通过继承而使原有的相似系统的功能获得利用 , 或者从类库中选取需要的类,然后再派生出新的子类,以实现新系统的 新功能。 多态性是指子类对象可以像父类对象那样使用,它们可以共享一个操作名,然而却有不同的实现方法。 也就是说,不同层次中的类,可以按照各自的需要,分别采用不同的方法实现这个共同的操作。 C++语言中,多态性是通过虚函数来实现的,可以 声 明名称、参数特征和返回值类型都相同的虚函数,但不同层次的类中的虚函数的实现算法却各不相同。 虚函数机制使得程序员能在一个类等级中使用相同函数的多个不同版本,在运行时刻才根据接收消息的对 象所属 的类,决定到底执行哪个特定的版本。 多态性增加了面向对象软件系统的灵活性,而且显著提高了软件的 可重用性和可扩充性。 当需要扩充系统功能或在系统中增加新的实体类时,只要派生出与新的实体类相应的新的子类,并在新派生出的子类中定义符合该类需要的虚函数,而无须修改原有的程序代码。 3.与传统结构化方法比较,面向对象方法具有哪些方面的优越性。 解答:( 1)跟现实世界更加接近;( 2)可使软件系统结构更加稳定;( 3)软件具有更好的可重用性;( 4)软件更加便于维护与扩充。 4.试描述 UML 建模过程。 解答: UML 的建模包括分析与设计这两个阶段。 其中分析阶段需要创建的模型 包括用例图、活动图、类分析图和序列图,设计 阶段需要创建的模型 包括 类设计图、协作图、状态图、构件图和部署图。 由于面向对象分析与设计采用了一体化的 UML建模工具,这使得分析阶段产生的一系列结果不仅成为了设计阶段的导入条件,并且诸多结果可以通过设计而进行补充,并逐步完善。 例 如 对于 类图,分析阶段只是建立了类的概念模型,主要分析系统中与数据有关的实体类,而实体类以外的界面类、控制类,则留到设计阶段解决。 基于 UML的建模过程 也 是一个增量迭代过程,需要多次反复,而使得软件系统不断趋于完善。 19 5.第 4章的 节曾使用数据流图分析了一个“工资管理系统”,其涉 及职工清单、档案工资、业绩工资、工资报表等诸多数据,涉及人事处、财务处和员工所在工作部门等多个业务部门。 现要求使用面向对象方法对该系统进行分析与设计,试建立有关该软。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。