zhai1997

1、 软件生命周期
软件定义时期(问题定义阶段、可行性研究阶段、需求分析)、软件开发时期(摘要、详细、编码、测试)、运行维护时期


2、 软件过程模型定义
(1) 软件过程:
规定了完成各项任务的工作步骤,完成一系列任务的框架。
(2)模型:
没有通用性,要根据实际情况而定。


3、软件工程过程模型

(1)瀑布模型

举例:

工作清单:功能(需求分析)

其他说明(例如:结合用户的实际情况,界面简洁、易操作等)(需求分析)
开发工具(概要设计)
开发环境(概要设计)
工作量(如何具体工作)(概要设计)
写代码思考(详细设计)
写代码(实现)
检测(测试)
(交付)
(维护)

特点:
每个阶段之间有顺序性、依赖性(实际的瀑布模型是有“反馈环”的,在完成后面的内容的时候,前面有问题可以及时处理)
推迟实现的观点:注重前期的准备工作
质量保证的观点:每个过程有文档并进行审核


优点:
强迫开发人员采用规范的方法
文档驱动模型

缺点:
个阶段之间反馈较少
项目的生命周期后期才鞥看到结果
灵活性不够
早期的错误可能会在后面暴露,后果比较严重

 

(2)快速原型模型:获取用户的主要需求后,快速建立一个原型系统。

类型:
探索型原型:需求分析阶段,弄清用户的需求
实验型原型:设计阶段,考核设计方案是否合理
演化型原型:得到用户认可后不断扩充为目标系统


步骤:
快速分析:与用户配合确定需求
构造原型
运行原型:发现问题、消除误解
评价原型:提出修改意见
修改

优点:克服瀑布模型的缺点(最后才能看到效果)减少由于需求不明确带来的缺点
缺点:连续的修改可能会降低软件的质量

 

(3)增量模型

特点:一个构件一个构件地完成(构建之间无联系),逐步向用户提交产品。

优点:用户有足够的时间适应新产品。

缺点:加入构件不能破坏以前的系统

           需求的改变,可能演化为边做边改的模型

适用范围:适用于模块化、分批次交付、一次性开发难度大的项目

 

(4)螺旋模型:在每一个阶段之前加上风险分析

(5)喷泉模型:迭代的方式进行

(6)RUP(统一过程)

  阶段:

         初始阶段(确定项目边界)

         细化阶段(分析问题)

         构建阶段(开发)

         交付(满足用户需求)

 4、软件开发过程的建模与文档

 

(1)项目前期:

现状分析(目标单位硬件软件两方面)、收集需求、粗略设计(高层的抽象模型)、可行性分析(技术、经济、社会等)

需求说明书:用户关于未来软件系统的功能性和非功能性需求

技术应答书:用户关心的技术问题以及未来拟应对的策略

软件任务立项报告:项目的名称、性质、目标、意义和规模等

可行性研究报告:涵盖软件立项报告,增加了可行性分析的相关信息

(2)需求分析

以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件给出完整、准确、具体的描述,用于确定软件的规格

(3)概要设计

要把ER模型转换为逻辑模型

(4)详细设计和实现

目的、背景、定义和参考资料

程序系统的结构

每个模块的设计说明

(5)编码

(6)测试

(7)项目结束

项目开发总结报告

 

分类:

技术点:

相关文章: