一、软件计划
1、步骤
问题提出
可行性研究报告、步骤
软件计划内容
软件价格评估
成本/效益分析
2、问题提出内容
项目、背景、项目目标、项目范围、初步设想、可行性研究
3、可行性研究
确定项目的总的目标和总的需求
经济可行性、技术可行性、操作可行性、法律可行性、时间可行性
可行性研究步骤
4、软件价格估计
参数化算法、代码行(loc)价格估算技术、任务分解法
二、需求分析
1、需求分析的任务
需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的逻辑模型,解决目标系统的“做什么”的问题。
认清问题
分析资料
建立分析模型
编写软件需求规格说明书
2、需求分析内容
3、需求分析步骤
1、需求获取:理解当前系统,获得具体模型
2、分析建模:根据具体模型,抽象出当前系统的逻辑模型和目标系统逻辑模型
3、文档编写:软件规格说明书(描述目标系统逻辑模型的文档)
4.需求验证:软件需求规格说明书可作为软件设计和最终系统验收的依据。
4、需求分析方法
目的:为了更好地理解需求获取过程中用户描述的问题
1、结构化分析方法:面向数据流进行需求分析的方法(先找出一个主线),按照功能分解,根据软件内部数据传递、变换关系,自顶向下逐层分解,知道找到满足所有功能要求的可实现的逻辑模型为止。
应用数据流图、数据字典、结构化英语、判定表、判定树
2、原型化方法:对系统快速分析,找出主要需求,进行分析。
形式:探索型、实验型、进化型
3、常用的动态分析方法:
状态迁移图(描述系统的状态,如何从一种状态变化到另一种状态)——状态迁移表
时序图
Petri网:使用与描述与分析相互独立、协同操作的处理系统(有向图)
4、面向对象分析模型
对对象定义属性——赋予操作——描述活动特点——通过消息反映对象内与间的关系
对象的三个要素:
数据交换(功能模型):确定什么事件发生,反应的是系统模型的输入和输出。
静态结构(对象模型):定位在哪个对象上,反映对象与对象之间和内部的关系表达目标系统的静态结构。
交互次序(动态模型):决定在什么时候,什么条件下发生。