软件工程实践SoftwareEngineeringPractice(精)课件.ppt

上传人(卖家):三亚风情 文档编号:2221610 上传时间:2022-03-22 格式:PPT 页数:150 大小:2.01MB
下载 相关 举报
软件工程实践SoftwareEngineeringPractice(精)课件.ppt_第1页
第1页 / 共150页
软件工程实践SoftwareEngineeringPractice(精)课件.ppt_第2页
第2页 / 共150页
软件工程实践SoftwareEngineeringPractice(精)课件.ppt_第3页
第3页 / 共150页
软件工程实践SoftwareEngineeringPractice(精)课件.ppt_第4页
第4页 / 共150页
软件工程实践SoftwareEngineeringPractice(精)课件.ppt_第5页
第5页 / 共150页
点击查看更多>>
资源描述

1、1第第3 3章章 传统的软件工程传统的软件工程可行性研究与项可行性研究与项目开发计划目开发计划需求分析需求分析软件设计软件设计软件编程软件编程软件测试软件测试软件维护软件维护 项目开发计划可行性研究的概念与必要性可行性研究的主要内容可行性研究的步骤可行性研究的评价原则可行性研究报告实例2给出初步的项目开发总体设想: 目标 内容 资源计划 实施计划 验收计划3它是运用多学科的知识,寻求使开发的软件达到最佳经济效果的综合研究方法。它的核心是经济问题。研究项目能不能做,值不值得做,成功的把握有多大。实际上就是风险分析。由此可以理解为什么要进行可行性研究了。4可行性研究的内容涉及到社会、政治、经济、法

2、律、和多方面的专业技术知识,概括地说分为环境、技术和经济三个方面。5(1)形势的急迫性问题(2) 管理水平问题(3) 系统方案是否与现实环境相吻合(4) 人员配备、培训 6 在划分系统与环境边界时应注意以下几点: 1. 研究分析问题(未来的系统)的重要部分应作为系统的要素;Profit、Tax 2. 对系统分析问题有重大影响的部分也应看作系统的要素;Inventory、Account 3. 对研究分析问题有关联但却无重大影响而又不可忽略的非重要部分,可视为系统的环境;Customer 4. 对系统影响甚微的部分,可从环境中略去,便于简化研究。Kit7 要对系统进行全面整体的调查分析,大体可以从

3、两个方面着手进行:对系统的外界环境进行调查分析,即系统的目的调查分析;a 输出调查分析 Tax、Bill、SO、PO、Invoiceb 输入调查分析 Capital、Vendor、Device对系统的内部进行调查分析,即系统的方案调查分析。a 对系统实施方案的可行性分析 Excel、NWb 各实施方案的经济效益分析 Efficiency、Margin 8调查分析关系图 输入 系统转换机构 输出系统外界环境调查系统外界环境调查分析(目的调查分析)分析(目的调查分析)系统内部调查分析系统内部调查分析 (方案调查分析)(方案调查分析) 环境对系统的需求分析环境对系统的需求分析 (系统的输出调查分析)

4、(系统的输出调查分析) 对系统的限制性调查分析对系统的限制性调查分析 (系统的输入调查分析)(系统的输入调查分析) 系统实施方案可系统实施方案可行性调查分析行性调查分析 实施方案的成本效益分析实施方案的成本效益分析 (对输出)(对输出) (对输入)(对输入) (转换机构)(转换机构) (输入输出比较)(输入输出比较) 系统系统全面全面调查调查分析分析9调查原则 1. 制定调查计划和调查培训 2. 调查顺序:严格按照系统化原则进行 3. 如实记录调查情况,弄清部门和工作环节存在的道理再分析有无改进的可能性 4. 采用规范化的工作方法 5. 全面铺开与重点调查结合 6. 调查态度和方式 7. 调查

5、与分析整理相结合 8. 了解业务与收集数据同时进行 101.系统的界限和运行状况 History、range2.系统的外部环境 Contact with outside people3.组织机构4.人员及构成5.系统的业务流程 SO、PO、Receiving、Sale、Payment6.系统的信息流程 Collect、Analyze、Save、Process、Output7.系统的资源状况8.系统的约束条件9.系统的薄弱环节10.系统研制工作的资源状况11.各个方面对现行系统和新系统研制的态度12.其他需要调查的相关问题11 1. 根据新目标确定调查目标、拟定调查项目 2.确定调查对象和方法

