- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程要点
本章教学目标及重点
教学目标
掌握软件、软件危机、软件工程概念
了解软件开发技术
了解项目管理、配置管理相关知识
了解应用生命周期概念和应用生命周期管理方法
了解惠普应用生命周期管理方案
重点
软件工程技术
本章安排
1.1 软件
1.2 软件危机
1.3 软件工程
1.4 软件开发主流技术
1.5 软件开发过程中的项目管理
1.6 软件开发过程中的配置管理
1.7 应用生命周期管理
1.1 软件
1.1.1 软件的概念
1.1.2 软件的类型:按应用范围划分
语言编译器
驱动程序
文件系统管理
网络连接
操作系统
数据库管理系统
终端仿真中间件
消息中间件
数据访问中间件
交易中间件
过程调用中间件
对象中间件
图像浏览器
SAP ERP
MS Office
证券集中交易系统
1.1.3 软件及其产业的重要意义
金融领域
金融服务系统
在线支付
消费卡服务
制造领域
生产管理
采购管理
销售管理
医疗领域
仪器设备
病历管理
血库管理
通信领域
计费管理
积分管理
客户管理
软件
金融
制造
通信
医疗
政务
1.2 软件危机
1.2.1 软件危机的产生
20世纪40年代
20世纪80年代-至今
无序的,崇尚个人编程技巧
使用ENIAC编程
软件工程取得了可喜成就,但还未从根本上解决软件危机
20世纪60年代
软件系统规模越来越大,复杂程度越来越高,软件危机开始爆发
1968 年,北大西洋公约组织在联邦德国召开国际会议,第一次讨论软件危机问题
软件工程兴起与发展
1.2.2 软件危机的影响
1.2.3 消除软件危机的方法
解决途径
组织管理
工程项目管理方法
技术措施
软件开发技术、方法与软件工具
具体办法
对计算机软件有一个正确的认识(软件≠程序)
充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目
推广使用在实践中总结出来的开发软件成功技术和方法
开发和使用更好的软件工具
1.2.3 消除软件危机的方法
软件开发工作量分配比例
10% ~ 20%
40% ~ 50%
引入同一变化付出的代价随时间变化的趋势
越早开始写代码的人,就是越迟完成代码的人!
40% ~ 50%
1.3 软件工程
1.3.1 软件工程的概念
Text
方法
工具
过程
软件工程
将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件:
项目计划与估算
需求分析
数据结构
总体设计
编码、测试与维护等
软件工具为工程方法提供了自动或半自动的软件支撑环境:
软件工具
软件支撑环境
计算机辅助软件工程(CASE)等
将软件工程方法和工具综合起来,以达到合理、及时第进行计算机软件开发的目的。
方法使用的顺序
需交付的文档
变更管理
里程碑管理等
1.3.1 软件工程的框架
目标+过程+原则
1.3.1 软件工程的框架
目标+过程+原则
1.3.1 软件工程的框架
目标+过程+原则
1.3.1 软件工程的本质特征
关注:软件工程关注于大型程序的构造
中心课题:软件工程的中心课题是控制复杂性
控制和管理:软件经常变化
工具与环境:开发软件的效率非常重要
团队精神:和谐地合作是开发软件的关键
有效支持:软件必须有效地支持它的用户
创造产品:在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品
1.3.1 常用的软件开发方法
1.3.2 软件生命周期
便于不同人员分工协从,降低软件工程实行难度
在每个阶段采用科学的管理技术和方法,并在每阶段结束之前从管理和技术角度进行严格审查
1.3.2 软件生命周期模型:瀑布模型
1970年温斯顿•罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
1.3.2 软件生命周期模型:瀑布模型特点及应用场景
1.3.2 软件生命周期模型:V模型
V模型是在瀑布模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
软件生命周期模型
迭代模型
1.3.2 软件工程生命周期
敏捷开发
1.3.3 敏捷开发过程
敏捷开发是一种以用户的需求进化为核心、迭代、循序渐进的开发方法。
软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
敏捷开发
强调软件开发对未来可能出现的变化和不确定性做出全面反应
总体目标是尽可能早地、持续地对有价值软件的交付
主要是用于需求模糊或快速变化的前提下,小型开发团队的软件开发活动
1.3.3 敏捷开发过程
变
早
快
敏捷开发
1.3.3 敏捷开发过程
敏捷开发的1
您可能关注的文档
最近下载
- 七年级上册地理期末试卷及答案人教版.doc VIP
- ACD奥的斯内部资料GECB及GDCB服务器使用.pdf
- 初中七年级地理上册期末试卷(含答案).pdf VIP
- 《工程建设标准强制性条文 电力工程部分 2016版》.docx
- 大学毕业论文-基于pid算法的锅炉恒温控制系统正文.doc VIP
- 南华大学《自动控制原理B》2023-2024学年第一学期期末试卷.doc VIP
- 南华大学《自动控制原理B》2022-2023学年第一学期期末试卷.doc VIP
- 南华大学船山学院《自动控制原理》2021-2022学年第一学期期末试卷.doc VIP
- 金融学(中央财经)中国大学MOOC慕课 章节测验期末考试答案.docx
- 12.2 人生价值贵在奉献(教学课件)-【中职专用】中职思想政治《哲学与人生》同步教学示范课课件+教案(高教版2023·基础模块).pptx VIP
文档评论(0)