第七章-系统开发与实施_第1页
第七章-系统开发与实施_第2页
第七章-系统开发与实施_第3页
第七章-系统开发与实施_第4页
第七章-系统开发与实施_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章系统开发与实施本章重点系统开发的组织工作

1系统开发的项目管理

2系统开发的文档管理

3系统开发监理

4系统测试

6系统转换

7程序设计

57.1系统开发的组织工作7.1.1系统开发策略确定

几种典型的开发策略:

1.接收式开发策略根据用户的需求和现有状况直接用程序设计语言进行编程,经调试后直接过渡到新系统。

优点:简单、易行局限性:(1)只适用于规模不大的系统,或是单项功能系统;(2)系统的管理与经营活动必须十分规范化;(3)适用于用户与开发者都很有经验的场合。7.1系统开发的组织工作(续)2.直接式开发策略开发者接收用户对系统的开发要求,一步接一步地去识别系统,然后进行分析、设计、实施系统的步骤,直至最终完成系统的开发任务。特点:(1) 适用于较大系统,特别是多项复杂功能交织在一起 的综合性系统; (2) 对开发者要求很高。

7.1系统开发的组织工作(续)3.实验式的开发策略通过反复实验的方式,让用户与开发者在反复实验中摸清真正的信息需求及这些信息明确的处理过程。既有合理性,又有局限性:(1) 用户很难清晰地讲述他的详细需求与信息处理过 程,最好有一个虽粗糙但实用的信息系统让用户 在实际使用过程中反复提要求与修改意见,逐渐 认识到自己真正的信息需求。 (2) 一般需要较高级的软件支撑环境,而且对大型项 目有一定的使用局限性。7.1系统开发的组织工作(续)7.1.2系统开发人员与组织

(一)系统开发的各类人员开发过程所需要的人员有:用户、系统分析员、数据库管理员、系统设计员、硬件网络设计员、程序设计员等。

这些人员在系统开发中的相互关系如下图所示:用户用户用户系统分析员硬件网络设计员数据库管理员系统设计员程序设计员7.1系统开发的组织工作(续)人员地位及作用用户信息系统建设的参与者和最终使用者系统分析员用户和其它人员之间的桥梁和接口,是系统开发的核心人物硬件网络设计员负责依据新系统逻辑方案的基本要求制定硬件网络配置方案数据库管理员负责数据库的设计、定义、存储、维护和改进,监督和控制数据库的运行系统设计员负责系统的总体设计、模块设计以及模块之间接口的设计工作程序设计员负责系统的程序设计、测试、试运行和用户的使用培训工作人员的地位及作用

7.1系统开发的组织工作(续)(二)各类人员的组织1、组织原则:(1)尽早落实责任,明确每个成员之间的责任;(2)知人善任,将每个人的专长尽可能地发挥好;(3)减少接口。2、组织结构的模式(1)按子课题或子系统划分的模式:小组成员自始至 终参加所承担的子课题或子系统的各项任务。

(2)按职能划分的模式:把所有人员按任务的阶段划 分成若干个专业小组。

(3)矩阵形模式:以上两种模式的复合,更有利于发 挥专业人员的作用。7.1系统开发的组织工作(续)7.1.3系统开发的启动工作

1、项目启动会议目的:

(1)项目组成员的集体亮相和初步交流。

(2)加深对项目目标的理解。

(3)统一思想认识。

(4)明确岗位职责。2.开发标准的统一(1)阶段划分的统一(2)开发用语的统一(3)用户界面的统一(4)开发风格的统一7.1系统开发的组织工作(续)3.需事先告知的项目管理制度(1)项目成本管理制度通过计划、组织、控制和协调等活动实现预定的 成本目标,并尽可能降低成本费用。

(2)项目沟通管理制度保证项目信息及时、正确的提取、收集、传播、 存储以及最终进行处置,保证项目班子内部信息畅 通。

(3)业绩考核方法是实现项目成员激励的必要手段,有利于开发过 程中奖惩措施的顺利实施。7.2系统开发的项目管理7.2.1项目管理与信息系统项目