6、3. 制定调查计划步骤、人员、分工、时间、进度、费用 4. 调查的组织准备 a. 对调查人员进行培训 b. 确定询问项目或调查表 c. 确定抽样设计 d. 安排好各项具体工作 5. 实施调查 6. 分析、整理资料 7. 写出调查报告 报告基本内容:引言、正文、结论、附件12个人访问法 (1) 通常大多数人都宁愿说而不愿写,所以回答率比别的方式要高;(2) 有助于深入了解情况,不清楚的地方可以再提出问题;(3) 可以直接观察到被调查者的反应,这是书面调查所不能做到的;(4) 可以相互启发;收集到事先不曾预料到的问题与情况。 (1)调查的成本高,费用大;(2) 所得到的资料受调查人的主观偏见的影响

7、很大,本应实事求是。13 (1) 可以向相隔较远的被调查者进行调查,调查的成本低;(2) 被调查者有充分的时间考虑问题;(3) 被调查者还可能反映家庭成员、同事、同学的意见。 答复率低,西方国家一般仅 15。 14(1) 收集资料快;(2)调查成本低;(3) 有现成的电话本,有利于分类。(1)只限于简单的问题,只能了解被调查者的态度或反应,但不能作深入的交谈;(2)被调查人的年龄、收入、身份、家庭情况等都无法知道,如果你在电话里问此类问题,很可能被拒绝回答就挂断电话;(3) 照片图像无法利用。15 这种方法适宜于基层的管理者。通过开调查会,了解基层管理者的业务范围、工作方式、业务的内外关系等。

8、这种方法是调查中常用的方法之一,调查人员目的明确,适当地启发和引导,调查会才能有收获。这是为搞清某种较复杂业务活动的现状而采取的方法,最易沟通,同时调查结果最准确、最可靠、最符合实际、还可减少后面与用户打交道的时间。但是费时。将上面诸方法混合起来加以综合利用。162.技术可行性研究主要内容:(1)开发冒险性(2)现有资源的可用性(3)软件确定的开发技术(4)软、硬件用户的服务功能17 现有资源的可用性从三方面去考虑:人力资源硬件资源软件资源 A.支撑软件 在开发阶段中起辅助作用,如各类工具等。 B.实用软件尽可能利用已开发好的并且有实用价值的现有软件;最好不用有风险的现成软件。18操作系统是否

9、选择适当;实用程序是否选择适当;数据库管理系统是否选择适当;高级编程的语言是否选择适当;汉字处理软件、应用软件包是否选择适当。193.经济可行性研究主要从两方面分析 :费用、效益估计 费用估计是对软件开发、运行整个过程的总的费用进行估计,它包括以下各阶段:a.调查分析和设计阶段;b.实施阶段;c.运行阶段。日常性费用 一次性投资20 一般投资费用有以下开支:a. 计算机机房费用b. 计算机及其外围设备的购置费用 c系统和程序的开发费用 d软件调试和安装费用 e培训费 f资料费 g人员工资 h消耗品费用 i. 技术服务性费用 21 经济效益估计可分为:直接经济效益可直接用数字描述。间接经济效益难

10、以用数字直接表示出来的效益,也称社会效益。如:解放劳动力、提高信誉和知名度、队伍得到锻炼等。22 按照需求分析的原理,要做好可行性研究,必须按一定的工作程序进行。 1.确定目标:希望达到的某种结果。 A.基本目标 B.期望目标 C.考核指标 2.业务调查:对现行业务和市场调查。 3.列出可能的技术方案 4.技术先进性分析 5.经济效益分析 6.综合评价 7.优选可取方案并写出可行性研究报告23 效益性原则 经济性原则 可靠性原则 可比性原则 满足需要可比 消耗费用可比 价格可比 时间可比24 可行性研究报告的一般格式:(1)概要概要说明软件的名称、目标和功能。(2)背景软件开发的组织单位、软件

11、的服务对象及本软件系统和其它系统或机构的关系与联系。(3)参考和引用的资料说明本软件的经核准的文件、合同及与本软件系统有关的文件、资料等。(4)专门术语的定义本报告所使用到的专门术语的定义。25 现行业务分析摘要 需求调查和分析 需求预测 提出一个主要方案和若干个辅助方案,其内容包括: 软件的目标 软件的开发规模和初步设计方案 软件开发的实施计划 投资方案 人员培训及补充方案 其他26 技术上的可行性 经济上的可行性 运行上的可行性 对所有的候选方案从技术、经济和运行三个方面进行比较研究。论述可以按某方案立即开始建设,或条件成熟后再按某方案建设,或不可行必须停止。27学生成绩管理信息系统调查实

