北邮面向对象课程0课程介绍ppt课件.ppt_第1页
北邮面向对象课程0课程介绍ppt课件.ppt_第2页
北邮面向对象课程0课程介绍ppt课件.ppt_第3页
北邮面向对象课程0课程介绍ppt课件.ppt_第4页
北邮面向对象课程0课程介绍ppt课件.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象系统的分析与设计 课程介绍 提纲 1 什么是软件工程 2 软件工程的基本要素 3 软件工程基本原则 4 结构化分析与设计方法5 如何解决扩展性和灵活性问题 6 面向对象技术的主要思想7 本课程内容的组织8 课程教学与考核9 参考书籍 1 什么是软件工程 软件危机 表现 进度拖延 成本无法控制 质量无法保证原因 项目计划不科学缺乏需求管理手段开发过程没有进行有效的管理缺少质量保证措施软件工程 1968年NATO会议上首次提出 按照工程化的原理 原则和方法组织软件开发 是一类求解软件的工程 它应用计算机科学 数学 用于构造模型和算法 和管理科学 用于计划 资源 质量和成本等的管理 等原理 借鉴传统工程 用于制定规范 设计范型 评估成本 权衡结果 的原则和方法 创建软件以达到提高质量 降低成本的目的 1 什么是软件工程 戴明环 P Plan 软件规格说明 规定软件的功能及其运行的限制 D Do 软件开发 产生满足规格说明的软件 C Check 软件确认 确认软件能够完成客户提出的要求 A Action 软件演进 为满足客户的变更要求 软件必须在使用的过程中演进 软件工程解决两个最基本的问题效率质量 过程质量和产品质量 2 软件工程的基本要素 软件工程三要素 方法 工具和过程软件工程方法为软件开发提供了 如何做 的技术 它包括了多方面的任务 如项目计划与估算 软件系统需求分析 数据结构 系统总体结构的设计 算法过程的设计 编码 测试以及维护等 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境 CASE 计算机辅助软件工程 软件工程的过程则是将软件工程的方法和工具综合起来以达到合理 及时地进行计算机软件开发的目的 过程定义了方法使用的顺序 要求交付的文档资料 为保证质量和协调变化所需要的管理 及软件开发各个阶段完成的里程碑 有时候也称之为 模型 方法和工具模型就是软件开发过程模型 是对开发过程的建模 瀑布模型 演化模型 3 软件工程基本原则 软件工程需要达到的基本目标 正确 可用 开销适宜 付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发 及时交付使用软件工程基本原则 抽象与自顶向下 逐层细化信息隐蔽和数据封装模块化局部化确定性一致性和标准化完备性和可验证性 4 结构化分析与设计方法 StructuredAnalysis SA 面向数据流进行需求分析 70年代末经YourdonE ConstantineL DeMarcoT 等人提出和发展 至今仍得到广泛应用 结构化分析方法适合于数据处理类型软件的需求分析 结构化分析方法就是用抽象模型的概念 按照软件内部数据传递 变换的关系 自顶向下逐层分解 直到找到满足功能要求的所有可实现的软件为止 结构化分析方法使用了以下几个工具 数据流图 DataFlowDiagram 数据词典 DataDictionary 结构化英语判定表和判定树 4 结构化分析与设计方法 数据流图 4 结构化分析与设计方法 数据需求分析 4 结构化分析与设计方法 结构化设计 4 结构化分析与设计方法 系统结构图 4 结构化分析与设计方法 特点 功能抽象 将问题求解看成是一个处理过程模块化 分而治之 控制了系统复杂性模块高内聚低耦合 维护较方便缺点 功能与数据的分离 编写功能时必须同时考虑数据结构 当数据结构比较复杂时 模块的独立性很难保证 对于程序员来说 要保持数据与功能的相容性成为一种负担 由于对处理过程的理解不同 不同的分析人员可能得出差异较大的功能模块划分 降低了系统的可理解性和重用性 从分析到设计的转换较复杂 需要较好的映射能力 5 如何解决扩展性和灵活性问题 扩展性 新需求的增加在原有的数据结构基础上增加新功能 功能不变 但需要扩充数据结构 既要扩充数据结构 又要扩充新功能 灵活性 旧需求的修改修改数据结构 不改变功能 修改功能 不改变数据结构 修改功能 修改数据结构 结构化方法对扩展性和灵活性的满足能力不足 功能与数据的分离 使得维护任务分散在不同的模块和数据结构中 维护管理困难 维护后的测试工作量加大 需要将功能和数据结构封装在一起 6 面向对象技术的主要思想 面向对象的方法认为 客观世界是由许多各种各样的对象组成 每个对象都有各自的内部状态和运动规律 不同对象之间的相互作用和联系就构成了各种各样不同的系统 构成了我们所面对的客观世界 面向对象方法将数据与操作放在一起 作为一个相互依存 不可分割的整体来处理 面向对象综合了功能抽象和数据抽象 采用数据抽象和信息隐蔽技术 将问题求解看作是一个分类演绎过程 与结构化方法相比 面向对象更接近人们的认识事物和解决问题的过程和思维方法 6 面向对象技术的主要思想 与面向对象方法与结构化方法的比较 功能抽象的模块 数据抽象的对象操作抽象的类型 操作与数据封装的类过程调用 消息传递静态绑定 动态绑定关系 结构化是基础 面向对象是在其基础上发展起来的 如果问题世界的功能比数据更复杂或者更重要 那么结构化方法仍然应是首选的方法学 如果数据结构复杂且变换并不多 那么以面向对象方法为首选 7 本课程内容的组织 1 面向对象的基本概念 2 系统分析与设计基础 3 统一建模语言UML介绍 4 统一过程模型UP介绍 5 设计模式简介 6 初始阶段 7 细化迭代1 分析 8 细化迭代1 设计 9 细化迭代2 10 细化迭代3 8 课程教学与考核 教学 面向对象的基本概念系统分析与设计基础面向对象分析与设计过程设计模式在分析与设计过程中的应用要求 能够运用UML语言表达分析与设计结果能够熟悉面向对象分析与设计过程能够自觉地运用设计模式 8 课程教学与考核 考核 独立完成一份读书报告 结合自己的实际工作谈学习面向对象方法的感受 以及如何应用 30分 字数3000字以上结对 两人一组 完成 图书馆图书借阅系统 的分析与设计工作 70分 用例模型领域模型设计模型 8 课程教学与考核 图书馆馆藏图书都遵循统一的图书分类方法 每一种书名的图书在图书馆可能馆藏多本 新购 废弃图书时必须在图书馆馆藏目录中进行记录 用户可以在图书馆进行注册 成为该图书馆的合法读者 读者也可以自愿或者被强制注销 自愿注销时必须保证其借阅的所有图书都已经归还 强制注销的读者需要记录入黑名单 防止下次重新成为合法读者 读者可以浏览图书目录 根据书名 著者 出版社等组合条件查询图书的编号 也可以根据分类号查询下辖的所有图书的编码 查询图书时 可以进一步了解图书的库存数量和每一本书借阅状况 库存 已借 已预约 读者借阅的图书数量是有限的 如10本书 因此 读者借阅图书时 除了验证读者身份外 还要限制读者的借阅图书数量 读者可以预约已经借出的图书 而且可以进行多重预约 读者借阅图书后 系统应该根据相应图书馆制定的图书借阅期限提醒读者及时归还图书 读者归还图书时要根据过期时间给予读者必要的处罚 处罚规则由图书馆自定 已预约图书的读者可以在图书归还后借阅 如果该读者在规定的期限内没有借阅 将该读者对本书的预约取消 有预约的图书在预约没有被取消的情况下不能外借给非预约人 请对图书馆图书借阅系统进行面向对象的分析与设计 9 参考书籍 1 CraigLarman著 方梁等译 UML和模式应用 第2版 机械工业出版社 2 MartinFowler著 徐家福译 UML

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论