导图社区 软件工程
关于软件工程的思维导图,软件工程是指导计算机软件开发和维护的一门工程学科,一起阿里坎。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
软件工程学概述
杂七杂八
软件是程序,数据,文档的完整集合
做好软件定义时期的工作是降低软件成本提高软件质量的关键
面向对象方法=对象+类+继承+用消息通信
软件危机
概念:计算机软件开发和维护阶段所遇到的一系列问题
产生原因:与软件本身特点和软件开发与维护方法有关
消除危机的途径:管理和技术两方面入手
软件工程
定义:指导计算机软件开发和维护的一门工程学科
内容:技术和管理
目标:经济的开发出高质量软件
软件工程基本原理: 1.生命周期计划严格管理 2.阶段评审 3.实行产品控制 4.现代化程序技术 5.清楚地审查结果 6.人员少而精 7.承认不断改进软件工程实践的必要性
软件工程方法学:
三要素:方法+工具+过程
分类
传统方法学(生命周期方法学/结构化范型)
特点:强调自顶向下顺序完成各阶段开发任务
面向对象方法学
特点:适用于规模大,需求模糊,随时间变化;把数据和方法紧密结合,具有封装,继承,多态性:主动地多次反复迭代
出发点和原则:尽量模拟人类习惯的思维方式,使软件开发的方法和过程尽可能接近人类认识世界,解决问题的方法和过程
优点:促进了软件重用,继承性和多态性进一步提高了面向对象软件的重用性
软件的生命周期
三个时期/八个阶段
软件定义
问题定义
可行性研究
需求分析(规格说明书)
软件开发
总体设计(概要设计)
详细设计(模块设计)
编码和单元测试
综合测试(最基本的是集成测试和验收测试)
运行维护
维护
改正性维护
适应性维护
完善行为维护
预防性维护
软件过程
定义:为了获得高质量软件所完成的一系列任务框架,规定了完成各项任务的工作步骤
过程模型
瀑布模型
特点:顺序性和依赖性:推迟实现,质量保证,文档驱动,规范开发人员
缺点:过分依赖于规格说明文档,往往软件不能真正满足用户需要
快速原型模型
特点:快速建立一个原形系统供用户试用,获取修改意见进行改进,书写满足用户真实需求的文档
缺点:可能忽略技术问题,不适用于大型,复杂项目开发
增量模型
特点:分批提交产品,第一个构件实现软件基本需求,提供最核心功能。较短时间内提交,给用户适应和学习时间
缺点:对项目管理人员以及开发人员有较高要求
螺旋模型
特点:增加了风险分析过程的快速原型模型,适用于内部开发的大规模项目
缺点:要求开发人员有风险评估经验和专业知识
喷泉模型
特点:面向对象生命周期模型,迭代,无缝,相互重叠多次反复
缺点:需要大量开发人员,须严格管理文档
其他
Rational统一过程:迭代和渐增
敏捷过程与极限编程XP:小型项目
微软过程模型:综合前两者优点