《项目开发过程》ppt课件

上传人:tia****nde 文档编号:71084615 上传时间:2019-01-19 格式:PPT 页数:68 大小:779.81KB
返回 下载 相关 举报
《项目开发过程》ppt课件_第1页
第1页 / 共68页
《项目开发过程》ppt课件_第2页
第2页 / 共68页
《项目开发过程》ppt课件_第3页
第3页 / 共68页
《项目开发过程》ppt课件_第4页
第4页 / 共68页
《项目开发过程》ppt课件_第5页
第5页 / 共68页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

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

8、的数据类型; 详细设计阶段则规定具体的实现细节。,4.2 软件概要设计,(2)数据库的设计 数据库的设计指数据存储文件的设计,主要进行以下几方面设计 概念设计。在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用ER模型来表示数据模型,这是一个概念模型。 E-R模型(实体-关系,Entity-Relationship) 矩形框-实体 菱形框-关系 椭圆形-属性 无向边-将实体和其属性连接,4.2 软件概要设计,E-R模型,4.2 软件概要设计,逻辑设计。ER模型是独立于数据库管理系统的,要结合具体的DBMS特征来建立数据库的逻辑结构。给出数据结构的定义,即定义所含的数据项、类型

9、、长度及它们之间的层次或相互关系的表格等等。 物理设计。对于不同的DBMS,应用的物理环境不同,提供的存储结构与存取方法各不相同。物理设计就是根据设计数据模式的要求,选取适合的DBMS 。 本例选用Access作为后台数据库,4.2 软件概要设计,4.2 软件概要设计,学生成绩信息数据库中包含四个基本表,分别保存学生的基本信息、成绩信息、课程信息以及系统的用户信息表,每个基本表的数据项和数据结构如下表所示: (1)学生基本信息表: 表中使用学号字段作为主键。,4.2 软件概要设计,(2)成绩信息表:表中学号和课程号为主键。学号字段是外键,引用学生基本信息表中的学号字段值。,主键:唯一能标示一个

10、记录,且不含多余项,4.2 软件概要设计,(3)课程信息表:表中使用课号字段作为主键。,(4)用户信息表:表中使用帐号字段作为主键。,3.编写概要设计文档 (1)概要设计说明书。 (2)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。 (3)用户手册,对需求分析阶段编写的用户手册作补充。 (4)修订测试计划,对测试策略、方法、步骤提出明确要求。 4.评审 对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等等都一一进行评审。,4.2 软件概要设计,4.3 软件详细设计,目的:掌

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

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

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

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

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

16、测试或数据驱动测试。通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。 (2)在接口上,能否正确地接受输入数据,能否产生正确的输出信息。 (3)访问外部信息是否有错。 (4)性能上是否满足要求等等。,4.5 软件测试,2. 白盒法 该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 黑盒法和白盒法都不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试用例。,4.5 软件测试,3.6 软件维护,目的:掌握进行软件维护工作的防范,认识维护工作的重要性 软件投入使用后就进入软件维护阶段。维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。 软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。,4.5

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

当前位置:首页 > 高等教育 > 大学课件

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