- 1、本文档共269页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程导论
第一章
本章要点
工程的概念
软件工程的发展
软件工程分析
三种过程模型
工程化思考
工程是什么?
工程简而言之就是多人参与并有计划、有步骤地完成一项任务的活动
工程强调
目的
计划
步骤
软件发展与软件工程起源
软件的发展四个阶段:
1950年前后到1960年前后,程序设计阶段;
1960年前后到1970年前后,软件系统阶段;
1970年前后到1980年前后互联网络兴起,软件工程阶段;
1980年前后到现在,分布式软件工程阶段;
1968年,北大西洋公约组织的计算机科学家召开国际会议,第一次提出软件危机的概念,产生了应对软件危机的对策---软件工程。
软件工程与建筑工程的对比
预算
画设计图
施工
质检
可行性分析
需求分析详细设计、概要设计
编码
测试
兴建一座高楼
创造一部软件产品
销售、入住使用
销售、安装使用
工程策略
任何工程都有如下的策略:
分而治之
复用
折衷优化
检验并保证质量
软件工程也会充分利用这些策略
分而治之
把复杂的问题分解为小的问题并一一解决
分而治之图示
复用
利用现有的组件来构筑软件的一部分功能
组件技术有:CORBA、EJB、COM
软件复用图示:
软件开发的发展与变化
软件技术的发展带来了一些变化:
1 用户对软件要求的变化:软件规模在扩大;对软件的质量要求在提高;
2 软件技术本身的变化:新的理念、新的方法和新的工具
3 软件开发队伍的变化:从单人开发、小组开发,到大规模团队开发;从稳定、相对稳定到全员流动
软件开发的发展与变化
应对这些变化的是:
1 市场化:软件开发由个人爱好行为转变为企业行为,需要大量的投资、大量的人力,并且要按照市场规律来运作
2 知本化:要求技术的积累、模块的积累和成果的积累;
3 开发过程的规范化:来应对需求多变,人员流动
4 标准化:能力成熟度,质量控制
软件工程的目标
软件工程的目标是提高软件的质量与生产率,最终实现合格的软件。
质量是软件需求方最关心的问题。
生产率是软件供应方最关心的问题。
软件工程的四项基本原则
选取适宜开发范型
采用合适的设计方法
提供高质量的工程支持
重视开发过程的管理
软件工程准则
七条基本准则
1) 生命周期计划;
2) 阶段评审;
3) 变更控制;
4) 改进程序设计技术;
5) 控制人员规模;
6) 定义评审;
7) 不断改进软件工程;
软件工程的要素
方法:软件工程方法为软件开发提供了“如何做”的技术,是完成软件工程项目的技术手段;
工具:软件工具是在开发软件的活动中智力和体力的扩展和延伸,为软件工程方法提供了自动的或半自动的软件支撑环境;
过程:软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。
软件工程的组成
人员管理
项目管理
过程管理
瀑布模型
瀑布模型将软件生命周期的各项活动顺序进行,形如瀑布流水,最终得到软件产品
是最早的软件工程模型,是其他所有现代模型的基础
瀑布模型 continue
阶段任务、结果及人员
瀑布模型特征
从上一项活动接收该项活动的工作对象,作为输入;
利用这一输入实施该项活动应完成的内容;
给出该项活动的工作成果,作为输出传给下一项活动;
对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。
瀑布模型各个阶段概述
可行性分析:做还是不做
需求分析: 都有什么功能
概要设计:供有多少子功能
详细设计:子功能怎么实现
编码:子功能实现了吗
测试:功能完备吗
部署:需要多少设备和软件的支持
维护:软件运行的正常吗
可行性分析
可行性分析因素
经济
技术
社会环境
人才
需求分析
概要设计
提供多少子功能
面向对象分析(OOA)
详细设计
子功能如何实现
面向对象设计(OOD)
编码
子功能是否实现?
程序员严格按照规范编码;
测试
单元测试
系统测试
用户测试
部署
部署要求
增强自动化程度,用ant等工具
培训最终用户
要有详细计划
记录详细的过程数据
及时反馈软件兼容性缺陷
维护
一般维护分三类:
纠错性维护
改正软件漏洞、发布补丁程序
适应性维护
使得软件在新的硬件、操作系统、编译器和解释器下运行
完善性维护
增加新功能、更改原有的设计等
影响维护成本的因素
非技术因素
需求的复杂性
开发人员的岗位稳定性
软件的生命期
外部环境的变化,例如财政政策影响财务软件
技术因素
软件运行环境
编程语言
编程风格
测试工作的有效性
文档的质量
瀑布模型的优点
通过设置里程碑,明确每阶段的任务与目标
可为每阶段制定开发计划,进行成本预算,组织开发力量
通过阶
您可能关注的文档
最近下载
- 备战2023年高考语文一轮复习考点微专题(新高考地区专用)考向28 诗歌鉴赏之语言(含详解).docx VIP
- 飞机交易平台及飞机拆解项目可行性研究报告.doc
- 视听语言PPT全套教学课件.pptx
- 健康评估-河南大学-中国大学MOOC慕课答案.pdf
- 初中音乐人音版《七年级上册青年友谊圆舞曲》课件_1.ppt
- 基于Java的小区物业管理系统的设计与实现.docx VIP
- 普通话课件(完整版)教学文案.ppt
- 【清风语文精品课件】2021高中语文《静女》优质课一等奖.pptx
- 某区南1#矿石泊位升级10万吨级散货泊位工程环境影响报告书.pdf
- 2024高中语文教师课程标准考试模拟试卷及参考答案.docx VIP
文档评论(0)