(一)项目管理的定义与特点 1.定义:项目管理是通过项目经理和项目组织的努力, 运用系统理论和方法对项目及其资源进行计 划、组织、协调、控制,旨在实现项目的特 定目标的管理方法体系。

2.三个基本特点:(1)项目管理是一项复杂工作。(2)项目管理具有创造性,充满着权衡。(3)项目负责人(或称项目经理)在项目管理中起着非常 重要的作用。7.2系统开发的项目管理(续)(二)信息系统项目的特点

1.目标是不精确的,任务的边界是模糊的,质量要求更多是由项目团队来定义的。2.项目进行过程中,客户的需求会不断被激发,被不断地进一步明确,导致项目的进度、费用和计划不断更改。3.是智力密集、劳动密集型的项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定性的影响。7.2系统开发的项目管理(续)7.2.2系统开发的计划、费用与进度管理

(一)系统开发的任务划分1.任务划分的主要原因:将任务落实到人头上,才能进行有效的项目管理是整个资金分配的基础是与工作责任性与可靠性密切相连的2.任务划分包括的内容:任务设置资金划分任务计划时间表协同过程与保证完成性7.2系统开发的项目管理(续)

3.任务划分的主要方法:按系统开发项目的结构和功能进行划分

可以分为硬件系统、系统软件、应用软件系统

按系统开发阶段进行划分可以分为可行性分析、总体规划、系统分析、系统设计、系统实施、系统调试、系统安装调试、系统试运行、系统运行

将上述两种方法结合起来进行任务的划分注意:任务划分的数量不宜过多,但也不能过少赋予任务负责人一定的职权,明确责任人的任务、界限7.2系统开发的项目管理(续)(二)系统开发的计划安排开发计划可以划分为

:计算机硬件、软件配置计划应用软件开发计划测试和评估计划验收计划质量保证计划系统工程管理计划项目管理计划项目开发费用计划7.2系统开发的项目管理(续)1.影响成本估算的要素信息系统项目的复杂性软件项目的规模信息系统项目结构的不确定性对项目范围理解得很差或项目需求不断变化历史信息的可用程度2.软件开发成本的基本估算思想自顶向下方法:先对总体开发时间和工作量进行估算,然后按阶段、步骤和工作单元进行分配。自底向上方法:分别估算各单元所需工作量和开发时间,然后相加,得出总的工作量和开发时间。(三)系统开发成本的估算7.2系统开发的项目管理(续)(n表示代码行数或功能点数)(3)确定各子功能的代码行或功能点成本。(4)计算各子功能成本和工作量,并计算软件项目的开发成本和总工作量以及开发时间。3.软件开发成本的具体估算方法常使用基于代码行(LOC)或功能点(FP)的分解方法进行项目成本和工作量的估算,步骤如下:(1)分别用a、m、b表示最好、一般和最差三种情况下的源代码行数估算或功能点估算的期望值。(2)求期望值Le和偏差Ld7.2系统开发的项目管理(续)(四)系统项目的进度管理

1.例:现在某企业准备开发一个客户关系管理的信息系统,合同双方将系统交付使用作为项目终结的依据,双方同意维护期间费用另行支付。经上述测算,估算该项目总开发工作量为4人年,项目总开发时间为50周,项目的总成本(包括软件开发成本、硬件成本和开发中的其他成本)是100万元人民币。信息系统项目甘特图

7.2系统开发的项目管理(续)XX信息系统开发项目活动小活动紧前活动工期估计(周)预算分摊(万元)预算估计(万元)系统规划1.搜集数据31.51.52.可行性研究423.53.准备系统规划报告1,210.54系统分析4.与业务人员沟通35375.研究现有系统384116.明确用户需求452137.准备系统分析报告5,61114系统设计8.分析数据输入和输出784189.处理数据和建数据库71042210.审查数据字典8,9212311.准备系统设计报告102225项目分解及其工期、预算分摊估计,如下表所示

7.2系统开发的项目管理(续)系统实现12.开发软件1115154013.硬件规划与采购1110387814.网络实现1165.583.515.准备系统实现报告12,13,1421.585系统测试16.测试软件15660117.测试硬件1541.592.518.测试网络1541.59419.准备系统测试报告16,17,181195系统转换20.人员培训19429721.系统转换192410122.准备系统转换报告20,2111102(续表)7.2系统开发的项目管理(续)2.进度时间表

(1)最早开始时间(earlieststarttime,ES)和最早结束时间(earliestfinishtime,EF)EF=ES+工期估计(2)最迟开始时间(1ateststarttime,LS)和最迟结束时间(1atestfinishtime,LF)LS=LF-工期估计(3)总时差:最早结束时间和项目的要求完工时间之间的差距总时差=LF-EF或总时差=LS-ES

7.2系统开发的项目管理(续)(4)XX信息系统开发项目进度表

活动工期估算(周)最早最迟总时差开始时间结束时间开始时间结束时间1.搜集数据303-8-5-82.可行性研究404-9-5-93.准备系统规划报告145-5-4-94.与业务人员沟通5510-41-95.研究现有系统8513-26-76.明确用户需求5101516-97.准备系统分析报告1151667-98.分析数据输入和输出81624917-79.处理数据和建数据库101626717-97.2系统开发的项目管理(续)活动工期估算(周)最早最迟总时差开始时间结束时间开始时间结束时间10.审查数据字典226281719-911.准备系统设计报告228301921-912.开发软件1530452136-913.硬件规划与采购1030402636-414.网络实现630363036015.准备系统实现报告245473638-916.测试软件647533844-917.测试硬件447514044-718.测试网络447514044-719.准备系统测试报告153544445-920.人员培训454584549-9(续表)7.2系统开发的项目管理(续)7.2.3系统开发的人员管理

(一)项目小组的构成1名高级系统开发员1名中级系统开发员1名初级系统开发员1名初级系统开发员1名中级系统开发员1名初级系统开发员1名初级系统开发员1名高级系统测试员1名中级系统测试员1名初级系统测试员1名初级系统测试员1名中级系统测试员1名初级系统测试员1名初级系统测试员7.2系统开发的项目管理(续)(二)项目团队的成长与激励四个阶段:

1.形成(forming)阶段激励方式:预期激励、信息激励和参与激励

2.震荡(storming)阶段激励方式:参与激励、责任激励和信息激励

3.正规(normaling)阶段激励方式:参与激励、自我激励和知识激励4.表现(performing)阶段激励方式:危机激励、目标激励和知识激励7.2系统开发的项目管理(续)7.2.4系统开发的质量控制管理

主要采取下述措施:

1.实行工程化的开发方法2.实行阶段性冻结与改动控制3.实行里程碑式审查与版本控制4.实行面向用户参与的原型演化5.强化项目管理,引入外部监理与审计6.尽量采用面向对象和基于构件的方法进行系统开发7.进行全面测试7.3系统开发的文档管理7.3.1文档管理的作用与类型(一)文档管理的作用

(1)统一思想、防止误解和健忘;(2)工作完成的标志;(3)工作的基础和依据;(4)人员之间更有效的沟通交流;(5)对开发成本等进行协调、控制和指挥;(6)对开发成果验收更合理;(7)提供完整的参考手册;(8)对行为的规范化;(9)为后续任务提供完整的参考资料。7.3系统开发的文档管理(续)(二)系统文档的类型

(1)按照产生的频率分一次性文档:分析说明书、设计说明书

非一次性文档频率固定

频率不固定:

:月度开发报告等需求变更申请书等

(2)按信息系统生命周期的阶段分

系统规划阶段文档:可行性研究报告等

系统分析阶段文档:系统分析报告等

系统实现阶段文档:程序设计报告等

系统运行与维护阶段文档:用户手册等

7.3系统开发的文档管理(续)(3)按文档不同的服务目的分

用户文档:为用户服务

开发文档:为开发人员服务

管理文档:为项目管理人员服务

7.3系统开发的文档管理(续)7.3.2文档管理的内容(一)制订文档编制策略

1.策略规定主要的方向不是做什么或如何做的详细说明。

2.支持有效文档策略的基本条件:

文档需要覆盖整个系统生存期文档应是可管理的应规定支持工具文档应适合于它的读者文档效应贯穿到系统的整个开发过程中文档标准应被标识和使用7.3系统开发的文档管理(续)(二)制订文档编制标准和指南

