项目开发过程

上传人:206****923 文档编号:51718774 上传时间:2018-08-16 格式:PPT 页数:68 大小:584.50KB
返回 下载 相关 举报
项目开发过程_第1页
第1页 / 共68页
项目开发过程_第2页
第2页 / 共68页
项目开发过程_第3页
第3页 / 共68页
项目开发过程_第4页
第4页 / 共68页
项目开发过程_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《项目开发过程》由会员分享,可在线阅读,更多相关《项目开发过程(68页珍藏版)》请在金锄头文库上搜索。

1、项目开发过程 4. 需求分析 4. 软件概要设计 4. 软件详细设计 4. 软件实现 4. 软件测试 4. 软件维护 项目开发过程 n设计系统:学生管理系统 n以该系统设计为例。介绍一般管理项 目的开发过程4.1 需求分析 n目的:了解需求分析任务n开发人员要准确理解用户的要求,进行细致的 调查分析,将用户非形式的需求陈述转化为完 整的需求定义,再由需求定义转化到相应的形 式功能规约(需求规格说明)的过程。 n需求分析虽处于软件开发过程的初期阶段,但它 对于整个软件开发过程以及软件产品质量是至 关重要的。随着软件系统复杂性的提高及规模 的扩大,需求分析在软件开发中的所处的地位 愈加突出,从而也

2、愈加困难。需求分析的基本任务包括: 1问题识别 (1)功能需求:n明确所开发的软件必须具备的功能。 (2)性能需求:n明确待开发的软件的技术性能指标。 (3)环境需求:n明确软件运行时所需要的软、硬件要求 (4)用户界面需求:n明确人机交互方式、输入输出数据格式。4.1 需求分析n随着学校规模的不断扩大,学生数量日益剧增,有 关学生的各种信息量也急剧增长,原始的手工登记 、手工查阅方法已经不能满足我们快速检索的要求 。面对这种形式,需要开发一个能够满足用户需求 的系统, (1)功能需求:n实现学籍信息的增加、删除、修改以及查询等管理 功能; n管理与学生相关的课程及成绩等信息; n基本上满足一

3、个学校学生信息管理各方面的功能要 求。 4.1 需求分析(2)性能需求n能够很方便快捷的管理学生的基本信息 n保证信息的安全,防止非法破坏 (3)环境需求n安装软件系统的机器配置和外设等 (4)用户界面需求n图形化、支持键盘、快捷键和鼠标等4.1 需求分析2分析与综合,导出软件的逻辑模型n分析人员对获取的需求,进行一致性的分析检查, 在分析、综合中逐步细化软件功能,划分成各个子 功能。用图文结合的形式,建立起新系统的逻辑模 型。 n开发学生管理系统的目的是为了提高学校管理学生 信息的效率,实现学生信息管理的系统化、规范化 。4.1 需求分析n系统最终要实现的主要功能: 学生基本信息管理:对学生

4、基本信息进行添加、 修改、删除等。 学生成绩信息管理:对学生的成绩进行管理,包 括增加新课程成绩、修改和删除原有课程成绩、 查询成绩等; 学生的课程管理:对学生所学课程进行增加、删 除、修改、查询等管理操作; 用户和权限管理:按照各种权限管理用户信息, 包括增加、删除、修改用户信息等功能。 4.1 需求分析n数据库需求分析 : 根据学生成绩管理系统所需要的信息进行分析, 为本系统设计如下的数据库结构: 学生成绩信息数据库中包含四个基本表,分别保 存学生的基本信息、成绩信息、课程信息以及系 统的用户信息表。4.1 需求分析3编写文档(1) 编写“需求规格说明书”,把双方共同的理解与 分析结果用规

5、范的方式描述出来,作为今后各项 工作的基础。 (2) 编写初步用户使用手册,着重反映被开发软件的 用户功能界面和用户使用的具体要求,用户手册 能强制分析人员从用户使用的观点考虑软件。 (3) 编写确认测试计划,作为今后确认和验收的依据 (4) 修改完善软件开发计划。在需求分析阶段对待开 发的系统有了更进一步的了解,所以能更准确地 估计开发成本、进度及资源要求,因此对原计划 要进行适当修正。 4.1 需求分析4.2 软件概要设计 n在软件需求分析阶段,已经搞清楚了软件“做什 么”的问题,并把这些需求通过规格说明书描述 了出来,建立了目标系统的逻辑模型。 n进入了设计阶段,要把软件“做什么”的逻辑

