




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪论+第一章1、科学、技术、工程n 科学 发现自然规律 n 技术 发明装置、设备、方法 解决工程问题 n 工程 质量 服务于社会(责任)2、工程的目的是什么?服务社会:满足社会生产生活需要3、工程可持续长期发挥作用的关键何在?工程的维护管理4、工程有何特点?系统性、复杂性、交叉性、综合性5、工程师应该有哪些优秀特质?勤于职守、尊重科学、身先士卒、开拓进取6、古代工程和现代工程大差别何在?工程三要素:人、技术、过程古代:受制于技术现代:受制于人7、软件定义:软件是计算机系统中看不见、摸不着的逻辑部分,以程序、数据和文档的形式出现。 软件=程序+数据+文档程序=数据结构+算法8、软件与硬件相比(软
2、件共性):n 软件不是“制造”而是“研发”出来的。 è导致:软件项目管理和软件产品保护困难。n 软件不会被“用坏”。 è导致:软件维护困难(软件维护不能通过重复制造解决)。n 软件大多是“定制”的。 è导致:软件开发的质量和效率受到影响。n 软件成本难于估计。 è导致:软件项目计划失效。9、软件分类按功能分:系统软件、支持软件、应用软件按服务对象的范围分:产品软件、项目软件10、软件工程 n 性质(能力):指导软件开发和维护n 手段:采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经过时间证明正确的管理措施和当前能够得到的最好的技术、方法相结合
3、 ;n 目的:以期用较少的代价获取高质量的软件。11、软件工程的7条基本原理 :n 用分阶段的生命周期计划严格管理; n 坚持进行阶段评审;n 实行严格的产品控制;n 采纳现代程序设计技术;n 结果应能清楚地审查;n 开发小组的人员应少而精;n 承认不断改进软件工程实践的必要性。 12、软件开发模型1)瀑布模型:特点:各阶段顺序相互依赖;每阶段进行评审;强调需求分析和设计。优点:流水线>生产线 文档驱动评审、软件开发过程可视化维护期易理解逻辑设计与物理实施分开尽量推迟物理实施降低成本、保证质量缺点:开发过程中,用户看不见系统,只有在开发完全后才可见 实际开发中各阶段并不是自上而下线性顺序
4、展开 灵活度不高2)原型模型(迭代思想):原型!=最终系统优点:符合人们开发软件的习惯、“快速”开发、用户反馈(通过原型获取用户需求)、 逐步完善缺点:不宜利用原型作为最终产品、“快速“特点对最终系统不适用3)RAD模型(快速应用开发模型):优点:顺序开发 开发周期短缺点:技术风险高时不宜采用 人力要求高 短时间完成开发,压力大4)增量模型:(逐步将系统提交给用户,变开发边使用)优点: 降低风险;用户一步步使用,对产品产生依赖;可根据需要补充人员 ;能够减少全新软件产品对用户带来的影响;不需要大的资金支出;用户能及早使用及早发现问题;投资回报随功能渐增而渐增。缺点:对设计水平要求高集成风险 难
5、以进行彻底测试5)螺旋模型:优点:阶段性方法+迭代思想 强调风险分析缺点:对开发人员风险分析能力要求高 不适合签合同的项目 风险分析成本高6)RUP模型:优点:用例驱动; 体系结构为中心; 迭代增量;缺点:复杂; 针对不同应用需裁剪;13、演化模型:包含增量模型、螺旋模型、RUP模型代码和文档一起演化特点:迭代增量 反馈 注重整体架构 关注集成 开发过程可视化14、里程碑:用户主要需求的确定系统架构的确定基本系统功能已实现15、敏捷开发价值观:个体互动over流程工具工作软件over详尽文档客服协作over合同谈判响应变化over遵循计划16、软件开发方法:开发步骤+文档格式+评价标准1)结构
6、化方法:n 指导思想:自顶向下、逐步求精、单入口、单出口;n 基本原则:抽象和功能分解;n 方法论:系统是由一些功能的相互联系、相互作用而形成;n 优点:简单实用,应用广泛,技术成熟,强调阶段划分;n 缺点:难于解决需求模糊的问题 难于解决复用问题 不适用于大型且复杂的项目 软件维护复杂2)面向对象方法:n 指导思想:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程。n 基本原则:对象+类+继承+消息通信。n 方法论:系统是由一些对象的相互联系、相互作用而形成。 n 优点:易理解、维护、复用、学习。易解决需求模糊的问题n 缺点:不成熟、继承会增加类之间的耦
7、合3)形式化方法:n 指导思想:借助数学方法来描述目标软件系统。n 基本原则:形式分析和推理。n 方法论:系统可以通过严格的、规范化的数学理论经分析、推理得到。n 优点:形式模型完整、一致和无二义性;支持形式推理,便于软件验证;便于软件自动生成;n 缺点: 开发成本高;一般人不易接受,需要培训;灵活性差;难以与软件开发过程平滑地结合;支持工具少;4)SOFL开发方法:在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法,在软件开发全过程中一些对软件质量有重要影响的部分采用形式化方法。 第二章1、可行性研究定义:研究项目能否在给定的资源和给定的时间开发,是否能够开发,是否值得
8、开发。包含技术可行性、经济可行性、操作可行性。2、成本估计方法:1)自顶向下成本估计:n 通常仅由少数上层技术与管理人员参加。n 依据已完成项目所耗费的总成本,推算新开发软件的总成本,然后在项目内部进行成本分配。 n 优点:工作量小,速度快。n 缺点:对开发中某些局部问题或特殊困难易低估,甚至没有考虑。如果所开发的软件缺乏可借鉴的经验,则估计偏差可能较大。 2)自底向上成本估计:n 估计者必须先了解待开发软件的范围。软件范围包括功能、性能、限制、接口和可靠性等。n 在估算开始之前,应对软件范围进行适当的细化,以提供较详细的细节。对于细化得到的任务单元可交给该任务的开发人员去估计,得到各任务单元
9、的估计成本。然后,将各任务单元的成本汇合成项目的总成本。n 对涉及全局的花费可能估计不足甚至完全忽视,使成本估计可能偏低。 3)基于经验模型的成本估计:n 利用已完成项目的样本数据进行分析,从而建立有关经验公式来预测项目所需的成本、工作量等,具有比较客观、计算结果可重复等优点。 n 由于经验数据是从一些有限的项目中得到的,而且软件类型和开发环境各不相同,因而模型中得到的结果必须慎重使用。 n 主要经验模型:静态单变量模型;动态多变量模型;COCOMO模型 3、效益分析:分类:经济效益、社会效益度量指标:货币的时间价值纯收入 投资回收期:使累计的经济效益(折算成当前值)=最初投资所需要的时间。投
10、资回收率: P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)nP表示当前的投资额,Fi表示第i年年底的效益(i=1,2, ,n),n表示系统的使用寿命,j表示投资回收 率。第三章1、软件项目计划:包含:风险分析、进度安排、人员组织原因:计划->压力->行动->结果制定人员:管理员、系统分析员、用户2、进度安排基本原则:任务分解 作业依存 时间分配资源约束 定义责任 定义结果 定义里程碑 3、PERT图:EET=maxEET+t LET=minLET-t机动时间=LET-EET-作业持续时间先安排关键作业,再利用机动时间安排非关键作业4、Brooks定律:n 向一个已
11、经延期的软件项目追加开发人员,可能会使它完成得更晚。n 当开发人员以算术级数增长时,人员之间的通信将以几何级数增长。 对于软件项目,开发时间宁可长一些,开发人员可少而精一些。5、人员组织形式决定因素:项目特点、参与人员素质注意:责任到人、合理分工、责权均衡1) 层次模式:缺点:小组之间无交流,要交流须通过上级,交流效率低2)矩阵模式:3)主程序员小组:缺点:对主程序员要求高4)民主小组:缺点:通信效率低,决定难适用于创新项目的开发5)层次小组:优点:层次间按隶属关系进行通信,组内平等通信。 适合大型软件开发项目,尤其是项目本身就是层次结构状。 第四章1、需求分析特点:问题的复杂性;交流障碍;需
12、求易变性;不一致性和不完整性。2、数据流图:n 数据流(用箭头表示);n 加工(加工一般用一个圆圈或圆角方框来表示 );n 数据存储(一般用开口的矩形框或双划线来表示); n 数据的源点和终点(一般用正方形或立方体来表示 );n 扩展符号主要有:*、+和 。3、分层数据流图:优点:便于控制问题复杂度,便于大型系统实现,便于用户理解分类:顶层数据流图、中间层数据流图、底层数据流图4、IDEF方法:IDEF方法是一套用来对复杂系统进行建模分析和设计的系统方法:IDEF0进行功能建模,IDEF1X用来建立数据模型,IDEF4方法则用于面向对象设计。5、IDEF0:n IDEF0图的主要元素是简单的盒
13、子及箭头。n 盒子代表系统的功能(活动)。n 箭头表示系统处理的数据约束,可以是具体的事物,也可以是抽象的信息。 盒子(最多6个):箭头汇合箭头(多个活动产生或合成同一种数据)箭头分支箭头(多个活动需要同一种数据或同一种数据的不同成份)箭头通道箭头(箭头描述的数据约束不出现在子图或父图中)箭头双向箭头(两个盒子描述的活动互为输入或互为控制,且将先触发的盒子画在较高的位置上)箭头虚线箭头(活动触发的先后顺序)箭头选择箭头(数据的选择关系)6、IDEF1X:n 实体是具有相同属性或特征的现实或抽象事物的集合,这个集合中的一个元素便称为实体的一个实例。 n 在一张IDEF1X图中 ,一个实体只能在图
14、中出现一次。 实体:联系连接联系:联系分类联系:7、UML结构:8、UML关系的标记和语义9、UML4+1视图10、用例图用例图从系统外部执行者的角度来描述系统需要提供哪些功能,指明这些功能的参与者,即用例图描述了参与者和用例及它们之间的关系。 11、UML特点:n 统一了面向对象方法的基本概念 ;n 具有更强的建模能力 ;n 独立于特定的开发语言和开发过程。12、UML应用:n 需求分析 用例图-功能的需求;类图-静态结构 ;状态图、顺序图和协作图等-类之间所需的协作,实现用例。n 设计 定义软件系统中的技术细节用到的类,如引入处理用户交互的类、处理数据的类、处理通信和并行性的类等。 n 实
15、现 组件图-代码组件的物理结构以及组件之间的关系;部署图-硬件的拓扑结构和组件的分布。n 测试 类图-单元测试;组件图、协作图-集成测试;用例图 -确认测试 13、用例图:组成:系统、参与者、用例、关系优点:从用户的角度出发,便于满足用户需求 便于迭代增量式开发用例描述:简单文字、模板、表格、形式化语言、图型实例:包含关系无需条件,扩展关系有条件外部内部(关联)、参与者之间(泛化)、用例之间(扩展、包含、依赖、泛化)步骤:n 找出系统的参与者和用例;(“有价值的结果”和“特定参与者”是两个有用的准则。) n 区分用例的优先次序;n 详细描述每个用例;n 构造用户界面原型;n 构造用例图。14、
16、对象建模的主要任务了解某个特定应用问题域内所涉及的对象,以及各种各样的结构和通信关系。 15、标识结构n 标识结构是用来处理对象建模复杂性的机制之一。n 现实世界的事物之间有两种主要关系:继承关系、整体/部分关系。 继承关系,可采用自顶向下和自底向上方式标识。组合关系联系更紧密,<部分>唯一属于一个<整体>。16、UML实例关联的表示:n 在UML中,实例的关联表示包括:关联名称、角色名称、多重性和导航性; n 一般,在图中要么注明关联名称,要么注明角色名称,而不同时注明角色名称和关联名称;n 在UML中,多重性被说明为用逗号分隔的区间,每个区间具有如下形式:minim
17、um、maximum ;在UML中,如果多重性不显式说明,则多重性就不确定;n 导航性的意义可看作“消息仅能够沿箭头所指的方向传递”。在UML中,没有导航性标识,则表示关联是双向的。n 定义属性应该在原子概念的层次上进行,属性分为命名性属性、描述性属性、参考属性。n 结构化方法:属性不一定放在一起(即使解空间与问题空间一致的数据不放在一起)。n 结构化方法一个事件由一个对象完成,面向对象方法一个事件可能由多个对象完成。17、需求分析内容:信息需求(数据需求)、功能需求、未来需求、性能需求、运行需求18、UML的扩展机制:约束、标记值、构造型第五章1、概要设计与详细设计的关键:概要设计的关键是确
18、定软件的总体结构,即确定软件系统的组成成份以及各组成成份之间的相互关系。详细设计其主要任务是确定软件系统各组成成份内部的数据结构和算法过程。2、软件设计基本原理:1)抽象与求精n 抽象即抽取事物本质的共同特性而暂时避开不必要的低层细节。 n 方式:过程抽象、数据抽象和控制抽象。n 求精是将某个宏观功能不断分解,逐步确定过程细节,直至用程序设计语言描述的算法实现为止。n 抽象使得设计人员能够避开过早地陷入细节之中刻画过程和数据。n 求精能够帮助设计人员随着设计过程的深入而不断呈现更低层次的信息。 2) 模块化与信息隐藏n 模块化:将软件分解成可单独命名的且可访问的部件n 信息隐藏:指模块中所包含
19、的信息对不需要这些信息的其它模块是不可访问的。加强了模块内部访问的约束,有助于分离模块的实现者和使用者。3)模块独立性n 其基本含义是每一个模块只完成功能需求中的一个特定的子功能,而且从程序结构的其它部分来看这一模块只具有一个简单的接口。 n 模块的功能独立性可以使得模块易开发易维护。 n 模块独立性有两个定性的度量标准:内聚度和耦合度。 3、内聚度:n 内聚度是指模块内部各成分联系紧密的程度。n 通常,内聚度越高,模块的独立性就越强。 n 七种类型的内聚,大致按照内聚程度从高到低的顺序是:功能内聚、信息内聚、通信内聚、过程内聚、时间内聚、逻辑内聚和偶然内聚。 4、耦合度:n 耦合是模块之间相互关联紧密的程度。n 一般地,模块的耦合度越低,模块的独立性越强。 n 模块之间的耦合程度从低到高也可分为七种:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。 5、软件结构图:n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管改造建设方案范本
- 四川省巴中市普通高中2023级“零诊”考试历史试题(含答案)
- 幼儿园音乐游戏培训
- 客户管理岗年度工作总结
- 新教师培训常规培训
- 2026届江西省抚州市临川二中学、崇仁二中学化学九上期中经典试题含解析
- 荷尔蒙培训课件
- 培训父母的课件
- 改善改良制度培训
- 2026届广西壮族自治区防城港四校联考英语九上期末监测试题含解析
- 2024年“学宪法、讲宪法”应知应会题库
- DL∕T 5372-2017 水电水利工程金属结构与机电设备安装安全技术规程
- 平安产险建筑工程团体意外伤害保险条款
- 基于人工智能的药物不良反应预测与预警系统
- 指导青年教师赛课工作方案
- 胃镜室进修汇报
- 农村特岗教师聘用合同书
- 10.1 抵制校园欺凌和暴力(高效教案)-【中职专用】中职思想政治《心理健康与职业生涯》(高教版2023·基础模块)
- 大学语文(第三版)课件 渔父
- 队列训练齐步的行进与立定
- 人教版小学六年级数学上册单元课后练习题 全册
评论
0/150
提交评论