1.选择系统生存期模型

2.规定文档类型和内容

(1)开发文档——描述开发过程本身(2)产品文档——描述开发过程的产物(3)管理文档——记录项目管理的信息采用哪种模型都无关紧要,只要阶段和相应的文档是清晰定义的、已计划的,并且对于任何具体系统项目是能遵循的。7.3系统开发的文档管理(续)(三)文档编制计划

(1)列出文档的目录;(2)提示参考的标准;(3)指定文档管理员;(4)提供所需要的条件;(5)明确保证文档质量的方法;(6)绘制进度表等。3.确定文档的质量等级

(1)最低限度文档(1级文档)(2)内部文档(2级文档)(3)工作文档(3级文档)(4)正式文档(4级文档)7.3系统开发的文档管理(续)7.3.3系统开发文档的编制与管理(一)信息系统文档编制的要求与方法造成信息系统文档质量不高的原因主要有四个:(1)认识上的问题:不重视文档编写工作。(2)规范上的问题:不按各类文档的规范写作,文档的编写具有很大的随意性。(3)技术上的问题:缺乏编写文档的实践经验,对文档编写工作的安排不恰当。(4)评价上的问题:缺乏评价文档质量的标准。7.3系统开发的文档管理(续)(二)文档质量1.高质量文档具有的特性:针对性:按不同类型、层次的读者,决定怎样适应其需要精确性与统一性:无多义性措辞,同一项目文档应一致清晰性:编写简明,配以适当图表,增强清晰性完整性:独立的,自成体系灵活性:不同项目有许多实际差别,不能等同看待可追溯性:文档具有一定的继承关系,应能跟踪追查易检索性:使查阅者以最快速度检索7.3系统开发的文档管理(续)2.编制原则

(1)撰写原则(2)编排原则立足于读者立足于实际需要文字准确、简单明了应编排得便于查到所需要内容采用由一般到具体的层次结构法可以采用词汇之间的互相链接图表放在它所解释的文字附近适当使用不同的字体和版式7.3系统开发的文档管理(续)(3)装订原则(4)词汇与索引如果文档需要修改,宜采用活页装订页面编号由横线连接的三组数字组成:卷次,章次,页次修改页码时,要加页码的第一部分与前一页的页码相同,第二部分用一个小数点后跟页号组成为便于查询,在页眉上标以出版日期、系统名称和节名称技术术语的使用应该适当控制。准确定义每个术语不同地方对同一内容采用同一术语避免滥用术语每种用户文档应有一个词汇表和索引词汇表与索引的编排必须让读者快速查到该功能7.4系统开发监理7.4.1系统开发的风险管理(一)风险和风险管理风险:给定情况下一定时期可能发生的各种结果间的差异, 基本特征是有不确定性和损失。风险管理:对项目风险进行识别、分析和应对的系统过程。危机管理:救火模式,在风险造成麻烦后着手处理失败处理:察觉到了风险并迅速做出反应风险缓解:事先制定好补救措施,不做防范措施着力预防:风险识别与防范作为项目一部分来规划和执行消灭根源:识别和消除可能产生风险的根源可以从以下几个层次上定位、管理风险:

7.4系统开发监理(续)(二)信息系统项目风险主要存在于产品、过程和项目三个方面:

(1)产品风险:主要是技术方面的风险,包括需求稳定性、设计性能、编程复杂度、测试等。(2)项目风险:主要是项目相关制约条件引发的风险,包括资源制约(预算)、外界因素、供应商关系、合同制约(进度)等。(3)过程风险:主要为管理和技术规范可能引发的风险,如计划、人员分配、项目跟踪、质量保证、配置管理等方面的风险。7.4系统开发监理(续)(三)信息系统项目风险管理典型的风险管理体系有:

始于上世纪70年代对软件缺陷预测的研究识别、着手处理并消除风险的源头(1)Boehm体系(2)Charette体系风险估计:风险辨识、风险分析和风险排序风险控制:风险管理计划、风险处理和风险监督分析阶段:辨识、估计和评价管理阶段:计划、控制和监督