6、模 型变换为“怎么做”的物理模型,即着手实现软 件的需求,并将设计的结果反映在“设计规格说 明书”文档中。n软件设计是一个把软件需求转换为软件表示的 过程,最初这种表示只是描述了软件的总的体 系结构,称为软件概要设计或结构设计。 软件概要设计的基本任务包括: 1. 设计软件系统结构(简称软件结构)n为了实现目标系统,最终必须设计出组成这个系统 的所有程序和数据库(文件),对于程序,则首先进 行结构设计,具体为:(1)采用某种设计方法,将一个复杂的系统按功能划 分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息(5)评价模块结构的质量

7、。 4.2 软件概要设计 n根据以上内容,软件结构的设计是以模块为基 础的,在需求分析阶段,已经把系统分成层次 结构。设计阶段,以需求分析的结果为依据, 从实现的角度进一步划分为模块,并组成模块 的层次结构。 n软件结构的设计是概要设计关键的一步,直接 影响到下一阶段详细设计与编码的工作软件系 统的质量及一些整体特性都在软件结构的设计 中决定。 4.2 软件概要设计 4.2 软件概要设计 2.数据结构及数据库设计n对于大型数据处理的软件系统,除了控制结构的 模块设计外,数据结构与数据库设计也是很重要 。(1)数据结构的设计n逐步细化的方法也适用于数据结构的设计。需求 分析阶段,在数据字典中对数

8、据的组成、操作约 束、数据之间的关系等方面进行描述,确定了数 据的结构特性; n在概要设计阶段要细化抽象的数据类型; n详细设计阶段则规定具体的实现细节。4.2 软件概要设计 (2)数据库的设计n数据库的设计指数据存储文件的设计,主要进行 以下几方面设计 概念设计。在数据分析的基础上,采用自底向上 的方法从用户角度进行视图设计,一般用ER模型 来表示数据模型,这是一个概念模型。 nE-R模型(实体-关系,Entity-Relationship) n矩形框-实体 n菱形框-关系 n椭圆形-属性 n无向边-将实体和其属性连接4.2 软件概要设计 E-R模型4.2 软件概要设计 逻辑设计。ER模型是

9、独立于数据库管理系统的 ,要结合具体的DBMS特征来建立数据库的逻辑 结构。给出数据结构的定义,即定义所含的数 据项、类型、长度及它们之间的层次或相互关 系的表格等等。 物理设计。对于不同的DBMS,应用的物理环 境不同,提供的存储结构与存取方法各不相同 。物理设计就是根据设计数据模式的要求,选 取适合的DBMS 。 n本例选用Access作为后台数据库4.2 软件概要设计 4.2 软件概要设计 n 学生成绩信息数据库中包含四个基本表,分别保 存学生的基本信息、成绩信息、课程信息以及系 统的用户信息表,每个基本表的数据项和数据结 构如下表所示: (1)学生基本信息表:表中使用学号字段作为主键。

10、字段名数据类 型长 度值唯一必填 项默认值学号文本15无 姓名文本10无 性别文本2无 出生日 期日期/时 间无班级文本10无4.2 软件概要设计 (2)成绩信息表:表中学号和课程号为主键。学号 字段是外键,引用学生基本信息表中的学号字段值 。字段名数据类 型长 度值唯 一必填项默认 值 学号 文本15无 课程号文本10无 分数数字4无主键:唯一能标示一个记录,且不含多余项4.2 软件概要设计 (3)课程信息表:表中使用课号字段作为主键。字段名 数据类型长 度值唯 一必填 项默认值课号文本15无 课程文本20无(4)用户信息表:表中使用帐号字段作为主键。字段名数据类型 长度 值唯一 必填项默认

11、值 用户名文本15无 密码文本10无 权限文本10无3.编写概要设计文档 (1)概要设计说明书。 (2)数据库设计说明书,主要给出所使用的DBMS简介、 数据库的概念模型、逻辑设计、结果。 (3)用户手册,对需求分析阶段编写的用户手册作补充。 (4)修订测试计划,对测试策略、方法、步骤提出明确要 求。 4.评审n对设计部分是否完整地实现了需求中规定的功能、性 能等要求,设计方案的可行性,关键的处理及内外部 接口定义正确性、有效性,各部分之间的一致性等等 都一一进行评审。 4.2 软件概要设计 4.3 软件详细设计 n目的:掌握软件详细设计的任务和思想 n详细设计的基本任务有(1)为每个模块进行

