版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程导论(1)概述,南京理工大学 汪惠芬 2005年9月1日,软 件 工 程 导 论,2020/11/5,2,第一章 软件工程概述,1.1 软件的基本概念 1.2 软件危机 1.3 软件系统的开发 1.4 现代软件工程 1.5 本章小结,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,3,1.1 软件的基本概念,1.1.1 软件的概念 1.1.2 软件的特征 1.1.3 软件的种类,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,4,1.1.1 软件的概念,软件是指与计算机系统的操作有关的计算机程序
2、、规程、规则以及任何与之有关的文件。 软件包括程序和文档两部分: 程序:适合于计算机处理的指令序列以及所处理的数据; 文档:与软件开发、维护和使用有关的文字材料。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,5,1.1.2 软件的特征,软件不同于硬件一般具有如下特征: 软件是一种逻辑性系统元素,不是物理性系统元素; 软件只能设计或实现出来,不能用传统意义上的制造进行生产; 软件不会“磨损”,而硬件却会磨损; 软件的开发和运行常常受到计算机系统的限制;,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,
3、6,1.1.2 软件的特征,软件的维护比硬件复杂; 软件的开发至今仍未完全摆脱手工艺的开发方式; 软件的成本相当昂贵; 相当多的软件工作涉及到社会因素。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,7,1.1.3 软件的种类,按规模分:微型软件、小型软件、中型软件、大型软件、特大型软件 按工作方式分:实时处理软件、交互式工作软件、分时工作软件、批处理软件 按服务对象分:项目软件、产品软件 按计算机处理能力分:数值计算型软件、逻辑(符号)推理型软件、人机交互型软件、数据密集型软件,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程
4、导 论,2020/11/5,8,1.1.3 软件的种类,按功能分: 系统软件 应用软件 管理软件 实时软件 工程分析和科学计算软件 嵌入式软件 人工智能软件,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,9,1.2 软件危机,1.2.1 软件的发展阶段 1.2.2 软件危机的挽救,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,10,1.2.1 软件的发展阶段,5060年代 第一代计算机发展到第二代计算机,个体化软件生产程序设计阶段 60年代中70年代中 第二代计算机发展到第三代计算机,作坊式软件生产
5、程序系统阶段,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,11,1.2.1 软件的发展阶段,70年代至今 第三代计算机发展到第四代计算机,软件产品化、系列化、工程化、标准化生产软件工程阶段 发展趋势 从技术性的软件工程阶段过渡到企业技术计划、社会信息化的计算机系统工程阶段,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,12,1.2.2 软件危机的挽救,软件危机的表现: 软件生产供不应求 软件开发成本和进度估计不准 软件开发人员对用户需求缺乏深入准确的了解 软件产品质量差 软件的可维护性、适应性差
6、软件文档资料不完整不合格 软件价格昂贵,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,13,1.2.2 软件危机的挽救,造成软件危机的原因 软件本身的特点导致开发和维护困难; 软件开发方法不正确; 开发人员和管理人员只重视开发而轻视问题的定义和软件维护; 软件开发技术本身落后于硬件技术水平和客观需求; 软件管理技术差。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,14,1.2.2 软件危机的挽救,软件危机的解决方案: 采用工程化方法和工程途径来研制与维护软件 采用先进的技术、方法与工具来开发与设计
7、软件 采用必要的组织管理措施,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,15,1.3 软件系统的开发,1.3.1 系统开发人员 1.3.2 软件开发基础 1.3.3 系统开发方法,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,16,1.3 软件系统的开发,评判软件好坏的准则: 正确性 可靠性 简明性 有效性 可维护性 适应性,基本概念,软件危机,系统开发,软件工程,本章小结,软件符合规定需求的程度,在规定的条件和时间内软件不引起系统失效的概率,要求软件简单易读,它和软件设计语言的表达能力以及软件
8、设计风格有关,软件的时间效率和空间效率,软件能够修改和升级的容易程度,软件使不同的系统约束条件和用户需求得到满足的容易程度,软 件 工 程 导 论,2020/11/5,17,1.3 软件系统的开发,应用软件的开发过程:,应用软件系统开发,计算机技术水平,系统需求,应用系统,开发基础,开发人员,基本概念,软件危机,系统开发,软件工程,本章小结,开发方法 与工具,软 件 工 程 导 论,2020/11/5,18,1.3.1 系统开发人员,系统开发人员是指完成系统开发任务的项目组成员。 包括: 系统分析与设计人员 用户,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,202
9、0/11/5,19,1.3.2 软件开发基础,应用软件系统是运行在计算机硬件、系统软件和网络基础上的,因此应用软件的开发基础主要包括: 操作系统 编译程序 数据库管理系统 网络与分布式系统设计基础,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,20,1.3.3 系统开发方法,目前用于系统开发的主要方法: 结构化方法 面向对象方法 专家系统方法,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,21,1.3.3 系统开发方法,结构化方法: 系统的基本构成要素是模块 采用自顶向下、逐步求精的思想 吸收用户参
10、与系统分析与设计 采用图示工具附加语义说明的方法阐述系统的结构与功能,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,22,1.3.3 系统开发方法,结构化方法: 工作内容与步骤 常用方法:数据流程图法、结构化分析设计方法、IDEF方法、Jackson方法,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,23,1.3.3 系统开发方法,面向对象方法: 对象的基本特性 标识唯一性 分类性 多态性 继承性 封装性,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,
11、24,1.3.3 系统开发方法,面向对象方法: 工作内容与步骤,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,25,1.3.3 系统开发方法,面向对象方法: 基本要点 系统分析阶段建立的系统逻辑模型具有一个相对稳定的结构; 系统设计与实现是对上述逻辑模型的细化或实例化; 系统开发过程是系统需求、分析、设计、实现、测试等一系列模型的可以有效地解决系统复杂性问题; 构成系统的基本单元对象可设计成软件构件,具有一定的可重组性。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,26,1.3.3 系统开发方法,
12、专家系统方法: 是一种围绕知识来组织软件系统的方法。 系统的基本要素: 知识 应用知识的推理机制,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,27,1.3.3 系统开发方法,专家系统方法: 工作内容与步骤,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,28,1.3.3 系统开发方法,各种方法特点比较:,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,29,1.3.3 系统开发方法,各种方法特点比较:,基本概念,软件危机,系统开发,软件工程,本章小结,软
13、 件 工 程 导 论,2020/11/5,30,1.4 现代软件工程,1.4.1 软件工程概述 1.4.2 软件生命周期 1.4.3 传统软件工程模式 1.4.4 现代软件工程模式,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,31,1.4.1 软件工程概述,概念 软件工程指制定并采用合理的工程原则,从而以最低的成本、最短的时间、最好的质量开发出满足用户需求的软件。 软件工程包括三个要素:方法、工具及过程。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,32,1.4.1 软件工程概述,研究的内容 理
14、论、结构、方法、工具、环境、管理、规范等。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,33,1.4.1 软件工程概述,研究的基本目标 定义良好的方法学,面向计划、开发维护整个软件生存周期的方法学; 确定的软件成分,记录软件生存周期每一步的软件文档资料,按步显示轨迹; 可预测的结果,在生存周期中,每隔一定时间可以进行复审。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,34,1.4.1 软件工程概述,基本原则 抽象 目标分解 局部化与信息隐藏 一致性 确定性,基本概念,软件危机,系统开发,软件工程
15、,本章小结,软 件 工 程 导 论,2020/11/5,35,1.4.2 软件生命周期,(1)软件定义期 问题定义 可行性研究 需求分析,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,36,1.4.2 软件生命周期,(2)软件开发期 系统设计 详细设计 编码 测试,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,37,1.4.2 软件生命周期,(3)软件维护期 软件维护: 改正性维护 适应性维护 完善性维护,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,
16、38,1.4.3 传统软件工程模式,瀑布模型,计划,需求分析,设计,编码,测试,运行维护,评价,定义阶段,开发阶段,维护阶段,返回计划,定义做什么的问题结构,设计如何做的体系结构,修改设计,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,39,1.4.3 传统软件工程模式,具有维护循环的瀑布模型,计划,需求分析,设计,编码,测试,运行,评价,软件开发,维护循环,计划,需求分析,设计,编码,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,40,1.4.3 传统软件工程模式,瀑布模型的优点 奠定了软件工程方
17、法的基础,流水依赖,便于分工协作,推迟物理实现,易于修改文档,有复审质量保证。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,41,1.4.3 传统软件工程模式,瀑布模型的缺点 要求用户一开始就清楚地提出所有需求; 需求变化对生命周期各个阶段产生的影响不同; 实际项目很少完全遵循该模式提出的工作顺序; 可运行的程序一直要到项目的最后阶段才可能得到。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,42,1.4.3 传统软件工程模式,原型模型,计划,需求分析,原型开发,原型评价,最终系统设计,最终系统实
18、现,用户反馈意见,确定用户的基本要求,开发初始原型,实现并运行原型,修改并完善原型,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,43,1.4.3 传统软件工程模式,原型模型的优点 减少了信息交流中的问题; 减少了设计中的错误; 增加了用户的满意程度; 能产生一个正确的系统需求描述; 减少了日程表时间;,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,44,1.4.3 传统软件工程模式,原型模型的优点 减少了开发中的风险; 减少了对用户的培训时间; 简化了管理; 降低了系统的成本; 原型法可以作为一种
19、学习工具,服务于系统开发过程。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,45,1.4.3 传统软件工程模式,原型模型的缺点 由于在很短的时间内构造原型,用户有时会将原型当作最终系统来使用,而不能耐心地等待系统最终版本的完成,并拒绝在系统最终版本上工作。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,46,1.4.3 传统软件工程模式,螺旋模型,提交线,制定计划 决定目标、 方案和限制,风险分析 评价方案、 识别风险、 消除风险,实施工程 开发、验证 下一个产品,客户评估,软件需求,原型1,需求
20、计划生存期,风险分析,原型2,原型3,可运行原型,风险分析,风险分析,计划,开发计划,与,组装,测试,评审,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,47,1.4.3 传统软件工程模式,总体数据库规划模型,行业分析 建长远企业模型,实体分析 建主体数据库,数据分布分析,逻辑设计,物理设计,测试,企业长远计算机管理目标,抽象出经营主题,结构化分析,维护,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,48,1.4.3 传统软件工程模式,总体数据库规划模型的优点 起点高,不受行业水平的限制。 总体数据
21、库规划模型的缺点 投资大,周期长,技术与社会性复杂,难度大。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,49,1.4.3 传统软件工程模式,传统软件工程模式的缺点 忽视了人在软件工程中的地位与作用; 规定了软件开发各阶段的详细文档格式及要求。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,50,1.4.4 现代软件工程模式,概述 软件开发过程是以人为主,利用软件开发方法及工具进行的各种活动的有序过程。,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,
22、51,1.4.4 现代软件工程模式,系统分析,系统构造,软件组件,系统测试,系统开发与测试人员、方法及工具,系统需求 或需求变化,软件 系统,基本概念,软件危机,系统开发,软件工程,本章小结,软 件 工 程 导 论,2020/11/5,52,1.4.4 现代软件工程模式,系统分析,行为,信息,表示,系统分析空间,基本概念,软件危机,系统开发,软件工程,本章小结,完整描述系统中处理的永久与临时性信息,这些信息通常刻划了系统的内部状态。,完全描述系统状态变化所需的处理或功能。,详细描述系统的对外接口。,软 件 工 程 导 论,2020/11/5,53,1.4.4 现代软件工程模式,系统构造,实现环境,系统设计空间,行为,信息,表示,基本概念,软件危机,系统开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耕占专项练习试题及答案
- 内井字架搭设安全技术交底培训
- 2026年中医耳鼻喉科气虚鼻衄居家调养宣教试题及答案
- 氨区设计要点及安全注意事项培训
- 氧气管道安装安全技术培训
- 基于四化建设的油公司管理模式构建与实施
- 水利工程冬雨季施工保证措施培训
- (2026年)护理核心制度及岗位职责考试试题(附答案)
- (2026年)暑期防溺水家访活动工作总结
- 2025年河南省许昌市数学三下期中教学质量检测模拟试题(含解析)
- 【新教材】2026秋统编版九年级上册历史第22课 活动课 唱响“国际歌”教案
- 新教科版科学四年级上册1.3《空气占据的空间会改变吗》课件
- 2026中国智能机器人巡检行业市场分析投资评估规划发展探讨报告
- 2026-2030中国生物合成角鲨烯市场动向规划及发展前景研究报告
- 2026年综合能源服务系统的构建
- 2026年秋新教材粤教粤科版小学科学五年级上册教学计划及进度表
- 新教科版二上科学学科教学计划-2026秋
- 我的世界知识模拟考试试题及答案
- 新(2024)外研版英语八上Unit1 This is me单词拓展讲解
- 景区咖啡屋的运营方案
- 中枢神经系统-颅脑磁共振成像
评论
0/150
提交评论