导图社区 《软件工程导论》-1 - 软件工程学的概述
软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
社区模板帮助中心,点此进入>>
电费水费思维导图
D服务费结算
材料的力学性能
总平面图知识合集
软件项目流程
一级闭合导线
建筑学建筑材料思维导图
第二章土的物理性质及工程分类
人工智能的运用与历史发展
电池拆解
软件工程学的概述
1. 什么是软件
程序,数据,文档
2. 软件的特点
软件是一种逻辑实体,而非有形的系统元件(抽象导致进度和开发成本难以估算)
标注
没有明显的制造过程(但维护工作量大)
没有磨损老化的问题(维护需要修改,提高故障率)
3. 软件的分类
系统软件
支撑软件
应用软件
4. 软件的发展
程序设计阶段(46-56)
程序系统阶段(56-68)(出现软件危机)
软件工程阶段(68以后)
5. 什么是软件危机
在软件的开发和维护中所遇到的一系列的严重问题,包含两个方面
如何开发软件,满足日益增长的需求
如何维护已存在的不断膨胀的软件
6. 软件危机的典型表现(仅有少数软件能够及时,不超预算,无差错,满足客户需求的交付)
对软件开发成本和进度的估计不准确
用户不满意成品软件
软件质量不可靠
软件不可维护
软件没有合适的文档
软件的生产率跟不上软件的发展速度
软件成本在逐年上升
7. 产生软件危机的原因
软件本身的特点
管理软件开发很困难
不可能测试出全部错误
规模庞大,技术和管理困难
开发与维护的方法不正确
忽视需求分析
轻视软件维护
8. 消除软件危机的途径(软件工程正是从“管理和技术”两方面更好的“开发和维护”软件)
不要觉得计算机就是程序
要有技术措施和管理措施
严密管理,良好组织
推广成功的技术方法
使用更好的软件工具
9. 什么是软件工程
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
10. 软件工程的本质特征
关注大型程序的构造
中心课题是控制复杂性
软件经常变化
开发效率很重要
11. 软件工程的基本原理
分阶段生命周期严格管理
坚持阶段评审
严格的产品控制
使用现代程序技术
结果应该清楚地审查
开发小组少而精
承认需要不断改进的必要性
12. 软件工程方法学(软件工程生命周期全过程的一整套技术的集合称为“方法学”,三要素是:方法,工具,过程)
传统方法学(结构化范型,生命周期方法学)
每个阶段独立
每个阶段结束要经过严格审查,保证了质量
缺点:不适合规模较大,需求模糊的软件,因为后期会有所变动,无法将数据与行为结合起来
面向对象方法学
结合数据与行为
尽可能模拟人类思维习惯
对象与现实实体相对应
13. 软件生命周期
软件定义
问题定义(要解决的问题是什么)
可行性研究(是否有行得通的办法)
需求分析(目标系统做什么)
软件开发
概要设计(怎样实现目标系统)--->哪些模块,模块间的关系
详细设计(怎样具体实现模块)--->设计每个模块,确定模块的算法和数据结构
怎么做
编码(写出正确的,容易理解的,容易维护的模块)
测试
运行维护
14. 什么是软件过程?
为了开发出高质量软件而完成的一系列任务的框架,包括各项任务的步骤,技术方法的顺序,各个阶段交付的文档,管理措施等
15. 软件过程
良好的过程要有以下特点
易理解性
可见性:每个过程都有明确的结果
可支持性:得到CASE工具的支持
可接受性:容易被软件工程师接受
可靠性:避免出现过程错误,或者能及时发现错误
健壮性:不受意外发生的干扰
可维护性
高效率
过程模型
什么是软件生命周期模型?
也叫“过程模型”,规定了把软件生命周期划分成哪些阶段以及各个阶段的执行顺序
瀑布模型(线性顺序模型)
优点
顺序性:前阶段完成后阶段才能开始
推迟实现:避免急于求成导致返工
质量保证:每个阶段都必须提交文档
缺点
出现阻塞状态
只有在开发晚期才能得到可运行版本
不适应需求变化发生改变的系统
快速原型模型
快速建立原型,可以明确需求,减少需求不明确风险
不适用于大型系统
缺乏规范文档
螺旋模型(风险分析的快速原型)
增量模型(渐增模型)
喷泉模型(面向对象)
迭代(活动交叠),无缝(OO方法一致性)
---------------下面是新兴模型------------------
Rational统一过程(RUP)
适用于大型,需求不断变化
敏捷过程与极限编程
适用于小型,有限开发时间的项目
微软过程:综合了以上两种优点
适用于有限资源和有限开发时间的项目
课后题目