7.4系统开发监理(续)(3)SEI体系风险识别分析项目并识别风险及其来源风险分析评估风险潜在的消极影响风险可能性找到减少可能发生损害的策略风险跟踪、应对调整、执行对应策略和计划继续监测新的项目风险风险清单风险应对计划新风险新风险SEI风险管理的主要过程框架风险辨识(TBQ)持续风险管理(CRM)软件风险评估(SRE)软件采购风险管理成熟度模型(RM-CMM)团队风险管理(TRM)

7.4系统开发监理(续)7.4.2系统开发监理的含义与特点(一)系统开发监理的含义是从技术和管理角度对软件项目实施的监督管理活动行为主体是监理单位是有明确依据的行为实施需要软件用户单位的委托和授权(二)系统开发监理的特点独立性:独立自主的原则开展监理工作公正性:工作正常进行的基本条件专业性:监理单位及其人员具有更高的专业水平和素质7.4系统开发监理(续)7.4.3系统开发监理机制信息系统开发监理单位与监理工程师监理组织结构监理规划开发监理内容图:信息系统项目建立机制的体系结构7.4系统开发监理(续)(一)信息系统开发监理单位与监理工程师信息系统用户单位信息系统开发项目监理单位开发企业信息系统开发监理行为信息系统项目开发行为双方之间无任何合同关系,只有监理与被监理的关系信息系统开发监理合同关系信息系统项目开发合同关系图:监理单位与信息系统项目各方的关系监理单位:指具有法人资格,具备监理职能的信息系统开发监理公司、监理事务所及兼承接监理业务的软件咨询单位。

7.4系统开发监理(续)(二)监理组织结构1.建立监理组织的步骤(1)明确监理任务,列出各级监理目标(2)监理工作内容的合并(3)组织结构设计(4)制订规章制度及考核标准2.监理组织的人员配备监理组织的人员一般由总监理工程师、专业监理工程师和监理员所组成。

7.4系统开发监理(续)3.监理组织中各类人员的职责(1)主持编写实施细则(2)确定组织、人员结构和岗位职责(3)检查工作情况(4)主持会议,签发文件和指令(5)审核设计方案、进度和质量保证措施(6)审查和处理项目变更,处理争议和索赔事件(7)组织编写并签发监理月报等(8)审核检测评定资料,组织并参与验收工作(9)主持整理项目开发的监理资料7.4系统开发监理(续)(三)监理规划1.监理规划的有关文件(1)监理大纲(2)监理规划监理单位为承揽监理业务而编制的方案性文件,是监理单位投标书的重要组成部分。(3)监理细则监理单位与用户单位签订监理委托合同之后而编制的指导开发监理部门开展监理工作的技术组织文件。在监理规划的基础上,针对具体监理任务,结合自身情况和项目、特点编制的有可操作性的专业性监理文件。7.4系统开发监理(续)2.监理规划的内容(1)项目概述项目名称、用户单位名称、开发方名称,总投资估算,计划工期和系统功能和性能上的基本要求以及简介。(2)监理依据(3)监理组织国际、国家标准用户需求说明书;业主和承包方合同书、招标书、答标书。以总监理工程师为首,下设各专业监理部门,任命各专业监理工作负责人,进行责任分工和授权。7.4系统开发监理(续)(4)监理措施与监理目标、程序(5)监理工作制度包括组织措施、技术措施、经济措施和合同措施,通过以上措施主要对投资、质量和进度进行控制。

