一、软件过程模型
1.瀑布模型
阶段:
项目规划、系统分析、总体设计、详细设计、编码调试和集成测试、运行维护阶段。
为什么叫瀑布模型:
必须按照模型定义的顺序从阶段1到阶段6进行软件项目的开发。
特点:
阶段具有顺序性和依赖性,前一个阶段结束,后一个阶段才能开始。推迟程序的物理实现,保证前期工作扎实。
每个阶段要求提交完整准确的阶段工作文档,经过严格的评审确认后才能开始下一阶段的活动(错误是具有放大效应的)。
文档驱动。
保证:
阶段工作的有效性、一致性、完备性。
缺点:
潜在需求不能在项目的前期阶段完整清晰地描述出来,而常常是随着项目的深入推进,需求不断清晰。
2.螺旋模型
特点:
加入了风险分析,适用于大型软件开发。
软件风险:
超期、超预算、行业竞争等。
四个阶段:
项目规划、风险评估、工程实现、用户评估。
从项目规划开始,如果风险可消除或承受,进入实现阶段。
为什么叫螺旋:
每完成一次这四个工作,形成一个新版本,螺线就向外扩一圈,直到通不过风险分析。
优点:
对大型软件开发项目具有很好的风险控制。
缺点:
需要风险评估经验。
不普及。
3.快速原型模型
概念:
确定目标系统功能特点和性能需求,编写基本需求说明书,构建出可运行的早期版本,在用户的参与下经过不断改进和完善,最终得到满意的目标系统。
阶段:
快速分析、设计构造原型、运行原型、评价模型、改进原型。
优点:
提供学习手段,便于开发者和使用者了解系统。有的原型可称为最终产品的一部分。
缺点:
内部结构可能不好。连续修改可能导致产品质量底下。
什么产品适用:
需求不确定的软件。
二、DBAS生命周期模型
1.规划与定义
任务陈述、确定任务目标、确定系统范围和边界、确定用户视图。
2.可行性分析
技术:硬件、软件、方案。
经济:硬件购置费用、开发费用、人工费用、材料费用、系统安装、运行、维护费用
操作可行性:硬件、软件、工作环境。
开发方案:是否委托开发,选用什么模型。
完成分析后,应形成相应的数据库应用系统开发可行性研究报告,交给管理部门评审。
3.项目规划
确定项目目标和范围。
分析和定义工作活动和任务。
估算规模和所需资源。
制定项目计划、包括成本、进度、质量等方面的预测和控制方案。
应形成系统项目计划文档,即项目计划书。
三、需求分析(需求分析需要形成需求规范说明文档)
数据需求分析:
形成数据字典的主要内容。包括:数据项、数据结构、数据流、数据存储、处理过程。
数据流:名、来源、取向、组成(数据结构)。
数据元素:类型、长度、取值范围、相关数据元素和数据结构。
数据存储:简述、输入输出数据、数据文件组成、存储方式。
处理:名、输入输出数据流、加工逻辑、功能简述。
方法:自顶向下数据分解,比如:某个信息由那几条数据项组成。
功能需求分析:
数据处理需求分析:
数据处理需求分析从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作。
分析结果:数据流图。(面向对象)。
数据需求分析和处理需求分析结果构成数据字典文档,也被称为数据规范说明书。成为下一步的输入文档。
也可表示为事务规范:事务名称、事务描述、事务所访问的数据项、事务用户。
业务规则需求分析:
主要面向系统开发者。
内容:业务功能、处理流程和步骤。关键技术原理和选择,人机交互模式。
作用:反映了程序功能和性能需求。
结果:用自然语言或UML或其他描述机制描述。
性能需求分析:
性能指标:响应时间、吞吐量、允许并发最大用户数、每TPS代价值。
影响因素:硬件资源、网络通信设备、操作系统环境、逻辑设计和物理设计质量、DBMS配置和性能、应用程序自身。
其他需求分析:存储需求(初始大小,增长速度)、安全性需求(安全控制级别,用户视图访问权限)、备份和恢复需求分析。
四、系统设计
1.概念设计
概念模型设计:
根据需求规范说明文档,将关联关系用概念数据模型表示出来,如常见的ER方法。
系统总体设计:
内容:DBAS体系结构设计、系统硬件平台的选型和配置、应用软件结构设计、对识别出的业务规则进行初步设计、对关键技术进行方案选型和初步设计。
2.逻辑设计
数据库逻辑结构设计:
在ER图基础上设计数据库关系模式。
应用程序概要设计:
将应用软件模块划分为子模块。
数据库事务概要设计:
将操作抽象,使与具体DBMS平台无关。
3.物理设计
物理结构设计:
数据文件在外存上的存储结构和存取方法,依赖于具体环境。
事务详细设计:
用SQL语言等设计数据库事务。
应用程序详细设计:
设计各模块处理流程和算法、数据结构、对外详细接口。
五、实现与部署
内容:
建立数据库结构、数据加载、编码及测试、集成测试,试运行、系统部署。
六、运行管理与维护