软件工程导论(上).ppt

一般意义上的成功的标准: 用户在用 用户可很容易做完要做的事 失败的根本原因: 开发人员写出的东西达不到 用户要求(人的问题.技术问题) yet, Success Hasn?t Come Easily 严格义上的成功的标准: 时间 成本 质量 软件危机的主要特征 软件开发周期大大超过规定日期; 软件开发成本严重超标; 软件质量难于保证。 软件工程框架 处在十字路口的中国软件产业 主权大国必须建立基于自主技术的、 完整的软件产业体系。 软件本国提供率:中国1/3左右,美国97% “印度模式”还是“中国模式” 软件人才结构不合理, 缺乏中高级软件人才, 软件人员缺乏软件工程化的概念。 软件生命周期(3) (1)可行性研究与计划(问题定义) (2)需求分析 (3)总体设计(概要设计) 上游 (4)详细设计 (5)实现 (6)集成测试 (7)确认测试 下游 (8)使用和维护 (根据国标《计算机软件开发规范》) 1.问题定义; 2.可行性分析; 3.需求分析; 4.总体设计; 5.详细设计; 6.编码; 7.测试; 8.运行与维护。 1.4 软件开发模型 软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件开发模型也常称为: 软件过程模型 软件生存期模型 软件工程范型 1. 瀑布模型 (线形顺序模型) 1.阶段间具有顺序性和依赖性; 2.推迟实现的观点; 3.需求冻结的观点; 4.质量保证的观点: 每个阶段必须完成规定的文档; 每个阶段结束前完成文档审查; 尽早改正错误。 2. 原型模型(快速成型模型) 采用原型模型的软件生存周期 3. 演化模型 3.1 增量模型(递增模型) 先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。 3.2 螺旋模型 3.2 螺旋模型 “基于版本发布”的特点 Trade-off Decision (折中决定) 4. 喷泉模型 喷泉模型特点 主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征 5.智能模型(Intelligence Model) 智能模型也称为基于知识的软件开发模型,它综合了上述若干模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用归约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。为此,建立了知识库,将模型、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含有应用领域知识规则的其他专家系统相结合,构成了这一应用领域软件的开发系统。 6. 可重用部件组装模型 使用重用技术的软件工程模型 构件(components):可重用的软件成份 可复用性(Reusability) (可重用性) 集成化软件开发环境(ISEE) 可重用部件组装模型 软件生产线 系统流程图示例: 思考、涉及的几个问题 如何定义系统需求? 如何识别、获取需求? 你能够采取何种手段与用户进行 交流沟通? 何为需求建模? 你如何理解模型与建模? 软件需求分析的几个阶段 问题分析 问题评估和方案综合 建模 规约 复审 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)” 何为用户需求? 如何获取用户需求? (1)功能性需求: 定义了系统做什么(描述系统必须支持 的功能和过程) (2)非功能性需求(技术需求): 定义了系统工作时的特性 (描述操作环境和性能目标) 需求获取的目的 清楚地理解所要解决的问题 完整地获取用户需求 需求获取面临的挑战 问题空间理解 人与人之间的通信 需求的不断变化 (1) 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10) 软件成本消耗与开发进度 (11) 质量保证 (1) 功能需求 系统做什么? 系统何时做什么? 系统何时及如何修改或升级? (2)

文档评论(0)

1亿VIP精品文档

相关文档