




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.第1、2、3章,编程和软件工程基础,2,本章的主要内容,编程方法和风格结构化编程面向对象编程软件工程基本概念结构化分析方法软件测试程序调试,3,2.1编程方法和样式,什么是程序,命令栏。(说明)通过硬件控制系统自动执行功能。通过一系列代码。计算机本身仅识别二进制代码“0”、“1”的编程语言。编译和解释程序,最直接、最低级的编程是机器语言。汇编语言。4,编程风格,基本概念:编写程序时出现的特征、习惯和逻辑思维。通常,选择源程序的内部文档(标志名称、注释(序言和功能注释)以及程序的可视配置)。数据说明:所有变量、数据说明的顺序必须明确定义,变量必须易于查找,必须注释复杂的数据结构,并且必须说明语句的结构。每个语句都简单、尽量或少使用,仅使用三种基本控制结构进行编程,输入和输出:检查所有输入数据的校验和合理性,一致的输入输出格式,设计好的输出报告,5,编程有三种方法,结构设计方法,模块内部程序的各个部分是功能组合,快速原型方法(软件工程方法),利用现有工具和原型方法快速开发所需程序,面向对象的编程方法,以对象为中心,与人类习惯的思维方式相匹配,6,2.2结构化编程,基本思想,大型编程,使用一些基本结构,编程,再复杂的程序也可以按一定的顺序组合。这种基本结构的特点是都只有一个入口,只有一个出口。由这些基本结构组成的程序避免了随机发送、读取和来回查找的问题。设计原则,自上而下,逐步细化,模块化,限制使用goto语句,7,基本结构:顺序,选择,循环,8,2.3面向对象编程,基本思想的客观世界中的任何事物都可以看作一个对象,面向对象方法的本质主张从客观世界中固有的事物构建系统,系统中事物和对象之间的关系可以如实地反映问题域中固有的事物及其关系。结构化和面向对象的方法结构分解挤出过程比较,即如何(Howtodo)?强调代码的功能是如何实现的。面向对象的分解突出了现实世界和抽象对象。那你要做什么(Whattodo)?9,主要优点,与人类习惯的思维方式一致的稳定性,良好的可重用性,大规模软件产品的开发简便性,良好的可维护性,面向对象的编程主要考虑提高软件的可重用性!10,面向对象的基本概念,对象(Object),对象是基本运行时识别实体,包含数据(属性)和作用于数据的操作(行为)。对象通常封装对象名称、属性和任务3部分、面向对象(oo)以及从与该问题相关的对象开始的属性和动作的全部。用于对象之间通信的数据结构,例如消息对象名称、消息标识符和接受零个或多个参数。11,面向对象的基本概念,通常是定义一组相似对象的类(Class)。类中包含的方法和数据描述了一组对象的公共行为和属性。类是对象上方的抽象,对象是类的实体化,它连接类的实例、封装、数据和操作数据的函数,从而构成具有类类型的一个对象的说明。,如果对象的内部实现受到保护并且不能从外部访问,则封装可简化程序员对对象的使用,12,面向对象的基本概念,继承,继承是如何在父类和子类之间共享数据的机制,子类可以继承父类(或父类)的属性和任务,可以在子类中定义自己的属性和任务,单个重新继承,多个继承,如果不同的对象收到相同的消息,则完全可以软件由程序(program)、相关数据(data)和文档(document)三部分组成。软件是逻辑实体,不是物理实体,其特征是抽象软件。软件没有明显的制造过程。软件使用过程中磨损,没有老化问题,软件依赖性和硬件和环境导致移植问题。软件复杂,以后更复杂,软件成本相当高,软件工作涉及很多社会因素,2.4软件工程基本概念。14、软件危机、早期软件主要术语计划、采用个人工作方式、相关文件不足、质量低、维护困难、被称为“软件危机”的软件工程概念的出现来自软件危机。软件工程、软件工程是应用计算机科学、数学和管理科学等原理解决软件问题的工程。其目的是提高软件生产力,提高软件质量,降低软件成本。软件工程的基本目标是以给定的成本、进度为前提,开发符合用户要求的产品,具有有效性、可靠性、可理解性、可维护性、可重用性、适应性、可移植性、可追溯性和互操作性。15,软件工程原则:抽象、信息隐藏、模块化、本地化、确定性、一致性、完整性和可验证性。1)抽象:抽象是事物最基本的特性和行为,忽视非本质的细节,采用分层抽象,由上而下控制软件开发过程的复杂性。2)信息隐藏:使用包技术掩盖程序模块的实现细节,使模块接口尽可能简单。3)模块:模块是程序中相对独立的组件,是一个独立的编程单元。模块大小合适,大型模块的内部复杂性增加,整个系统太小。4)本地化:确保模块之间的松散耦合性和模块内部的高内聚性。5)确定性:软件的所有概念表达都必须确定、不模糊、规范。6)一致性:内部和外部接口一致,行为与系统规格说明一致。7)完整:软件系统不会丢失重要组件,完全实现系统所需的功能。8)可验证性:检查、评估、遵守审查原则、确保系统准确性、16,软件工程的三个要素,方法:完成软件工程项目的技术手段,工具:软件开发、管理、文档生成支持,流程:软件开发各个方面的控制,管理,软件工具和软件开发环境支持,软件工具(CASE):软件开放,运行,17,软件生命周期,软件产品的建议,实施,从维护到使用报废流程,都称为软件生命周期。软件定义、软件开发和软件操作维护。1)软件定义阶段:包括制定计划和需求分析。制定计划:确定总体目标;可行性研究;制定解决方案导航开发计划。需求分析:分析开发软件的需求,提供详细的定义。2)软件开发阶段:软件设计:摘要设计和详细设计两部分。软件实现:将软件设计转换为计算机可接受的程序代码。软件测试:根据设计测试案例验证软件的各种组件。,3)软件执行维护阶段(生命周期中成本最高的阶段):软件启动并在使用过程中持续维护,所需的扩展和删除。18,用户对需求分析、功能、行为、性能、设计约束等的期望。需求分析的任务是发现、细化、建模和定义需求的过程。需求分析生成所需的数据模型、功能模型和控制模型。需求分析的四个阶段、需求获取、需求分析、需求规格指南编写和需求审查、需求分析方法、结构化分析方法、面向对象分析方法、2.5结构化分析方法、19,结构化分析方法,在软件要求分析阶段使用结构化编程理论,目的是帮助确定用户对软件的要求。数据流程图、数据字典、决策树、决策表、开发策略、自上而下、按层次分解、20,数据流程图(DFD):以图形方式显示系统中数据流和处理的过程,是反映系统必须执行的逻辑功能的结构化分析方法中用于表示系统逻辑模型的工具。加工(转换):输入数据由加工转换输出。数据流:在箭头方向传输数据的通道,旁边显示数据流名称。保存文件(数据源):表示在处理过程中存储各种数据的文件。源,tan:表示系统和环境的界面,是系统外部的实体。21,绘制数据流图的基本步骤,向外内部,自上而下,按级别细分,细化,数据流图的示例,22,数据词典(DD):对数据流程图中出现的命名图形元素进行精确解释的所有系统相关数据元素的系统列表。数据词典通常包含五个部分:数据项、数据结构、数据流、数据存储和数据处理。数据字典是结构化分析方法的核心,软件要求规范指南(SRS):需求分析阶段的最终结果,通过建立完整的信息说明、详细的功能和行为说明、对性能要求和设计约束的说明以及相应的接受标准,提供了目标软件的各种要求。23、需求分析主要解决“什么”问题,而软件设计主要解决“怎么”问题。从技术角度来看,软件设计包括软件结构设计、数据设计、接口设计、流程设计。结构设计:定义软件系统主要部件之间的关系。数据设计:将分析时生成的模型转换为数据结构的定义。界面设计:描述软件内部、软件和协作系统之间、软件和人与人之间的通信方法。工艺设计:说明将系统结构部件转换为软件的过程,24、从工程角度看,软件设计包括两个阶段:摘要设计和详细设计。摘要设计:也称为体系结构设计,将软件要求转换为软件体系结构。确定系统级接口、全局数据结构或数据库模式。填写摘要设计文档,摘要设计文档审查。详细设计:确定每个模块的实现算法和本地数据结构,并以适当的方式表示算法和数据结构的详细信息。25,软件设计的基本原理:抽象、模块化、信息隐藏和模块独立性。抽象:抽象是思维的工具。也就是说,不管其他细节,都提取出事物的本质。模块化:在解决复杂问题时,将软件系统分为相对独立但不相互关联的小模块的过程。信息隐藏:模块的实现详细信息对其他模块是隐藏的。模块独立性:软件系统中的每个模块只处理软件需求的特定子功能,软件系统中其他模块的接口很简单。,模块独立性指标:结合性和凝聚力,模块划分原理具有高凝聚力,低结合度,26,总体设计(摘要设计)基本任务,1)设计软件系统结构,2)数据结构和数据库设计,3)创建概要文件设计文档,4)查看概要文件设计文档,软件结构设计工具-映射(程序映射),程序结构图的基本映射,以及,27,软件结构设计工具结构图(程序图)、常用结构图的四种模块类型、接收模块:从子模块中获取数据,然后将其传递给父模块。发送模块:从父模块获取数据,并将数据发送到子模块。转换模块:从父模块获取数据,执行特定处理,转换为其他形式,然后将其传输到父模块。调节模块:所有子模块的调节和管理模块。28,软件结构设计工具-表示图(程序图)、结构图例和术语,深度:受控级别数。宽度:完全控制跨度收敛:调用给定模块的模块数。扇出:直接从一个模块调用的其他模块数。父模块,从属模块:如果父模块和子模块a和b,a调用b,则a是父模块,b是从属模块。原子模块:树叶节点中树的模块。29,软件结构设计工具面向数据流的设计方法定义了几种不同的映射方法,可用于将数据流图转换为结构图表示软件的结构。数据流类型:转换和事务处理类型;转换类型:转换数据处理问题的操作过程主要分为数据导入、转换和输出数据三个阶段。转换系统贴图由三部分组成:输入、中心转换和输出。事务类型:基于事务的数据处理问题的工作机制是接受事务,选择根据事务的性质和性质分配相应的处理单元,然后提供结果。30,详细设计基本任务,确定软件图中每个模块的实施算法和本地数据结构,使用选定的表示工具表示算法和数据结构的详细信息,典型设计工具,图形工具:程序流程图,N-S(矩形框图),pad(问题分析图),HIPO(层次图输入,表格工具:决策表。语言工具:伪代码(PDL),31,2.7软件测试、目的、意义、人员将通过合理的设计测试使用案例,以最少的人员和时间检查潜在的各种错误和缺陷保证系统质量(符合要求的规格)和可靠性,开发者和用户一起手动测试完成测试的基本方法(静态测试):代码检查、静态结构分析、代码质量测量等软件文档或程序。不实际运行软件,主要是手动执行。机械测试(动态测试):运行软件以验证结果的准确性。主要包括白盒测试方法和黑盒测试方法。32、白盒测试、将软件视为透明白盒、根据程序的内部结构和逻辑结构设计测试示例、测试程序的路径和流程、确保符合设计要求,并确保被测试模块的每个单独路径至少执行一次的白盒测试基本原则;确保被测量模块的所有判断的每个分支至少运行一次。确保测试模块中的每个循环至少在边界条件和一般条件下执行一次。验证所有内部数据结构。33,测试用例根据程序内部逻辑设计,主要用于软件的单元测试。用例的主要设计方法如下:逻辑复盖范围:是指基于程序内部逻辑结构的一系列测试用例设计技术。基本路径测试:根据软件进程说明中的控制进程确定程序的循环复杂性度量,使用此度量定义基本路径集,然后导出测试每个单独执行路径的一组测试案例。,34,逻辑是设计的基本内容(使用测试用例),复盖语句:允许程序中的每个语句至少执行一次。复盖路径:使程序至少体验所有可能的路径一次。判断复盖范围:在担保计划中,每个判断的每个值分支(t或f)至少经过一次。复盖条件:为程序确定的每个条件至少保证一次可能的值。判断-条件服务范围:至少运行每个判断的所有可能值一次,同时运行每个判断的所有可能值分支一次。逻辑覆盖强度为语句覆盖确定适用范围判断条件适用范围判断-条件适用范围
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025借用人员的合同协议范本
- 村官考试题目及答案全部
- 家电延保考试试题及答案
- 厨房专业考试题目及答案
- 中国月桂酰氯项目创业计划书
- 惠州分班考试试题及答案
- 中国耐磨剂项目投资计划书
- 2025年仓储安全管理员安全法规知识试卷
- 中国微粒聚四氯乙烯项目商业计划书
- 2025年房地产项目工程资料汇编外包合同协议
- 虚拟商品偏好-洞察及研究
- 保险公司消保培训
- 【教学评一体化】第二单元 再现“生活记忆”做“追光记录者”-【大单元公开课一等奖创新教学设计】新修订统编版语文八年级上册名师备课系列
- GB/T 4995-2025平托盘性能要求和试验选择
- 空间形态课件
- 《餐饮服务》课件-4.宴会服务
- 实验室2024年管理评审资料完整版(含内审报告)符合新版《评审准则》
- 中小学、幼儿园食堂食材采购项目 (米、面、油(含乳制品))服务方案投标文件(技术方案)
- 高等代数考试题库及答案
- 医学影像技术增强检查
- 3422对外承包工程操作指南 定义和适用范围.操作流程与关键文件.操作流程与关键文件.出口和进口报关单填制要求和规范.注意事项
评论
0/150
提交评论