第一章
一.基本概念
什么是软件工程:
是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件工程由哪几部分组成?:程序、数据、文档
软件工程三要素:方法、工具、过程
软件过程有哪些基本活动?
①.可行性研究
②.需求的获取与分析
③.设计
④.软件的实现:编码及测试
⑤.维护
二.几个软件开发模型
1.瀑布模型
优点 | 缺点 |
---|---|
文档驱动 | 文档驱动 |
反馈循环 | 文档偏离用户目标 |
维护容易 | 不适合需求改变且实现较晚 |
2.快速原型模型
3.螺旋模型
优点 | 缺点 |
---|---|
容易测试 | 只适用于大规模软件 |
开发和维护没有明显的鸿沟 | 只适用于内部软件的开发 |
4.增量模型
优点
①分批、逐步向用户提交产品。用户从交付第一个部件之日起,就可以做一些有用的工作。
②分解成许多递增的组件。开发者可以逐步逐个开发组件。
③允许用户有更多的时间来学习和适应新的产品
缺点
①软件架构必须是开放的。
②增量组件集成不能破坏以前开发的产品。
③渐进式模型需要比瀑布模型和快速原型模型更精细的设计。
④多个组件的平行开发有无法整合的风险。
5.RUP模型
四个阶段:初始化、完善、建设、交付
九个核心工作流程:业务建模、测试、需求、部署、分析和设计、配置、实施、项目管理、环境
RUP的中心思想是:用例驱动、架构为中心、迭代和增量。
需求的类型:
①功能性需求
②非功能需求:如安全性、数据容量、速度等
数据流程图:
源点/终点:矩形
数据的处理:圆形
数据的存储:开口矩形
数据流:箭头