12、例(1) 学校概况,学校组织机构,学生人数,学生班级数,教职工人数;(2) 资源条件调查,包括计算机配备,网络支持条件等;(3) 学生成绩管理各有关单位(教务处、学生处、各个系部等)的系统概况,工作业务流程;(4) 考试及考查课的门数;(5) 需要查询和统计学生成绩的部门、单位和个人;(6) 学生成绩单及学生成绩统计表的格式,希望改进后的格式;(7) 部门、单位、教师、学生对系统的要求和希望。28目标与作用内容与原理结构化系统分析的过程功能树数据流程图DFDIDEF方法数据流程图DFDIDEF方法数据字典DD需求分析实例软件需求规格说明书编写 29 需求分析(Requirement)是指用户要

13、求软件系统必须满足的所有。开发人员与用户双方一起充分理解用户的要求,明确地表达成一份书面资料软件需求规格说明书。简单地说就是分析用户和市场的需要和要求,。它的过程是沟通的过程,理解和解释的过程。系统分析员是连接用户与开发人员(系统设计员/程序员)之间的桥梁 系统系统分析员分析员 系统设计员系统设计员程序员程序员 用户用户 30 确定目标; 软件的总体结构描述; 子系统功能描述; 子系统数据分析:编制DFD、数据字典; 数据输入输出描述; 确定技术性能指标,包括可靠性、安全保密性、适用性、可维护性和可移植性; 优化业务处理流程和数据流程,定义经济数学算法和模型,产生子系统模块功能表、数据流程图、

14、IPO、数据字典等系统方法文档; 确定计算机系统配置, 计算机网络技术方案; 制定初步的系统测试计划。31需求分析逻辑设计业务调查: 是主要工作内容,是基础和关键。最好方法:收集一套完整的带有实际数据的报表,然后搞清表与表、数据与数据之间的关系。 32 (SA)是一种面向过程的方法,它将业务分解为过程、输入、输出和文件,为业务问题建立了一种面向输入处理过程输出的模型。新模型是由数据流程图(DFD)组成,也称。 33 建立面向用户的观点,用户自始至终要参与系统的开发。 加强调查研究和需求分析。 逻辑数据和物理数据分开进行设计。 层次分解。 采用图形化建模工具。结构化系统分析的结构化系统分析的34

15、第一步,理解现行系统 构造现行系统的物理模型; 由物理模型导出其逻辑模型。 第二步,识别用户需求 记录用户的业务处理需求(逻辑需求); 记录用户的物理需求。第三步,新系统说明 利用现行系统的逻辑模型和本质需求(逻辑需求)建立新系统的逻辑模型; 利用新系统的逻辑模型和用户的物理需求导出新系统的物理模型。 35需求分析被认为是一项困难的工作,这是因为:(1)分析问题的边界和结构不明确,且具有很大的不确定性。(2)由于系统分析员具有不同的知识背景、经验以及爱好,造成对同一个软件系统所提出的解决方案的不一致。(3)问题域是动态的,没有一成不变的业务环境,永远不变的事情是变化。同样,用户需求也在不断变化

16、。(4)软件开发需要相互协作,由开发小组和用户共同来完成,所以这些人员之间的沟通问题需要解决。(5)系统分析员在问题域方面的知识越丰富,越有利于其提高需求分析的技巧和水平。(6)需求分析是一个认知的过程,在该过程中,需要系统分析员刻画抽象系统的结构;处理来自不同用户的各种信息;建立一个逻辑的而且是一致的规格说明书。 需求分析面临的主要问题需求分析面临的主要问题36 用一个树型结构表示系统的功能, 叫功能树。调查清楚现有系统的状况和存在问题,才能确定新系统的目标和功能。目标要和用户部门的领导反复磋商后才能确定,而功能一般由功能树表示。功能树实际是子系统以及子系统下功能的划分方法,它与业务子系统的

17、功能不一样,是从系统角度来划分的。如图表示某大学的管理信息系统功能树。 37学生成绩管理系统成绩输入 成绩处理成绩使用建立删除修改分类排序统计查询奖惩留级毕业存档成绩通知 分析某大学某大学MIS功能树功能树图示图示38 数据流程图DFD(Data Flow Diagram)是描述逻辑模型的主要工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程,它是描述软件数据流程的工具。很简单,仅有四种。39 (1)外部实体 (2) 数据流 顾客顾客订货合同订货合同 (3)处理)处理 (4)存储(数据库)存储(数据库) 3.5库存库存管理管理D2产品产品 40(1)由外向内,先外部后内部,先

