1、系统需求分析与定义一、计算机系统分析二、软件需求分析三、结构化分析方法四、快速原型化方法五、面向对象分析方法六、需求分析文档的原则和评审1软件工程一、计算机系统分析 基于计算机的系统v 基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。 软件 计算机程序、数据结构、相关文档; 硬件 电子计算设备(如 CPU, 存储器)和外部机电设备(如传感器、马达等); 人 硬件和软件的用户; 数据库 一个大型的有组织的信息集合;2软件工程基于计算机系统的系统元素输入 系统过程硬件软件文档人数据库输 出3软件工程 文档 手册、表格和其它用以描述系统使用和操作的信息; 过程 定义每一种系统元素的
2、特定使用步骤,或系统驻留的过程性环境。系统的层次结构 基于计算机的系统本身可以成为一个 更大的基于计算机系统中的一个元素 ,并称为那个更大系统的 宏元素 。4软件工程工厂自动化系统工厂自动化系统库存系统制造系统 信息系统材料传输系统 制造单元机器人 数据输入设备数控机床5软件工程2. 系统分析 系统分析是一个问题求解活动,目的是 揭示 、分析所期望的功能 , 并把它们分配到各个单独的系统元素中去 。1) 与用户合作确认用户的目标和约束;2) 导出 功能 、 性能 、 接口 、 设计约束 和 信息结构的表示 ;3) 将它们分配到每一个系统元素中。6软件工程系统分析的任务 识别用户要求 评价系统的
3、可行性 进行经济分析和技术分析 把功能分配给硬件、软件、人、数据库和其他系统元素 建立成本和进度限制 生成系统规格说明,形成所有后续工程 的基的基础。础。7软件工程1)识别用户要求 分析员必须考虑以下问题:v 功能功能 和和 性能性能v 可靠性可靠性 和和 质量质量v 总的系统目标总的系统目标v 成本成本 与与 进度限制进度限制v 制造需求制造需求v 市场与竞争情况市场与竞争情况v 有效的技术有效的技术v 将来可能的扩充将来可能的扩充 识别希望的功能和性能范围 ; 确定系统的功能、性能、约束和接口 ;8软件工程2) 可行性研究 可行性研究 经济可行性 技术可行性 法律可行性 用户操作可行性 可行性研究的步骤u 确定项目的 规模 和 目标u 研究 当前正在运行的系统u 建立 新系统的高层逻辑模型9软件工程v 导出和评价 各种方案u 推荐 可行的方案u 编写 可行性研究 报告经济可行性 成本 效益分析 成本估算 专家估算技术( Delphi技术) 成本估算模型( COCOMO) 效益估算 投资回收期10软件工程