软件工程教学课件.pptVIP

  1. 1、本文档共570页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
根据相关教材和网络资源整理制作,可作为授课教师的参考资料和专业学生、从业人员的自学资料。如有侵权,请联系删除!

5.6OOA测试图书馆管理信息系统第一次迭代类图5.6OOA测试自助借还书机的CRC卡片职责1、扫描图书条形码每一本图书都有一个在图书馆管理信息系统中唯一识别的条形码,这个条形码打印在粘纸上,贴在书上,所以,“借书机扫描图书条形码”,暂时看起来没什么问题。职责2、验证借阅者验证借阅者的有效性,肯定需要借阅者的个人信息,而自助借还书机本身并不拥有有借阅者的个人信息,它能做的是读取借书卡的卡号,所以事实上借书机只能用来自助扫描,它做不到“验证借阅者”。所以自助借还书机职责2。职责3、职责4和职责5,验证图书可外借否、自助借还书机负责借书和还书问题:一本图书是否可外借、如何实现借、如何实现还,是图书的内部工作机制,按照面向对象思想中的信息隐藏和职责驱动设计的原则,只有图书知道其自身的内部工作机制,因此只有图书才能实现自身的“借”和“还”,这是图书自身的职责。而外部即其他对象不可能知道图书的内部工作机制,因此自助借还书机没有能力承担“借书”和“还书”这两个职责。事实上,自助借还书机只是向借阅者提供借书和还书的操作界面。5.6OOA测试图书馆管理信息系统综合以上分析,可以发现自助借还书机的作用只是读取图书的条形码和借书卡卡号,它是图书馆管理信息系统的外部设备,且它在系统内也没有什么固有的属性。所以它是向系统内部提供外部信息的参与者,不是该系统内部的实体类。5.6OOA测试图书馆管理信息系统一个新名词“借书卡”可以分析出每位借阅者将拥有一个借书卡,用于自助借书时借阅者操作使用。借书卡显然是一个物理实体,但它跟图书一样,既是物理上实实在在的一个物理实体,同时图书馆管理信息系统内部也需要保存所有借书卡的信息及其与借阅者之间的关系,且能够根据读卡器读取的卡号来识别和对应相应的借阅者,因此“借书卡”应该是系统内的实体类。5.6OOA测试图书馆管理信息系统据此,应该:从前面所示的初始类图中去掉“自助借还书机”类、增加实体类“借书卡”在用例图中增加参与者“自助借还书机”。5.6OOA测试图书馆管理信息系统5.6OOA测试图书馆管理信息系统第二次迭代的类图5.6OOA测试图书馆管理信息系统第一次迭代的用例图5.6OOA测试图书馆管理信息系统第二次迭代的用例图5.6OOA测试图书馆管理信息系统中“图书”类的状态图欢迎学习《软件工程》软件工程张爽东北大学软件学院第六章面向对象设计6.1软件系统设计6.1软件系统设计6.1.1架构设计6.1.1架构设计从80年代末开始,软件的规模和复杂度急剧增加,适用于2~3层小楼房的传统架构已经远远不能满足几十层甚至更高的现代高楼大厦的需求了,软件开发面临着越来越多的风险和挑战。为了更好地开发出功能更加强大、更为复杂的软件系统,业内学者与技术人员在20世纪90年代初,提出了软件体系结构即软件架构。顾名思义,软件架构以类似建筑学的观点来构造软件系统,它能够在给出满足所有技术需求的解决方案的同时,优化诸如质量、安全性和可管理性之类的通用质量属性,对整个系统的可扩展性、可靠性、强壮性、灵活性、性能、功能、成本、可维护性和整体成功产生重大影响。6.1.1架构设计“软件体系结构”一词多用于学术研究领域使用,“软件架构”多用于工程实践领域,二者的英文名都是“SoftwareArchitecture”,在IEEE中的定义均为:“一个系统的基础组织,包含各个构件、构件互相之间与环境的关系,还有指导其设计和演化的原则。”软件架构师设计软件构架,以作为满足不同客户需求的实际系统设计方案的基础,包括软件的模块化、模块之间的交互、用户界面风格、对外接口方法、创新的设计特性、以及高层事物的对象操作、逻辑和流程。软件体系结构的开发是大型软件系统开发的关键环节。6.1.1架构设计基于同一个软件体系结构,可以创建具有不同功能的多个软件系统。在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程的质量和降低开发和维护成本。如何选择一个好的框架应用在项目中,对项目开发的效率、可重用及成功是至关重要的。软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。6.1.2数据库设计数据库(DataBase,DB)是永久性地存储和组织大量数据的“仓库”,是大量数据的集合。数据库DataBase6.1.2数据库设计若目标软件系统需要数据库,则需要根据目标软件系统的需求,选择适合的数据库管理系统;数据库设计;根据数据库设计在已选择的数据库管理系统上创建该数据库。数据库的主要挑战是“高速处理大容量的数据”。数据库的性能取决于两方面:

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档