18、粗后细;(2)由顶向下,先父图后子图;(3)由左向右,从输入到处理到输出;(4)由主到次,先处理一般情况,再处理特例、出错等特殊情况;(5)合理命名,唯一标识,反映层次,例如P5表示第5个子系统的处理逻辑;P3.5表示第一层第3个处理中对应的第二层第5个处理逻辑;(6)父子图平衡(一致),下面将详细介绍;(7)以层次不超过4 ,每层处理不超过7为宜,最终画到功能模块处理逻辑和数据库设计;(8)尽量避免数据流的线条交叉。数据流程图的绘制方法数据流程图的绘制方法41上一节讲到的第6条规则非常重要,下面举例说明父图与子图平衡的含义:顶层图即0层图说明信息处理系统 P 有两个外部输入信息a和b,一个外

19、部输出信息e。PabeDFDDFD的的0 0层图例层图例42 1层图说明信息处理系统 P 有3个子系统P1、P2、P3, 从P1、P2 到 P3分别有内部信息c与d。1层图是0层图的子图,必须与其父图平衡:即输入到P1、P2的外部信息有a和b,P3输出为e,表明0层到1层是一致的。P1P2P3cdeDFDDFD的的1 1层图例层图例ab43 2层图分别展开1层图中的P1、P2、P3,故有3张图,均是1层图的子图。以下是DFD的2层图例( 1层图的3张子图): chfaP1.2P1.3P2.1P2.2P1.1(a)gbkd (b)(c)P3.4P3.1P3.2P3.3edclmnpq44 第3层

20、DFD图将有9张,分别展开处理逻辑Pl.1,Pl.2,Pl.3,P2.1,P2.2,P3.1,P3.2,P3.3,P3.4,例如画其中一张P2.1的子图。P2.1.1P2.1.4P2.1.3P2.1.2bxyzuk第第3层的层的DFD图(对应图(对应2 2层图层图b的一张子图)的一张子图) 45IDEF(ICAM Definition)基本符号业务活动业务活动 输入输入控制控制机制机制输出输出(限制、制约活动的数据)(使活动进行作业,采取行动的手段,或活动的执行者,或需要的资源)46业务活动的结合示意图 业务活动业务活动 业务活动业务活动 业务活动业务活动 1234567471. 根据如下要求