包括监理组织工作会议制度、学习培训制度、监理工作日志制度、监理资料档案管理制度、对外行文审批制度。7.4系统开发监理(续)(四)开发监理内容(1)开发准备阶段监理内容对总体规划、方案、设备选型进行论证与优化撰写招标书,进行招标、选择开发商;确定需求、目标等进行调查,起草合同,协助用户签订信息系统开发合同(2)系统规划阶段监理内容审核信息系统规划召开监理会议,讨论系统规划的可行性协同开发方解决存在的问题记录重要文档,如:监理涉及的主题、存在的问题及解决方案等7.4系统开发监理(续)(3)系统分析阶段监理内容协助用户审核可行性分析报告协助开发方收集需求验证所收集的需求审核需求报告,确认需求验证新系统逻辑方案对系统分析进行质量、进度控制指出不完善的地方,提出意见需求更改要三方协商同意,并记录记录相应的重要文档7.4系统开发监理(续)(4)系统设计阶段监理内容审核系统功能结构、处理流程审核数据库、编码、输入输出方案验证系统设计报告对系统设计进行质量、进度控制指出不完善的地方,提出意见记录相应的重要文档7.4系统开发监理(续)审核测试环境及准备工作审核功能实现情况,必要时采取纠正措施将代码实际大小同计划相比较协助用户进行系统切换跟踪试运行情况,记录发现的问题审核开发费用,与计划相比较对系统实施进行质量、进度控制三方一同验证整个系统记录发现的各种问题,向用户提出完善的建议(5)系统实施阶段监理内容7.5程序设计7.5.1程序设计语言特点与选择原则(一)特点

具有顺序、分枝、循环和调用结构支持图形界面支持面向对象技术支持数据管理支持网络环境智能辅助编程7.5程序设计(续)(二)选择原则1.开发效率原则:易懂、易会;操作方便,性能高效2.发展趋势性原则:使用最适当的程序语言3.系统运行网络规模原则:保证程序能流畅地在大规模网络上运行4.数据管理原则:能支持多种数据库5.可移植性原则:考虑对不同平台的支持6.版本兼容性原则:考虑对语言的不符合标准的扩充7.智能型:自动生成代码8.易学性原则:很容易接受语言的概念和设计方法9.硬件要求性原则:针对不同硬件环境,选择适当语言10.成本原则:节省项目开发成本7.5程序设计(续)7.5.2程序设计目标1.运行准确和稳定2.安全性高灾难恢复、数据备份、断电保护、口令权限、病毒预防4.易于维护:代码注释全面准确,文档规范完整5.可读性强:开发人员必须能读取和理解程序内容6.适应性强:程序不经修改由一台机器搬到另一台运行支持具有容错功能的设备设计的程序具备数据备份恢复具备对数据纠错和检错能力3.速度快:提高网络速度及交互响应速度7.5程序设计(续)7.5.3程序设计规范(一)标识符命名及书写规则1.基本规则(1)以字母开始,由字母、数字及下划线组成(2)标识符本身最好能够表明其自身的含义(3)由多个词组成时,每个词的第一个字母大写,其余全部小写,常量标识符全部大写(4)总长度不要过长

2.特殊约定(1)规范标识前缀用来标明该标识的归类特征(2)含义标识用来标明该标识所对应的被抽象的实体7.5程序设计(续)3.源代码文件标识符命名规则格式和规则:×××……××.×××(1)前缀部分与文件所表示的内容或作用有关。(2)后缀部分通常表示该文件的类型。(3)两部分字符应仅使用字母、数字和下划线。7.5程序设计(续)2.函数或过程的注释(1)函数头部对函数进行功能和参数说明。(2)函数的主体部分应对其算法结构做出说明。(3)全局资源且有可能导致资源紧张应加以注明。(4)副作用一定要以十分醒目的方式注明。(5)函数长度在100语句行以内。1.源代码文件的注释(1)在头部标明程序名和主要功能。(2)作者,及完成时间。(3)修改人、时间、简单原因说明列表。(4)修改程序时,注明修改时间和原因说明。(二)注释及格式要求7.5程序设计(续)4.常量和变量的注释(1)被保存值的含义(必须)。(2)合法取值的范围(可选)。(3)全局变量需要对以上逐点做充分的说明。3.语句的注释(1)应对分支条件表达式加注释。(2)不易理解的循环,应说明出口条件。(3)应将过长的函数按实现的功能分段加以概括性说明。(4)供别的文件或函数调用的函数,不应用全局变量交换数据。7.5程序设计(续)2.缩进的限制(1)程序最大行宽不得超过80列,否则应折行书写。(2)函数的缩进不得超过5级,否则将其子块写为子函数。(3)算法或程序本身的特性有特殊要求时,可以超过5级。1.控制结构的缩进if(expression){statements}else{statements}if(expression){statements}else{statements}1)2)(三)缩进规则7.5程序设计(续)7.5.4程序设计方法(一)程序流程图画法1.程序流程图的作用理顺逻辑结构有利于交流及联系易于确定程序是否满足条件有利于对程序的理解及掌握便于查明发生故障的原因2.程序流程图中使用的符号及含义(1)圆边框(2)矩形框7.5程序设计(续)(3)菱形框表示开始框表示结束框开始结束(入口)(出口)判断条件否(或N)是(或Y)圆边框画法图矩形框画法图菱形框画法图7.5程序设计(续)(4)流程线、(5)平行四边形框(6)线路连接符(入口)(出口)表示出口表示入口

