欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《项目开发过程》PPT课件.ppt

    • 资源ID:5619913       资源大小:527KB        全文页数:68页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《项目开发过程》PPT课件.ppt

    第四章 项目开发过程,4.需求分析 4.软件概要设计 4.软件详细设计 4.软件实现 4.软件测试4.软件维护,第四章 项目开发过程,设计系统:学生管理系统以该系统设计为例。介绍一般管理项目的开发过程,4.1 需求分析目的:了解需求分析任务开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。需求分析虽处于软件开发过程的初期阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中的所处的地位愈加突出,从而也愈加困难。,需求分析的基本任务包括:,1问题识别(1)功能需求:明确所开发的软件必须具备的功能。(2)性能需求:明确待开发的软件的技术性能指标。(3)环境需求:明确软件运行时所需要的软、硬件要求(4)用户界面需求:明确人机交互方式、输入输出数据格式。,4.1 需求分析,随着学校规模的不断扩大,学生数量日益剧增,有关学生的各种信息量也急剧增长,原始的手工登记、手工查阅方法已经不能满足我们快速检索的要求。面对这种形式,需要开发一个能够满足用户需求的系统,(1)功能需求:实现学籍信息的增加、删除、修改以及查询等管理功能;管理与学生相关的课程及成绩等信息;基本上满足一个学校学生信息管理各方面的功能要求。,4.1 需求分析,(2)性能需求能够很方便快捷的管理学生的基本信息保证信息的安全,防止非法破坏(3)环境需求安装软件系统的机器配置和外设等(4)用户界面需求图形化、支持键盘、快捷键和鼠标等,4.1 需求分析,2分析与综合,导出软件的逻辑模型分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。用图文结合的形式,建立起新系统的逻辑模型。开发学生管理系统的目的是为了提高学校管理学生信息的效率,实现学生信息管理的系统化、规范化。,4.1 需求分析,系统最终要实现的主要功能:学生基本信息管理:对学生基本信息进行添加、修改、删除等。学生成绩信息管理:对学生的成绩进行管理,包括增加新课程成绩、修改和删除原有课程成绩、查询成绩等;学生的课程管理:对学生所学课程进行增加、删除、修改、查询等管理操作;用户和权限管理:按照各种权限管理用户信息,包括增加、删除、修改用户信息等功能。,4.1 需求分析,数据库需求分析:根据学生成绩管理系统所需要的信息进行分析,为本系统设计如下的数据库结构:学生成绩信息数据库中包含四个基本表,分别保存学生的基本信息、成绩信息、课程信息以及系统的用户信息表。,4.1 需求分析,3编写文档(1)编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。(2)编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。(3)编写确认测试计划,作为今后确认和验收的依据(4)修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。,4.1 需求分析,4.2 软件概要设计,在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,建立了目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中。软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。,软件概要设计的基本任务包括:,1.设计软件系统结构(简称软件结构)为了实现目标系统,最终必须设计出组成这个系统的所有程序和数据库(文件),对于程序,则首先进行结构设计,具体为:(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息(5)评价模块结构的质量。,4.2 软件概要设计,根据以上内容,软件结构的设计是以模块为基础的,在需求分析阶段,已经把系统分成层次结构。设计阶段,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。软件结构的设计是概要设计关键的一步,直接影响到下一阶段详细设计与编码的工作软件系统的质量及一些整体特性都在软件结构的设计中决定。,4.2 软件概要设计,4.2 软件概要设计,2.数据结构及数据库设计对于大型数据处理的软件系统,除了控制结构的模块设计外,数据结构与数据库设计也是很重要。(1)数据结构的设计逐步细化的方法也适用于数据结构的设计。需求分析阶段,在数据字典中对数据的组成、操作约束、数据之间的关系等方面进行描述,确定了数据的结构特性;在概要设计阶段要细化抽象的数据类型;详细设计阶段则规定具体的实现细节。,4.2 软件概要设计,(2)数据库的设计数据库的设计指数据存储文件的设计,主要进行以下几方面设计概念设计。在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用ER模型来表示数据模型,这是一个概念模型。E-R模型(实体-关系,Entity-Relationship)矩形框-实体菱形框-关系椭圆形-属性无向边-将实体和其属性连接,4.2 软件概要设计,E-R模型,4.2 软件概要设计,逻辑设计。ER模型是独立于数据库管理系统的,要结合具体的DBMS特征来建立数据库的逻辑结构。给出数据结构的定义,即定义所含的数据项、类型、长度及它们之间的层次或相互关系的表格等等。物理设计。对于不同的DBMS,应用的物理环境不同,提供的存储结构与存取方法各不相同。物理设计就是根据设计数据模式的要求,选取适合的DBMS。本例选用Access作为后台数据库,4.2 软件概要设计,4.2 软件概要设计,学生成绩信息数据库中包含四个基本表,分别保存学生的基本信息、成绩信息、课程信息以及系统的用户信息表,每个基本表的数据项和数据结构如下表所示:(1)学生基本信息表:表中使用学号字段作为主键。,4.2 软件概要设计,(2)成绩信息表:表中学号和课程号为主键。学号字段是外键,引用学生基本信息表中的学号字段值。,主键:唯一能标示一个记录,且不含多余项,4.2 软件概要设计,(3)课程信息表:表中使用课号字段作为主键。,(4)用户信息表:表中使用帐号字段作为主键。,3.编写概要设计文档(1)概要设计说明书。(2)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。(3)用户手册,对需求分析阶段编写的用户手册作补充。(4)修订测试计划,对测试策略、方法、步骤提出明确要求。4.评审对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等等都一一进行评审。,4.2 软件概要设计,4.3 软件详细设计,目的:掌握软件详细设计的任务和思想详细设计的基本任务有(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。,(4)其他设计:根据软件系统的类型,还可能要进行以下设计:代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。输入/输出格式设计。人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。(5)编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审,4.3 软件详细设计,4.3 软件详细设计,设计主窗体如图所示:,4.3 软件详细设计,登录窗体 修改密码,4.3 软件详细设计,添加、删除用户窗体,4.3 软件详细设计,添加、修改学籍窗体,4.3 软件详细设计,查询学籍窗体,4.3 软件详细设计,添加、修改课程窗体,4.3 软件详细设计,输入成绩窗体,4.3 软件详细设计,修改成绩窗体,4.3 软件详细设计,2.数据库实现启动Access,创建一个新的数据库,命名为student.mdb,保存在要存放这个系统的所有工程文件的文件夹中。学生成绩信息数据库中的表格设计视图如下所示,每个表格都代表数据库中的一个独立的表。学生基本信息设计视图:,4.3 软件详细设计,成绩信息设计视图:,课程信息设计视图:,4.3 软件详细设计,系统用户设计视图:,4.4 软件实现,目的:使用编程工具完成系统编码在软件实现阶段,根据详细设计用编程语言编写所需的程序。这个阶段的文档包括软件需求规格说明书、高层设计说明书、详细设计说明书、单元测试计划编码、用户接口标准等,输出有测试数据、源代码、可执行代码、单元测试报告,需要完成的任务包括:1.根据详细设计,按照编码、用户接口规范编写程序2.对程序进行代码复查、编译、调试,直到程序运行通过,符合详细设计的要求;3.根据单元测试计划进行单元测试,生成单元测试报告。,4.5 软件测试,目的:掌握进行测试工作的方法和技巧软件测试是为了发现错误而执行程序的过程,一个好的测试用例能够发现至今尚未发现的错误,一个成功的测试是发现了至今尚未发现的错误的测试。因此,测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷。软件测试方法一般分为两大类:动态测试方法与静态测试方法。,1.静态测试 静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。(1)人工检测。人工检测是不依靠计算机而是靠人工审查程序或评审软件。(2)计算机辅助静态分析。利用静态分析工具对被测试程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。2.动态测试 一般意义上的测试大多是指动态测试。有两种方法,分别是黑盒测试法和白盒测试法。,4.5 软件测试,黑盒测试法与白盒测试法1.黑盒法 该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。通过黑盒测试主要发现以下错误:(1)是否有不正确或遗漏了的功能。(2)在接口上,能否正确地接受输入数据,能否产生正确的输出信息。(3)访问外部信息是否有错。(4)性能上是否满足要求等等。,4.5 软件测试,2.白盒法 该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。黑盒法和白盒法都不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试用例。,4.5 软件测试,3.6 软件维护,目的:掌握进行软件维护工作的防范,认识维护工作的重要性软件投入使用后就进入软件维护阶段。维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。,4.5 软件维护,1.校正性维护在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。校正性维护占整个维护工作的20%左右。,4.5 软件维护,2.适应性维护随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种而修改软件的过程称为适应性维护。这种维护活动占整个维护活动的25%。,4.5 软件维护,3.完善性维护在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强,为达到这个目的而进行的维护活动称为完善性维护,占整个维护活动的50%。,4.5 软件维护,4.预防性维护为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的运行和维护打好基础,占整个维护工作的4%。,4.5 软件维护,一个ATM机的模型设计,1.划分主题在开发大型、复杂系统的过程中,为了降低复杂程度,需要系统划分成几个不同的主题。一般按问题领域而不是用功能分解方法来确定主题。一般按不同主题间对象相互间依赖和交互最少的原则来确定主题。以ATM系统为例,我们可以把它划分成“总行”、“分行”和“ATM”等三个主题,这三个主题的编号分别是1、2和3,如下图所示。,4.6 一个ATM机的模型设计,2.确定属性 从需求陈述中选择属性,属性的确定既与问题域有关,也和目标系统的任务有关。用名词词组表示属性,例如,“汽车的颜色”或“光标的位置”。用形容词表示可枚举的具体属性,例如,“红色的”、“打开的”。应该仅考虑与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的属性。,4.6 一个ATM机的模型设计,3.建立动态模型在开发交互式系统时,动态模型起着很重要的作用。建立动态模型分三步第一步为编写典型交互行为的脚本。脚本描述常见的交互行为。第二步从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。,4.6 一个ATM机的模型设计,(1)编写脚本在建立动态模型的过程中,脚本是指系统在某一执行期间内出现的一系列事件。脚本描述用户(或其他外部设备)与目标系统之间的一个或多个典型的交互过程,以便对目标系统的行为有更具体的认识。编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性的和清晰性。下面给出了ATM系统的正常情况脚本,4.6 一个ATM机的模型设计,ATM请储户插卡;储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码;储户输入自己的密码1234等数字。ATM请求总行验证卡号和密码;总行要求39号分行核对储户密码,然后通知ATM说这张卡有效。ATM要求储户选择事务类型(取款、转账、查询等);储户选择取款。ATM要求储户输入取款额;储户输入880。,4.6 一个ATM机的模型设计,ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行把请求转给分行,该分行成功地处理完这项事务并返回该账户的新余额。ATM吐出现金并请储户拿走这些现金;储户拿走现金。ATM问储户是否继续这项事务;储户回答不。ATM打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡。ATM请储户插卡。下面给出 ATM系统的异常情况脚本,4.6 一个ATM机的模型设计,ATM接受这张卡并顺序读它上面的数字。ATM要求密码;储户误输入8888。ATM请求总行验证输入的数字和密码;总行在向有关分行咨询之后拒绝这张卡。ATM显示密码错,并请储户重新输入密码;储户输入1234;ATM请总行验证后知道这次输入的密码正确。ATM请储户选择事务类型;储户选择取款。ATM询问取款额;储户改变主意不想取款了,他敲取消键。ATM退出现金兑换卡,并请储户拿走它储户拿走他的卡。ATM请储户插卡。,ATM的界面格式,4.6 一个ATM机的模型设计,(2)画事件跟踪图通常在画状态图之前先画出事件跟踪图。首先需要明确事件及事件与对象的关系。a.确定事件 外部事件包括系统与用户(或外部设备)交互的所有信号、输入、输出、中断、动作等.对产生相同效果的那些事件组合在一起作为一类事件。例如,“吐出现金”是一个事件类。,4.6 一个ATM机的模型设计,b.画出事件跟踪图 在事件跟踪图中規定,一条竖线代表一个类与对象;每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。时间从上向下递增,画在最上面的水平箭头线代表最先发生的事件,画在最下面的水平箭头线所代表的事件最晚发生。箭头线之间的间距并没有具体含义,箭头线位置也不表示两个事件之间的精确时间差。,4.6 一个ATM机的模型设计,c.画状态图 一般说来,不同应用系统对相同事件的响应并不相同,因此,在最终分类所有事件之前,必须先画出状态图。如果从状态图中看出某些事件之间的差异对系统行为并没有影响,则可以忽略这些事件间的差异状态图描绘事件与对象状态的关系。当对象接受了一个事件以后,它的下个状态取决于当前状态及所接受的事件。由事件引起的状态改变称为“转换”。如果一个事件并不引起当前状态发生转换,则可忽略这个事件。下图为ATM状态图,4.6 一个ATM机的模型设计,下图为总行类状态图,4.6 一个ATM机的模型设计,下图为分行类状态图,4.6 一个ATM机的模型设计,4、建立功能模型功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。通常在建立了对象模型和动态模型之后再建立功能模型。(1)画出基本系统模型图基本系统模型由若干个数据源点/终点,及一个处理框组成,这个处理框代表了系统加工、变换数据的整体功能。基本系统模型指明了目标系统的边界。由数据源点输入的数据和输出到数据终点的数据,是系统与外部世界之间的交互事件的参数。,4.6 一个ATM机的模型设计,ATM系统的基本系统模型:本系统的数据源点/终点为储户,尽管在储蓄所内储户的事务是由柜员通过柜员终端提交给系统的,但是信息的来源和最终接受者都是储户。另一个数据源点是现金兑换卡,因为系统从它上面读取分行代码、卡号等信息。,(2)画出功能级数据流图把基本系统模型中单一的处理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图。,4.6 一个ATM机的模型设计,(3)描述处理框功能 把数据流图分解细化到一定程度之后,就应该描述图中各个处理框的功能。注意:描述每个处理框所代表的功能,而不是实现功能的具体算法。描述既可以是说明性的,也可以是过程性的。说明性描述规定了输入值和输出值之间的关系,以及输出值应遵循的规律。过程性描述则通过算法说明“做什么”。,4.6 一个ATM机的模型设计,ATM系统数据流图中对“更新账户”处理功能:更新账户(账号,事务类型,金额)现金额,账单数据,信息如果取款额超过账户当前余额,拒绝该事务且不付出现金。如果取款额不超过账户当前余额,从余额中减去取款额后作为新的余额,付出储户要取的现金。如果事务是存款,把存款额加到余额中得到新余额,不付出现金。如果事务是查询,不付出现金。在上述任何一种情况下,账单内容都是:ATM号,日期,时间,账号,事务类型事务金额(如果有的话),新余额。,

    注意事项

    本文(《项目开发过程》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开