【Jsp精品源码栏目提醒】:网学会员鉴于大家对Jsp精品源码十分关注,论文会员在此为大家搜集整理了“【精品】天津理工大学软件学院UML复习 - 大学课件”一文,供大家参考学习
第 1 部分 软件工程一. 软件开发经历的三个时代 1. 程序设计时代 2. 程序系统时代 3. 软件工程时代二. 软件危机和软件工程学 简单的说软件危机就是:在软件开发和软件维护上出现的严重问题 1968 年 NATO北大西洋公约组织会议提出。
软件工程含义是: “按照工程化的原理和方法来开发和维护软件。
” 软件开发方法学 软件开发技术 软件工具 软件工程环境 软件工程学 软件管理学 软件工程管理 软件经济学三. 软件生存周期模型1. 传统瀑布式生存周期模型:问题定义 软件定义时期 可行性研究 需求分析 总体设计 详细设计 软件开发时期 编码单元测试 综合测试 运行维护期 运行与维护2. 瀑布式生存周期模型评价:特点:文档驱动。
优点: 简明、规范;问题:只适合固定需求四. 软件工程方法学1. 结构化方法(面向数据流方法) 结构化分析(SA):注意结构化方法是面向数据流的方法,主要工具是DFD…… 结构化设计 :意 (SD) 注 模块化设计和模块独立性概念(高内聚、低耦合),主要工具是 SC :单入口/单出口设计 结构化程序设计(SP)2. 快速原型方法1 原型技术开发步骤: 确定系统最初需求 研制系统原型 评价系统原型 修改、完善系统原型 N 满意否? Y 建成系统产品2 原型技术评价优点: 1 给用户尽快提供一个样品让用户评价 2适合模糊需求……缺点: 1方法不规范 无统一标准 2无统一开发环境和工具 ……3. 面向对象方法五.传统方法个阶段的要点1.可行性研究阶段 1)可行性研究阶的内容 技术可行性(比如技术风险) 经济可行性(比如成本—效益分析) 社会可行性(又称做运行管理或操作可行性) 2)可行性研究阶的结论(三种结论)2.需求分析阶段 1)需求分析任务 2)绘制 DFD 技术建模重点3.总体设计阶段 1)模块化设计 2)模块独立性及判别准则 3)模块独立性原则 4)DFD 映射成 SCMSD技术4.详细设计阶段 1)结构化程序设计概念 2)详细设计工具 3 PAD5.编程和单元测试 1)程序设计语言和工具的选择 2)编程风格(比如:适当的注释)6.软件测试阶段1)软件测试的目的和原则2)驱动模块和桩模块3)黑盒测试和白盒测试4)软件测试步骤和策略5)软件复杂度的度量7.软件维护阶段1)软件维护的种类和所占比例2)软件维护内容和副作用六.软件管理 1)为什么要进行软件管理?软件管理的内容2)软件管理的成本估算模型 3)进度管理工具(GANTT 图、PERT 图和工程网络图) 4)软件配置项和配置管理(标识对象、版本控制、变化控制、配置审计和状态报告) 5)软件能力成熟度模型 CMM 和 CMMI七.软件质量保证(略)八.软件环境 1)软件环境概念和核心 2)CASE 概念第 2 部分 面向对象的基本概念一. 面向对象的技术特征1. 标识(identity)2. 分类(Classification)注意:同类对象具有相同的属性一般是指属性名而不是属性值。
只有称作“类属性”的情况才共享属性值。
3.继承Inheritance 子类自动拥有父类的数据和操作叫继承。
继 承 可 分 成 单 继 承 Single inheritance 和 多 继 承 multiple inheritance。
(请举出实例)4.多态性(Polymorphism) (或相同的操作应用到不同类中, 同一消息发给不同对象可产生不同结果。
可以有不同表现形式)二. 面向对象的开发1.面向对象的开发步骤:1)需求表达和系统构思(conception) 重点是搞清问题域和系统责任。
2)系统分析—创建模型3)系统设计 a设计一种高层策略—-系统架构 b优化设计—-考虑实现策略问题和临时资源分配问题。
4)设计类 a添加细节 b实现类的数据结构和算法5)实现 主要工作是类模型转换成某种编程语言和数据库。
三. OO 技术中几个术语1.抽象2.封装3.共享(重用)同一类中的对象共享同一应用(不同类)通过继承共享不同应用通过类库或可重用构件库来共享。
4.协同(synergy)四.三种模型1.类模型(对象模型)包括:类、对象及实例的概念; 类之间的关系:1)关联关系 a关联和链 b多重性 c关联