平行四边形框画法图线路连接符画法图7.5程序设计(续)3.流程图的绘制方法对问题作初步分析

按照输入—处理—输出的顺序,用粗线条绘制流程图

对粗框图的某些框绘出相应的细框7.5程序设计(续)(二)程序结构设计1.顺序结构语句系列1语句系列2顺序结构流程图2.选择结构条件命令组1命令组2NY单条件选择流程图条件1条件2条件3此外语句组1语句组2语句组n多条件选择流程图

语句组37.5程序设计(续)3.循环结构条件语句组loopexitYN循环结构流程图4.调用结构DO子程序文件1。主程序文件DO子程序文件2子程序文件1..子程序文件2RETURNRETURN1423……..……..…….……………………调用结构流程图

7.5程序设计(续)7.5.5网络环境下的程序设计1.客户/服务器架构下的程序设计C/S结构,即Client/Server(客户机/服务器)结构优点:客户端响应速度快,给服务器减轻压力,更高 的安全性和稳定性缺点:升级比较麻烦2.浏览器/服务器架构下的程序设计B/S结构,即Browser/Server(浏览器/服务器)结构

优点:在任何地方进行操作而不用安装任何专门的软件当今应用软件的首选体系结构

7.6系统测试7.6.1系统测试(一)测试的含义与特性1、测试的定义:为了发现错误而执行程序的过程测试的挑剔性:设法暴露程序中的错误和缺陷测试的系统性:目的、标准、步骤、进度、责任、测试用例标准、工具、机时、有关规程等完全测试的不可能性:完全测试是不可能的2、特征:(二)测试的分类1.黑箱测试:不考虑程序的内部逻辑结构2.白箱测试:需要了解程序的内部结构和处理过程7.6系统测试(续)(三)测试的基本原则1.精确描述预期输出2.程序员应避免测试自己的程序3.程序设计机构不应测试自己的程序4.彻底检查每个测试结果5.对非法的和非预期的输入,也要编写测试情况6.程序副作用的测试7.一定不要扔掉测试情况8.不要设想程序中不会查出错误7.6系统测试(续)7.6.2系统测试过程1.单元测试保证每个模块作为一个单元能正确运行2.子系统测试把经过单元测试的模块放在一起形成一个子系统来测试3.系统测试把经过测试的子系统装配成一个完整的系统来测试4.验收测试把软件系统作为单一的实体进行测试5.平行运行新旧两个系统同时运行,比较两个系统处理结果7.6系统测试(续)7.6.3系统测试内容(一)单元测试多采用白箱测试技术,单元测试任务包括:(1)模块接口测试输入的实参与形参是否个数相同、属性匹配、量纲一致调用其他模块时实参个数是否与被调模块形参个数相同属匹配、量纲一致调用预定义函数时所用参数个数、属性和次序是否正确是否存在与当前入口点无关的参数引用是否修改了只读型参数对全局变量的定义各模块是否一致是否把某些约束作为参数传递7.6系统测试(续)(3)模块中所有独立执行通路测试(2)模块局部数据结构测试不合适或不相容的类型说明变量无初值变量初始化或缺省值有错不正确的变量名(拼错或不正确地截断)出现上溢、下溢和地址异常不同数据类型的对象之间进行比较错误地使用逻辑运算符或优先级期望理论上相等而实际上不相等的两个量相等比较运算或变量出错循环终止条件出错迭代发散时不能退出错误地修改了循环变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论