21、完成学生信息管理系统的数据流程图0层与1层的绘制。录入(学生信息由学生处输入)编辑(增、删、改)查询(查询者)统计(管理者)查询表输出内容为:学号 姓名 专业 班级年级学生信息统计表输出内容为:班级 专业 人数练习练习482. 试根据如下要求完成学生课程信息管理系统的数据流程图试根据如下要求完成学生课程信息管理系统的数据流程图0层与层与1层的绘制。层的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录入)录入(学生信息由学生处输入,课程安排由教务处录入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出格式为:查询表输出格式

22、为:学号学号姓名姓名专业专业班级班级年级学生信息统计表输出格式为:年级学生信息统计表输出格式为:班级班级专业专业课程课程1课程课程2课程课程7493. 试根据如下要求完成学生成绩管理信息系统的数据流程图试根据如下要求完成学生成绩管理信息系统的数据流程图0层层与与1层的绘制。层的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录入,录入(学生信息由学生处输入,课程安排由教务处录入,各科成绩由任课教师录入)各科成绩由任课教师录入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出内容查询表输出内容1为:为:学号学号姓名姓名专业专

23、业班级班级查询表输出内容查询表输出内容2为:为:学号学号 姓名姓名 各科成绩各科成绩 总成绩总成绩某专业学生成绩统计表输出内容为:某专业学生成绩统计表输出内容为:班级班级各科成绩各科成绩 总成绩总成绩50(Data Dictionary)是在数据流程图的基础上,进一步定义和描述数据流处理过程,外部实体及数据存储(数据库)的详细逻辑内容的工具。数据流程图加上数据字典就是一套完整的逻辑设计。(1)数据流的名称,由哪些数据项组成(数据项是数据的最小组成单位,不可再分),数据流的来源与去处,流通量(产生频率:多长时间传送多少次)及高峰流通量。(2)数据存储(数据库)的名称与结构,流入与流出的数据流名称

24、;(3)处理逻辑的名称、编号、主要功能,流入与流出的数据流名称;(4)数据项的名称、编号、类型、长度、取值范围。51数据字典数据字典 设计数据库设计数据库 编写数据字典编写数据字典 设计数据库设计数据库 维护维护数据库数据库 简化实用的数据字典简化实用的数据字典(数据字典作用的变化)(数据字典作用的变化) 实用的数据字典实用的数据字典52学生成绩管理信息系统我们建立的管理信息系统要求实现如下功能:学生成绩录入;学生成绩增删改;学生成绩查询;学生成绩统计分析。输出格式1: 学生成绩查询表学号学号姓名姓名课程课程成绩成绩 53 输出格式2: 学生成绩统计表 班级班级1 班级班级2 班级班级3课课程

25、程名名人人数数90以上以上%及及格格人人数数90以上以上%及及格格人人数数90以上以上%及及格格课程课程1课程课程2课程课程5课程课程4课程课程354学生成绩管理信息系统业务流程图 教务处教务处 教务处教务处 教师教师 输入计算机输入计算机 输出输出学学生生课课程程成绩成绩55(3)画出数据流程图 学生成绩管理信息系统0层数据流程图 学籍学籍管理管理部门部门教师教师教务处教务处学生学生教师教师 学学生生成成绩绩管管理理信信息息系系统统 学生信息学生信息a学生成绩学生成绩c 查询查询e统计分析统计分析f56学生成绩信息系统1层数据流程图 管理管理部门部门 教务处教务处 教师教师 查询者查询者 管

26、理者管理者 1.0学生管理学生管理 2.0课程管理课程管理 3.0成绩管理成绩管理 4.0统计分析统计分析 D1D2D3学生学生课程课程成绩成绩57一. 引言编写目的背景说明术语定义参考资料二. 任务概述目标用户的特点假定与约束其他58三.需求规定功能性能:精度、速度、灵活输入输出数据管理能力故障处理四. 运行环境设定设备支持软件接口控制五. 缩写词表六. 参考文献591. 根据如下要求完成学生信息管理系统的数据流程图0层与1层的绘制。录入(学生信息由学生处输入)编辑(增、删、改)查询(查询者)统计(管理者)查询表输出内容为:学号 姓名 专业 班级年级学生信息统计表输出内容为:班级 专业 人数

27、作业作业602. 试根据如下要求完成学生课程信息管理系统的数据流程图试根据如下要求完成学生课程信息管理系统的数据流程图0层与层与1层的绘制。层的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录入)录入(学生信息由学生处输入,课程安排由教务处录入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出格式为:查询表输出格式为:学号学号姓名姓名专业专业班级班级年级学生信息统计表输出格式为:年级学生信息统计表输出格式为:班级班级专业专业课程课程1课程课程2课程课程7613. 试根据如下要求完成学生成绩管理信息系统的数据流程图试根据如

28、下要求完成学生成绩管理信息系统的数据流程图0层层与与1层的绘制。层的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录入,录入(学生信息由学生处输入,课程安排由教务处录入,各科成绩由任课教师录入)各科成绩由任课教师录入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出内容查询表输出内容1为:为:学号学号姓名姓名专业专业班级班级查询表输出内容查询表输出内容2为:为:学号学号 姓名姓名 各科成绩各科成绩 总成绩总成绩某专业学生成绩统计表输出内容为:某专业学生成绩统计表输出内容为:班级班级各科成绩各科成绩 总成绩总成绩62Exe

29、rcisePlease write a report of system analysis on the Student Score Management System.6364。65(1)子系统功能模块设计(2)编码设计(3)输入设计(4)输出设计(5)数据库设计(6)可靠性设计(7)安全性和保密性设计(8)与其他系统的接口设计(9)与外部系统的连接设计66(Structured Design,简称SD)是对于一个清楚陈述的问题,选择和组织模块以及模块接口,从而求得所述问题的“最优”解。也就是说,结构化设计是运用一组标准的规则和工具帮助系统设计员确定软件系统是的,这些模块在一起,才能构成一个

30、最优的软件系统结构。67如何构造软件的总体结构?即设计方法和策略问题什么样的软件结构是“最优”的?即软件评估准则问题如何表述软件的结构?即软件设计工具问题6869:按功能从属关系制成的图表。:即功能结构图中每一个框。它具有独立性,又与其他模块存在关系。:把一个子系统设计成若干个功能模块的方法叫模块化。70:在上一阶段需求分析的基础上,从信息的角度分子系统。:软件功能结构图最后一层的功能模块相对独立,与其他模块之间的关系很简单,且没有过多的相互作用。71:衡量不同模块彼此间互相依赖的紧密程度。:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。:衡量一个模块内部各个元素彼

31、此结合的紧密程度。:力争做到高内聚,且能辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度和降低模块间的耦合程度,从而获得较高的模块独立性。72偶然内聚逻辑内聚时间内聚低内聚过程内聚通信内聚中内聚顺序内聚功能内聚高内聚内聚73 (1)子系统有相对独立性,即子系统内部联系紧密(内聚度高),功能集中,而子系统之间依赖尽量小(耦合度低),数据冗余小。(2)子系统便于管理,责任明确,有利于软件分阶段实施和运行,有利于信息的收集和处理,并利于检查。(3)应考虑今后管理发展的需要。74 HIPO法(Hierarchy Plus Input-Processing-Output)HIPO图和DFD一样,

32、先从上到下、由宏观到微观、自外部到内部分出若干层。对于每层的每种处理过程,画出输入-处理-输出图IPO图。 IPO图的规则更简单,左端为输入,中间为加工处理,右边为输出 。75 需求分析阶段画出了数据流程图DFD,以此为基础,可以画出功能模块结构图。绘制方法有两种:模块结构图反映了模块与模块之间的调用关系和传递数据的通信联系,是软件开发者的有力工具。76总功能总功能( (变换中心变换中心) )输入输入输出输出处理处理变换中心模块结构图原理变换中心模块结构图原理事务中心法模块结构图原理事务中心法模块结构图原理确定事务类型确定事务类型(控制模块控制模块)处处理理4处处理理1处处理理2处处理理3定单

33、处理模块结构图定单处理模块结构图层次化模块结构图层次化模块结构图77层次化模块结构图层次化模块结构图 修改库修改库 存文件存文件C.5.3.2 获得获得 合格输入合格输入C.5.4.4修改修改 库存记录库存记录C.5.4.5 写写 库存文件库存文件C.5.4.6 读出读出入库单据入库单据C.5.5.7 验证验证 出入库单据出入库单据C.5.5.8 读读 库存文件库存文件C.5.5.9合格出入合格出入库库单据单据结束标志结束标志 合格合格 标志标志合格出合格出入库单据入库单据新库存新库存记录记录新库新库存存记录记录出入出入库库单据单据出入库出入库单据单据库存库存编号编号库存库存记录记录7879学

34、生处查询者管理者学生管理信息系统学生情况 统计查询 数据流程图数据流程图0 0层图层图80数据流程图数据流程图1 1层图层图学生处 查询者 管理者 1学生管理 2统计分析 D 学生学生情况a81功能模块结构图功能模块结构图学生信息管理系统数据输入1 学生管理查询输出学生处查询者 管理者 统计结果输出2 统计分析821. 根据学生信息管理系统的数据流程图0层与1层,完成如下要求的功能模块结构图的绘制。录入(学生信息由学生处输入)编辑(增、删、改)查询(查询者)统计(管理者)查询表输出内容为:学号 姓名 专业 班级年级学生信息统计表输出内容为:班级 专业 人数练习练习832. 根据学生信息管理系统

35、的数据流程图根据学生信息管理系统的数据流程图0层与层与1层,完成如下层,完成如下要求的功能模块结构图的绘制。要求的功能模块结构图的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录录入(学生信息由学生处输入,课程安排由教务处录入)入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出格式为:查询表输出格式为:学号学号姓名姓名专业专业班级班级年级学生信息统计表输出格式为:年级学生信息统计表输出格式为:班级班级专业专业课程课程1课程课程2课程课程7843. 试根据学生信息管理系统的数据流程图试根据学生信息管理系统的数据流程图0层

36、与层与1层,完成如下要层,完成如下要求的功能模块结构图的绘制。求的功能模块结构图的绘制。l 录入(学生信息由学生处输入,课程安排由教务处录入,录入(学生信息由学生处输入,课程安排由教务处录入,各科成绩由任课教师录入)各科成绩由任课教师录入)l 编辑(增、删、改)编辑(增、删、改)l 查询(查询者)查询(查询者)l 统计(管理者)统计(管理者)查询表输出内容查询表输出内容1为:为:学号学号姓名姓名专业专业班级班级查询表输出内容查询表输出内容2为:为:学号学号 姓名姓名 各科成绩各科成绩 总成绩总成绩某专业学生成绩统计表输出内容为:某专业学生成绩统计表输出内容为:班级班级各科成绩各科成绩 总成绩总

37、成绩85三种设计方法的比较问题结构(DFD图)映射软件结构(SC图)各模块过程描述(详细设计工具)概要分析详细设计数据结构(JACKSON图)映射程序结构(JACKSON图)程序过程表示(JACKSON伪代码)程序分析程序设计数据结构(Warnier图)映射程序结构(Warnier图)各模块过程描述(详细设计工具)程序分析程序设计8687 把前一个阶段设计的物理模型加以实现,建成一个符合需求分析和软件设计要求的软件(程序)。 建立软件开发与运行环境; 建立数据库系统,录入数据; 用户方人员的培训; 编写程序。88 89开发环境:是指软件开发人员进行开发所需要的工作环境。 :Windows、UN

38、IX、 Linux : 桌面数据库:包括Access、Foxbase、Foxpro、VFP等基于文件的桌面型数据库。 大型数据库:能完成多客户请求的运行在专用服务器的数据库服务器产品,包括Oracle、Sybase、MS SQL Server、Informix和DB2等。90 :该产品主要是为了适用于当前多层分布式应用系统和电子商务平台而建立的一种中间服务器产品,目标是为了响应多客户同时响应请求。 :编程工具的发展经历了从非可视化到可视化、面向过程到面向对象的过程。 OFFICE套装软件; CASE:计算机辅助软件工程; 通讯软件:outlook等; 杀毒软件。91 基础数据的准备工作在软件编

39、程阶段是十分重要且不能滞后的。 2 2、基础数据的整理与录入、基础数据的整理与录入92程序设计质量要求程序设计质量要求93 基础:结构定理 结构定理:任何程序结构都可以用顺序、选择、循环三种基本结构来表示。94结构化程序设计的基本原则1. 按功能模块设计书,采用自顶向下、逐步细化的方法编写程序;2. 采用三种基本结构编写程序,不用GOTO;3. 每一个程序模块只能有一个入口和一个出口,其语句行不超过100条(不算注释行),以不超过50行为宜;4. 加注释语句,注释语句行约占全部语句行约1/3。5. 各功能模块相对独立,块内聚合度高,块间耦合度低(联系少)。95要求编程者遵守被大家公认的编程规范

40、约定。源程序文档化:符号的命名、程序的注释和标准的书写格式。数据说明:次序应规范、固定。常量、简单变量类型、数组类型、共用数据块、文件类型说明整形变量、实型变量、字符变量、逻辑变量说明语句结构:96使用标准的控制结构一条语句/行、缩进尽可能使用库函数首先应当考虑可读性注意GOTO语句的使用其他需要注意的问题97 一、学生成绩管理信息系统 (1) 前期工作 (2) 数据库系统的建立 (3) 程序的编写二、酒店管理信息系统 (1) 前期工作 (2) 数据库系统的建立 (3) 程序的编写98作业1. 软件编程工作的主要任务是什么?各项工作存在什么关系?2. 结构化程序设计的基本思想是什么?对程序设计

41、有哪些要求?99100 以最少的时间和人力去找出软件中潜在的各种错误和缺陷。软件的功能和性能是否与需求说明相符。 调试程序;测试新软件系统;验收交工。1011.坚持尽早地、不断地进行测试原则;2.测试计划与需求分析与设计同步进行;3.测试从小规模转向大规模;4.穷举测试是不可能的,应该采用适当的方法;5.应该由开发与用户之外的第三方来完成测试;6.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。 102 基本方法:测试方法测试方法103主要是为了发现以下几类错误: 是否有不正确的或遗漏了的功能? 在接口上,输入能否被正确地接受?能否输出正确的结果? 是否有数据结构错误或外部

42、信息访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误?黑盒法黑盒法104 黑盒法测试黑盒法测试105主要从以下几个方面对程序模块进行检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的情况都能各至少测试一次; 在循环的边界和运行的界限内执行循环体; 测试数据结构的有效性。 白盒法白盒法106白盒法测试图示白盒法测试图示B入口入口ANNN出口出口107 108109 在单元测试中,主要从模块的五个特征进行检查: 模块接口 局部数据结构 重要的执行路径 出错处理 边界条件 单元测试单元测试 ( (模块测试模块测试) )110 输入参数和形式参数

43、在个数、数据类型和顺序上是否一致; 调用标准函数时所用的参数在个数、数据类型和顺序上是否正确; 全局变量在各模块中的定义和用法是否一致; 输入是否仅改变了形式参数。接口测试主要的测试要点接口测试主要的测试要点111对外部文件进行输入或输出操作的检查要点 如果模块要执行对外部文件的输入或输出操作时,还应该再检查以下要点: 文件是否被正确的打开关闭; 文件格式是否与输入/输出语句一致; 缓冲区大小是否和记录大小匹配; 输入输出的错误是否检查并处理; 输出的提示信息是否有误。112 局部数据结构出错是,在测试时应重点考虑以下因素: 变量的类型说明是否合适; 是否使用了尚未赋值或尚未初始化的变量; 变

44、量的初始值或默认值是否正确; 变量名是否有错(例如:拼写错); 是否出现上溢、下溢或地址异常的错误。 局部数据结构的测试局部数据结构的测试113 在单元测试中,对路径的测试是。计算方面的错误;控制流的错误;出错处理的路径错误; 边界条件的错误。 对路径的测试对路径的测试114 算术运算的优先次序不正确或理解错误;精度不够; 运算类型彼此不相容; 算法有错; 表达式的符号表示不正确。 计算方面的主要错误计算方面的主要错误115 比较和控制流是紧密结合的,一般是通过比较来发生控制流的改变。关于这方面的主要错误有: 本应相等的量由于精度造成不相等; 不同类型进行比较; 逻辑运算符或优先次序不正确;

45、循环终止不正确;不恰当地修改循环变量; 当遇到分支循环时,出口错误。控制流的主要错误控制流的主要错误116 好的设计应该能预测到出错的条件并且有对出错处理的路径。对出错的测试应该着重考虑: 错误的描述难以理解; 错误提示与实际错误不相符; 提示信息不足以确定错误或确定造成错误的原因;在对错误进行处理之前,系统已经对错误条件干预等。出错处理的常见错误出错处理的常见错误117 边界条件的测试是单元测试的最后工作,也是非常重要的工作。软件容易在边界出现错误,如: 数据流、控制流在刚好 =、 最大值或最小值的情况; n维数组在处理数组第n个下标时,常出现错误。边界条件的常见错误边界条件的常见错误118

46、单元测试的方法通常由测试人员使用或开发专门的模块进行。 在对每个模块进行测试时,需要开发两种模块: 驱动模块 (driver) 桩模块 (stub) 测试模块测试模块119组装测试也称为集成测试。通常有两种方法: 非增量式集成测试 增量式集成测试 组装测试组装测试 ( (integration testing)integration testing)120 增量式测试方法增量式测试方法121 测试次序测试次序122组合示例示意图M1M4M3M2M7M6M5123(1)用主模块作为驱动模块,与之直接相连的模块用桩模块代替。(2)根据所选的测试次序,用下一个模块替换所用的桩模块;而新引入模块的直接

47、下属模块用桩模块代替,构成新的测试对象。(3)为了避免引入新模块,产生新问题,需要进行必要的重复测试,即重复部分或全部已经进行过的测试。(4)所有模块是否已经组合到系统中,并完成测试。如果没有,则返回到(2),重复进行;是则停止测试。自顶向下增量式组装测试步骤自顶向下增量式组装测试步骤124(1) 将最底层的模块组合成能完成某种特定功能的模块组,为每个模块组设计驱动程序,用驱动程序来控制并进行测试。(2) 按从下向上的方向,用实际模块替换相对应的驱动程序,组成新的模块组,再为该模块组设计驱动程序,用新的驱动程序进行控制和测试。(3) 所有模块是否已经组合到系统中,并完成测试,如果没有,则返回到

48、(2),重复进行;是则停止测试。自底向上增量式组装测试步骤自底向上增量式组装测试步骤125确认测试包括:有效性测试软件配置审查验收测试安装测试 确认测试确认测试 ( (validation testing)validation testing)126 有效性测试就是在模拟环境下,通过黑盒测试检验所开发的软件是否与需求规格说明书一致。 在所有测试用例完成之后,测试结果有两种情况:(1) 功能和性能等都满足需求,可以接受。(2) 发现测试结果与预期的不符,这时要列出缺陷清单。与用户协商,寻找解决办法。有效性测试有效性测试127主要是检查软件(源程序、目标程序)和文档(包括面向开发和用户)是否齐全以

49、及分类是否有序。 软件配置审查软件配置审查128 在经过软件的有效性测试和软件配置复查后,就应该开始软件系统的验收测试。以用户为主测试测试用例由用户参与设计,一般采用实际数据主要验证:软件的功能、性能、可移植性、兼容性、容错性等验收测试验收测试129 系统测试是根据需求分析说明书来设计测试用例的。 常见的系统测试主要有以下:恢复测试(recovery testing)安全性测试(security testing)强度测试(stress testing)性能测试(performance testing)可靠性测试(reliability testing)安装测试(installation tes

50、ting)系统测试系统测试 ( (system testing)system testing)130 通常使用以下几个指标来衡量系统的可靠性:(1)平均失效间隔时间MTBF是否超过了规定的时限;(2)因故障而停机时间 MTTR在一年中应不超过多少时间。可靠性测试可靠性测试131 程序测试程序测试59程序调试程序调试联合调试联合调试系统调试系统调试程序程序123467810软件调试一、软件调试的过程一、软件调试的过程 系统调试的任务就是根据测试时所发现的错误,找出原因系统调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,并进行改正和具体的位置,并进行改正。132 常用的调试方法有如下几

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件工程实践SoftwareEngineeringPractice(精)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|