版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概念含义软件程序、数据和文档程序软件开发人员依据用户需求开发的,用某种程序设计语言描述的,能够在计算机中执行的语句序列数据师程序能够正常操纵信息的数据结构文档与程序开发、维护和使用的有关资料软件(Software)是指包括程序、数据以及相关文档的完整组合。国标定义:与计算机系统的操作有关的计算机程序、规程、规则以及可能有的文件、文档及数据。第1页,共67页。软件工程(SoftwareEngineering)是在20世纪60年代末期提出的。这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。第2页,共67页。表现:⑴软件需求的增长得不到满足⑵软件开发成本和进度无法控制⑶软件质量难以保证⑷软件不可维护或维护程度非常低⑸软件成本不断提高⑹软件开发生产效率的提高赶不上硬件的发展和应用需求的增长(7)软件通常缺少适当的文档资料总之,可以将软件危机归结为成本、质量和生产率等问题
实际上几乎所有软件都在不同程度上存在软件危机.软件危机(SoftwareCrisis)下一节第3页,共67页。5.1软件工程的基本概念形成:为了摆脱软件危机,北大西洋软件组织成员国软件工作者于1968-1969年,两次召开会议,认识早期软件开发中所存在的问题和产生问题的原因,提出软件工程的概念.
目的:
软件工程是指导计算机软件开发和维护的一门学科,它应用计算机科学、数学和管理科学等原理,以及借鉴传统工程的原则和方法,来创建软件,从而达到提高质量、降低成本的目的。软件工程:
是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。第4页,共67页。软件工程是一门交叉学科软件工程的主要研究内容软件开发技术:软件开发方法学软件开发过程软件工具和软件工程环境软件工程管理:软件管理学软件经济学软件心理学
软件工程所包含的内容不是一成不变的,随着人们对软件系统的研制开发和生产的理解。应用发展的眼光看待它。第5页,共67页。软件工程—
一种层次化技术工具方法过程质量焦点Softwareengineeringlayers软件工程三个要素:方法、工具、过程第6页,共67页。软件工程框架可用性性性确正合算选取适宜的开发模型采用合适的设计方法提供高质量的工程支持重视软件工程的管理基本过程原则
目标过
程支持过程组织过程第7页,共67页。
软件生命周期一.定义:(SoftwareLifeCycle)
软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。
软件生命周期可以划分为软件定义、软件开发和软件运行维护三个时期,每个时期又进一步划分成若干个阶段。第8页,共67页。概要设计可行性研究与计划制定需求分析定义阶段详细设计实现测试使用开发阶段维护运行维护阶段退役确定开发目标和总的要求,给出功能、可靠性等可能方案,制定实施计划.对软件需求进行分析并给出详细定义,编写软件规格说明书及初步的用户手册,提交评审。给出软件的结构、模块和功能的划分等,确定算法。编写概要设计、详细设计说明书和测试计划初稿。源程序编码,把软件设计转换成计算机可以接受的程序代码。编写用户手册、操作手册和单元测试计划。设计测试用例,检验软件各个组成部分。编写测试分析报告。
将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。第9页,共67页。第10页,共67页。5.1.3软件方法1.软件方法(1)明确的工作步骤。(2)具体的文档格式。(3)确定的评价标准。2.软件工具:需求分析工具、编码工具、设计工具、编码工具、确认工具、维护工具。第11页,共67页。5.2软件分析1.问题定义2.可行性研究3.需求分析第12页,共67页。
5.2.2结构化分析方法需求分析与需求分析方法
需求阶段是软件开发的关键阶段。需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用<需求规格说明书>规范的形式准确地表达用户的需求。第13页,共67页。结构化分析阶段的工作(四方面):需求获取确定系统各方面需求,全面地提炼出系统的功能性与非功能性需求。需求分析编写需求规格说明书需求审评对获取的需求分析和综合,给出系统解决方案和逻辑模型。为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。复审需求分析阶段的工作,验证需求文档的一致性、可行性等。第14页,共67页。5.2.3结构化分析方法一、结构化分析方法(StructureAnalysis---SA)1.定义:是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。办理取款手续的数据流图储户检验付款登录存折帐卡取款信息检验不合格现款付款信息取款单存折第15页,共67页。通过对用户的调查,以软件的需求为线索,
获取当前系统的具体模型去掉具体模型中非本质因素,抽象出当前系统的逻辑模型根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型完善目标系统并补充细节,写出目标系统的软件需求规格说明结构化分析的主要步骤第16页,共67页。二、结构化分析方法使用的常用工具
数据流图(DFD—DataFlowDiagram
)数据字典(DD—DataDictionary)
判定树判定表3.2.2结构化分析方法1.数据流图(DFD—DataFlowDiagram)
(1)作用:
从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。第17页,共67页。储户检验付款登录存折帐卡取款信息办理取款手续的DFD图检验不合格现款付款信息取款单存折第18页,共67页。注意数据流图与程序流程图中的箭头表示的内容相同么?数据流图中的箭头表示的是数据流。程序流程图中的箭头表示的是控制流。两者有本质不同,不要混淆第19页,共67页。1.数据流图(DFD—DataFlowDiagram)
(1)作用:
二、结构化分析方法使用的常用工具3.2.2结构化分析方法(2)数据流图中的基本图形符号意义第20页,共67页。可以是数据库文件或任何形式的数据组织。数据加工:
转换数据流的处理过程外部实体:表示数据的源点或终点,即系统外部的实体。数据流:
在转换之间有向流动的数据项或数据集合
数据存储文件:
箭头向内则表示写入文件或查询文件.箭头向外则表示从文件中读取数据或得到查询结果.第21页,共67页。数据流与数据加工之间的关系第22页,共67页。数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。第23页,共67页。分层的数据流图第24页,共67页。
基于计算机的系统输入信息输出信息外部实体外部实体输入信息外部实体外部实体外部实体输出信息输出信息第25页,共67页。结构化分析方法步骤示例
商店业务处理系统首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程第26页,共67页。结构化分析方法步骤示例
商店业务处理系统顶层数据流图第27页,共67页。结构化分析方法步骤示例
商店业务处理系统经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图第28页,共67页。第一层数据流图第29页,共67页。加细每一个加工框 销售细化第30页,共67页。采购细化第31页,共67页。2.数据字典(1)定义是所有与系统相关的数据元素的一个有组织的列表,以及精确、严格的详细定义。(2)作用对DFD中出现的被命名的图形元素的确切解释,数据词典与数据流图配合,能清楚地表达数据处理的要求。二、结构化分析方法使用的常用工具3.2.2结构化分析方法第32页,共67页。2.数据字典二、结构化分析方法使用的常用工具3.2.2结构化分析方法(3)数据字典的组成数据项:是数据的最小单位;数据结构:是若干数据项的有意义的集合;数据流:可以是数据项,也可以是数据结构,表示某一个处理过程的输入或输出;数据存储:处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件。处理过程:
第33页,共67页。(4)数据字典定义符号符号含义例子
=被定义为+与[]x=a+b,则表示x
由a和
b
组成x=[a,b],则表示x
由a或由
b
组成{}或重复x={a},则表示x
由0个或多个a组成()
可选
表示在两个*之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符x=(a),则表示a在x中出现,也可不出现x=1..9(x可取1到9中任意一个值)..连接符第34页,共67页。某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。标识符=字母字符+字母数字串字母数字串=0{字母或数字}7字母或数字=[字母字符|数字字符]数据字典中定义数据例:第35页,共67页。增量方式和非增量方式区别是什么?那种更好?白盒测试原则及测试用例根据软件是否需要被执行x=[a,b],则表示x由a或由b组成日=“01”.保证所测模块中每一独立路径至少执行一次系统测试:面向数据结构的设计方法软件需求:解决“做什么”姓名=1{字母}8例:若数据流图中有“员工登记单”数据存储文件,则在数据字典中此条目可描述为:加细每一个加工框 销售细化软件设计的方法的种类:是所有与系统相关的数据元素的一个有组织的列表,以及精确、严格的详细定义。设计阶段主要结果:模块说明书是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。例:若数据流图中有“员工登记单”数据存储文件,则在数据字典中此条目可描述为:员工登记单=员工编号+姓名+职务+聘用日期员工编号=“0001”..“9999”姓名=1{字母}8职务=5{字母}20聘用日期=年+月+日年=“00”..“99”月=“01”..“12”日=“01”..“31”第36页,共67页。存折格式第37页,共67页。存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,“5”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核第38页,共67页。购书单发票领书单审查并开发票开领书单无效书单学生12各班学生用书表举例:学生教材存量表第39页,共67页。数据流条目说明举例数据流名:购书单别名:
无简述:
学生购书时填写的项目来源:
学生去向:
加工1“审查并开发票”组成:
(学号)+姓名+{书号+数量}数据流量:1000次/周
高峰值:开学期间1000次/天
第40页,共67页。3.判定树
使用判定树进行描述时,应分清哪些是判定的条件,哪些是判定的结论,并找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。优点:更加直观,易于理解和使用二、结构化分析方法使用的常用工具3.2.2结构化分析方法第41页,共67页。检查发货单金额>$500金额
$500欠款>60天不发出批准书欠款
60天发货单发出批准书、欠款>60天发出批准书、发货单及赊欠报告欠款
60天发出批准书、发货单以“检查发货单”为例第42页,共67页。用判定树表示计算行李费的算法第43页,共67页。4.判定表(1)使用条件:
当数据流图中的加工要依赖于多个逻辑条件的取值时(该加工的一组动作是由于某一组条件取值的组合而引发的),使用判定表描述比较适宜.(2)判定表的组成(四部分):
基本条件:各种可能的条件
条件项:
各种可能的条件组合
基本动作:所有的操作
动作项:对应的条件组合下所选的操作二、结构化分析方法使用的常用工具3.2.2结构化分析方法第44页,共67页。第45页,共67页。以“检查发货单”为例第46页,共67页。验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全正确。软件工具和软件工程环境可以是数据库文件或任何形式的数据组织。数据结构:是若干数据项的有意义的集合;这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。(2)中级职称且教学评估优秀的奖励800元,教学效果评估合格的奖励500元;印密=“0”注:印密在存折上不显示软件工程管理:软件管理学(2)具体的文档格式。可能地多发现程序中的错误x=[a,b],则表示x由a或由b组成数据流与数据加工之间的关系123456职称高高中中初初评估结果优秀合格优秀合格优秀合格1000√800√√500√√0√某学校对教职工拟定奖励策略如下:(1)高级职称且教学评估优秀的奖励1000元,教学效果评估合格的奖励800元;(2)中级职称且教学评估优秀的奖励800元,教学效果评估合格的奖励500元;(3)初级职称且教学评估优秀的奖励500元。要求画出奖励策略的判断表。举例第47页,共67页。
3.3结构化设计方法3.3.1软件设计过程及原则软件需求:解决“做什么”软件设计:解决“怎么做”软件设计的任务:映射问题结构(软件需求)软件结构从软件需求规格说明书出发,形成软件的具体设计方案。第48页,共67页。设计阶段主要结果:模块说明书模块说明书(1)模块结构图(2)模块的功能说明5.3软件设计
第49页,共67页。软件设计过程:
编码测试设计信息描述功能描述行为描述其他需求总体结构设计数据设计过程设计
程序模块集成并确认的软件------软件开发阶段的信息流
3.3结构化设计方法3.3.1软件设计过程及原则第50页,共67页。3.3.2结构化设计方法1.软件设计的方法:开发阶段设计软件时所使用的方法注意区别:结构化分析方法是定义阶段需求分析过程中所使用的方法。2.软件设计的方法的种类:结构化设计方法面向数据结构的设计方法面向对象的设计方法第51页,共67页。3.3.2结构化设计方法3.结构化设计方法(SD--StructuredDesign)
结构化设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础发展起来的。基本思想:
将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段.结构化设计过程的概要设计阶段的描述工具是:
结构图(SC-StructureChart
)第52页,共67页。概要设计也称为结构设计或总体设计,主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图,如图3.3.2结构化设计方法第53页,共67页。结构化设计的目的
使程序的结构尽可能反映要解决的问题的结构结构化设计的任务把需求分析得到的数据流图DFD变换为系统结构图(SC)。结构化设计的目的与任务3.3.2结构化设计方法第54页,共67页。
5.4软件测试软件测试的目的与原则软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例(即输入数据及预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷第55页,共67页。测试目的:可能地多发现程序中的错误测试用例的选择原则:选择发现错误可能性大的数据
3.4软件测试软件测试的目的与原则第56页,共67页。软件测试准则(六点):(1)所有测试都应追溯到需求。(2)严格执行测试计划,排除测试的随意性。(3)充分注意测试中的群集现象。80%的缺陷聚集在20%的模块中(4)程序员应避免检查自己的程序。(5)穷举测试不现实。(6)妥善保存测试计划、测试用例、和最终分析报告等。第57页,共67页。
软件测试方法研究内容:如何用最少的测试用例集合来测试出程序中更多的潜在错误。关键技术:如何进行彻底的测试,如何设计测试用例等。测试分类:根据软件是否需要被执行按照功能划分静态测试动态测试黑盒测试白盒测试第58页,共67页。
也叫玻璃盒测试、结构测试或逻辑驱动测试,对软件的过程性细节做细致的检查。这一方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,来设计或选择测试用例,对程序所有逻辑路径进行测试。
白盒测试是在程序内部进行,主要用于完成软件内部操作的验证。
2.白盒测试通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试第59页,共67页。白盒测试的原则保证所测模块中每一独立路径至少执行一次保证所测模块所有判断的每一分支至少执行一次保证所测模块每一循环都在边界条件和一般条件下至少各执行一次验证所有内部数据结构的有效性白盒测试局限性:是穷举路径测试,贯穿程序独立路径数是天文数字,即使每条路径都经过了测试,仍可能有未发现错误。白盒测试的主要方法:逻辑覆盖测试、基本路线测试白盒测试原则及测试用例第60页,共67页。白盒测试用例设计:逻辑覆盖测试:以程序内部的逻辑结构为基础的测试用例设计技术。程序中的逻辑表示有:判断、分支、条件等几种表示方式。
发现错误的能力标准含义
1(弱)语句覆盖每条语句至少执行一次
2判定覆盖每一判定至少都能获得一次”真值”和”假值”的机会3条件覆盖对于每个判定中所包含的若干个条件中的每一个条件都取得“真”和“假”两个不同的结果4判定/条件覆盖同时满足判定覆盖和条件覆盖的要求5(强)条件组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次
逻辑覆盖测试的标准
第61页,共67页。
也叫功能测试或数据驱动测试,被测软件看作一个不透明的黑盒子,在软件接口处进行,完成功能的验证。
黑盒测试完全不考虑程序内部的逻辑结构和内部特性。
黑盒测试(BlackBoxTesting)3.黑盒测试、黑盒测试原则及测试用例黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年计算机专转本模拟试题模拟试卷及答案
- 财务模型的审计追踪:公式审核与变更记录
- 2026年保险法律实务模拟试题(含答案)
- 2026年馈电开关模拟试卷带答案
- 2026年配电安规知识考试判断题库及答案
- 2026年司机礼仪考试题库及答案
- 中级会计职称考题财务管理模拟试卷带答案
- 2026年滨州事业编模拟试题(含答案)
- 2026年中级消防证模拟试卷带答案
- 2026年腹痛处理流程模拟试题(含答案)
- 2025重庆市九龙坡区金凤镇社区工作者招聘考试真题及答案
- 低空空域资源的多主体协同利用与动态分配机制
- 《妇产科妇科手术诊疗指南及操作规范(2025版)》
- 新进员工消防培训
- 医疗废物法律法规课件
- 防雷安全隐患排查治理制度
- 药店冬季促销活动方案
- 2025届吉林省吉林市高三下学期10月一模考试-化学试题(含答案)
- 2025至2030年中国聚甲醛(POM)板材市场现状分析及前景预测报告
- 实物贵金属管理办法
- 临床试验医学经理核心能力体系
评论
0/150
提交评论