12、详细的算法设计。用某种图形、 表格、语言等工具将每个模块处理过程的详细算法描 述出来。 (2)为模块内的数据结构进行设计。对于需求分析、概 要设计确定的概念性的数据类型进行确切的定义。 (3)对数据结构进行物理设计,即确定数据库的物理结 构。物理结构主要指数据库的存储记录格式、存储记 录安排和存储方法,这些都依赖于具体所使用的数据 库系统。 (4)其他设计:根据软件系统的类型,还可能要进行以 下设计: 代码设计。为了提高数据的输入、分类、存储、检 索等操作,节约内存空间,对数据库中的某些数据项 的值要进行代码设计。 输入/输出格式设计。 人机对话设计。对于一个实时系统,用户与计算机 频繁对话,

13、因此要进行对话方式、内容、格式的具体 设计。 (5)编写详细设计说明书。 (6)评审。对处理过程的算法和数据库的物理结构都要 评审 4.3 软件详细设计 4.3 软件详细设计 n 设计主窗体如图所示:4.3 软件详细设计 n 登录窗体 修改密码 4.3 软件详细设计 n 添加、删除用户窗体 4.3 软件详细设计 n 添加、修改学籍窗体4.3 软件详细设计 n 查询学籍窗体4.3 软件详细设计 n 添加、修改课程窗体4.3 软件详细设计 n 输入成绩窗体4.3 软件详细设计 n 修改成绩窗体4.3 软件详细设计 2 .数据库实现 n 启动Access,创建一个新的数据库,命名为 student.

14、mdb,保存在要存放这个系统的所有工程 文件的文件夹中。 n 学生成绩信息数据库中的表格设计视图如下所示 ,每个表格都代表数据库中的一个独立的表。 n 学生基本信息设计视图: 4.3 软件详细设计 n 成绩信息设计视图:n 课程信息设计视图:4.3 软件详细设计 n 系统用户设计视图:4.4 软件实现 n目的:使用编程工具完成系统编码 n在软件实现阶段,根据详细设计用编程语言编写所需 的程序。这个阶段的文档包括软件需求规格说明书 、高层设计说明书、详细设计说明书、 单元测试计划编码、用户接口标准等,输出有测试 数据、源代码、可执行代码、单元测试报告,需 要完成的任务包括: 1.根据详细设计,按

15、照编码、用户接口规范编写程序 2.对程序进行代码复查、编译、调试,直到程序运行通 过,符合详细设计的要求; 3.根据单元测试计划进行单元测试,生成单元测试报告 。4.5 软件测试 n目的:掌握进行测试工作的方法和技巧 n软件测试是为了发现错误而执行程序的过程, 一个好的测试用例能够发现至今尚未发现的错 误,一个成功的测试是发现了至今尚未发现的 错误的测试。因此,测试阶段的基本任务应该 是根据软件开发各阶段的文档资料和程序的内 部结构,精心设计一组“高产”的测试用例, 利用这些实例执行程序,找出软件中潜在的各 种错误和缺陷。 n软件测试方法一般分为两大类:动态测试方法 与静态测试方法。 1. 静

16、态测试 静态测试是指被测试程序不在机器上运 行,而是采用人工检测和计算机辅助静态分析的手 段对程序进行检测。 (1)人工检测。人工检测是不依靠计算机而是靠人工审 查程序或评审软件。 (2)计算机辅助静态分析。利用静态分析工具对被测试 程序进行特性分析,从程序中提取一些信息,以便 检查程序逻辑的各种缺陷和可疑的程序构造。 2. 动态测试 一般意义上的测试大多是指动态测试。 有两种方法,分别是黑盒测试法和白盒测试法。 4.5 软件测试 n黑盒测试法与白盒测试法 1. 黑盒法 该方法把被测试对象看成一个黑盒子, 测试人员完全不考虑程序的内部结构和处理过程 ,只在软件的接口处进行测试,依据需求规格说 明书,检查程序是否满足功能要求。因此,黑盒 测试又称为功能测试或数据驱动测试。通过黑盒 测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。 (2)在接口上,能否正确地接受输入数据,能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号