版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1软件工程、软件工程措施学:三要素1.1软件工程:①应用系统化的、规范化的、可度量的措施来开发、运行和维护软件,即将工程应用到软件;②对①的多种措施的研究1.2软件工程是一门研究用工程化措施构建和维护有效的实用的和高质量的软件的学科1.3软件工程三要素是:措施、工具、过程软件工程的措施:是指完毕软件开发各项任务的技术措施软件工具:是指为软件工程措施的运用提供自动半自动的软件支撑环境软件工程过程:是指将软件工程措施和工具综合起来以到达合理、及时地进行计算机软件开发这一目的2.1模块化原则:指处理一种复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模块是程序中相对独立的成分,一种独立的编程单位,应有良好的编程接口,模块的大小要适中,模块过大会使模块内部的复杂性增长不利于模块的理解和修改,模块过小会导致整个系统体现过于复杂,不利于控制系统的复杂性。2.2信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简朴。2.3抽象化原则:抽取事物最基本的特性和行为,忽视非本质细节,采用分层次抽象,自顶向下,逐层细化的措施控制软件开发过程的复杂性。2.4模块独立原则:是指每个模块只完毕系统规定的独立子功能,并且与其她模块的联络至少且接口简朴。规定在一种物理模块内集中逻辑上互有关联的计算机资源,保证模块间由松散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低耦合)2.5依赖倒转原则:抽象不应当依赖于细节,细节应当依赖于抽象。2.6开闭原则:软件实体应当是可扩展的,不过不可以修改。即对于扩展是开放的,对于更改是封闭的。3软件开发模型:瀑布模型;迅速原型;喷泉模型;多种模型的工作原理、阶段、每阶段任务、特点、示意图;软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨越整个生命周期的系统开发、运行和维护所实行的所有过程、3.1瀑布模型(又称线性模型):3.1.1工作原理:规定了它们自上而下、互相衔接的固定次序,如同瀑布流水,逐层下落。前一阶段的工作成果是后一阶段工作开始的基本.因此,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完毕后才可以开始后一阶段的工作筹划时期:问题定义、可行性研究开发时期:需求分析、设计、编码、测试运行时期:运行和维护3.1.3各阶段任务:1.需求分析和定义在软件项目进行过程中,需求分析是从软件定义到软件开发的关键环节,是此后软件,开发的基本根据,同步也是顾客对软件产品进行验收的基本根据。需求分析和定义是以顾客需求为基本根据,从功能、性能、数据、操作等多种方面,对软件系统给出完整、精确、详细的描述,用于确定软件规格。2.软件设计根据系统需求的定义,确定系统的构造,进行系统的概要设计和各部分的功能与构造的详细设计。3.编码与单元测试在这一阶段,根据软件设计文档完毕了程序模块或程序单元的编码。通过程序单元测试,验证其与否满足设计规范。4.集成和系统测试程序模块或程序单元被组装集成起来成为一种软件系统,然后进行系统测试。测试完毕后即交付顾客使用。5.运行和维护一般这是软件生命周期中最长的一种阶段。假如在运行期发现了软件的错误,就要修改软件,也许会反复上述某个或多种阶段的活动。3.1.4特点:①次序性、依赖性:下一阶段依赖上一阶段的完毕。②推迟实现:阶段任务结束形成文档,并审核后方能进行设计任务,将程序的实现推迟进行。③质量保证:文档完整、文档评审,防止错误积累与放大效应。3.1.5示意图:问题定义问题定义(目标与范围说明书)可行性研究(可行性论证论告)需求分析(需求说明书)设计(设计文档)编码(程序)测试(测试报告)运行与维护(运行日志,维护报告)3.2迅速原型3.2.1工作原理:迅速原型是运用原型辅助软件开发的一种新思想。通过简朴迅速分析,迅速实现一种原型,顾客与开发者在试用原型过程中加强通信与反馈,通过反复评价和改善原型,减少误解,弥补漏洞,适应变化,最终提高软件质量。废弃型:也称迅速建立需求规格原型法:先构造一种功能简朴而质量规定不高的模型系统,针对这个模型系统反复的进行分析修改,从而形成很好的设计思想,据此设计出愈加完整、精确、一致可靠的最终系统,系统构造完毕后,本来的模型就被废弃追加型:也称迅速建立渐进原型法。它采用循序渐进的开发方式,对系统模型作持续精化,即先构造一种功能简朴并且质量规定不高的模型系统,最为最终系统的关键,将系统需要具有的性能逐渐添加上去,通过不停地扩大修改,逐渐追加新的规定,直至所有性能所有满足,此时原型模型也就是最终的产品。3.2.2阶段及任务原型迅速分析:是指在分析者和顾客的紧密配合据原型所要体现的特性(总体构造、处理功能、模拟性能、界面形式等),描述基本需求规格阐明,以满足开发圆形的需要。原型构造:在迅速原型分析的基本上,根据基本性迅速构造一种可运行的系统。原型运行与评价:是软件开发人员与顾客频繁通信、发现问题、消除误解的用药阶段,目的是验证原型的对的程度,进而开发新的并修改原有的需求。原型修改:根据评价原型的活动成果进行修改。若原型未满足需求阐明的规定,阐明对需求阐明存在不一致的理解或实现方案不够合理,则根据明确的规定迅速修改原型。1.增强了软件开发人员和顾客对系统需求的理解,便于将顾客模糊的功能需求明确化2.为顾客提供了一种强有力的学习手段3.易于确定系统的性能,是理解和确定软件需求规格阐明的良好工具4.按照迅速建立渐进原型法建立的原型即为最终的产品运用迅速原型化技术可觉得软件开发提供一种完整、灵活、近似动态的需求规格阐明措施。3.2.4示意图修正与改指导修正与改快速分析,确定初步规格说明构造原型运行╱评价原型N原型完成否Nv3.3喷泉模型3.3.1工作原理:喷泉模型是一种以顾客需求为动力,以对象为驱动的模型,重要用于描述面向对象的软件开发过程。该模型觉得软件开发过程自下而上周期的各阶段是互相重叠和多次反复的,各个开发阶段没有特定的次序规定,并且可以交互进行,可以在某个开发阶段中随时补充其她任何开发阶段中的遗漏。3.3.3每阶段任务3.3.4特点:喷泉模型体现了软件创立所固有的迭代和无间隙的特性。迭代指系统中某个部分常常反复工作多次,无间隙指活动之间没有明显的间隙,如在分析和设计之间没3.3.5示意图o4软件生命周期:阶段、各阶段功能、所波及的内容(图、工具和文档)4.1软件生命周期:是指一种计算机软件从功能确定、设计到开发成功投入使用,并在使用中不停地修改、增补和完善,懂得被新的需求所替代而停止该软件的使用全过程。4.2四个工作阶段:初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。精化阶段:设计并确定系统的体系构造,制定项目筹划,确定资源需求。构建阶段:开发出所有构件和应用程序,把它们集成为客户需要的产品,并且详尽地测试所有移交阶段:把开发出的产品提交给顾客使用4.3各阶段功能:①可性研究的任务是以最小的代价在尽量短的时间内确定问题与否值得处理、与否可以处理。②阶段性成果《项目可行性汇报》①需求分析的重要任务就是要通过软件开发人员与顾客的交流和讨论,精确地获取顾客对系统②阶段性成果《需求规格阐明书》、数据字典、数据流图(DFD)①划分出构成系统的物理元素,设计软件的构造,即确定模块及模块间的关系,根据需求分析阶段得到的逻辑模型来设计系统的物理模型②阶段性成果《概要设计阐明书》①设计每个模块的算法,确定每一模块使用的数据构造,确定模块接口的细节,为每一种模块设计一种测试用例,编写详细设计阐明书5编码和单元测试6系统测试7软件维护阶段4.4各阶段所波及的内容(文档、工具、图)5构造化措施:生命周期中各阶段任务.获取顾客需求、画数据流图、数据字典6可行性分析、需求分析、设计(概要设计+详细设计)、测试、维护7面向对象措施:关键概念、模型封装:将属性和操作包装成一种单元,使得对状态的访问和修改只能通一般,模型由一组图示符号和组织这些符号的规则构成。模型是体现出来。对于那些因过度复杂而不能直接理解的系统,尤其需要建立模型,少复杂性。一旦建立起模型之后,就要经受顾客和各个领域专家的严格审查的修改。用00措施开发软件,一般需要建立3种形式的模型:对象模型----描述系统数据构造;动态模型----描述系统控制构造;功能模型----描述系统功能;这三种模型各自从不一样的侧面反应软件系统的内容,互相影响、互相制约,有机地结合在一起,全面地体现对目的系统的需求。对象模型体现静态的、构造化的系统的“数据”性质。描述了系统的静态构造。面向对象措施强调围绕对象而不是功能来构造系统。对象模型为建立动态模型和功能模型,提供了实质性的框架。1997年11月,国际对象管理组织OMG同意把UML1。1作为基于面向对象技术的原则建模语言。一般,使用UML的类图来建立对象模型。在UML中术语“类”的实际含义是,“一种类及属于该类的对象”状态模型体现瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。一旦建立起对象模型之后,就需要考察对象的动态行为。所有对象都具有自己的生命周期。状态,是对对象属性值的一种抽象。各对象之间互相触发就形成了一系列的状态变化。一种触发行为称作一种事件。对象对事件的响应,取决于接受该触发的对象当时所处的状态,响应波及变化自己的状态或者又形成一种新的触发行为。状态有持续性,它占用一段时间间隔。状态与事件密不可分,一种事件隔开两个状态,一种状态隔开两个事件。事件体现时刻,状态体现时间间隔。UML中用状态图来描绘对象的状态、触发状态转换的事件及对象的行为。每个类的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。动态模型是基于事件共享而互有关联的一组状态图的集功能模型体现变化的系统的“功能”性质,它指明了系统应当“做什么”,因此更直接地反应了顾客对目的系统的需求。一般,功能模型由一组数据流图构成。在00措施中,数据流图远不如在构造化措施中那样重要。但建立功能模型有助于开发人员更深入地理解问题域,改善和完善自己的设计。UML中提供的用例图也是进行需求分析和建立功能模型的强有力工具。UML中把用例图建立起来的系统模型称为用例模型。使用用例模型替代老式的功能阐明,往往可以更好地获取顾客需求,它所回答的问题是“系统应当为每个(或每类)顾客做什么”。1.面向对象的措施(1)分析:波及问题描述、构建对象模型、构建动态模型、构建功能模型。最终得到的分析文档波及问题需求的陈说、对象模型、动态模型和功能模型。(2)系统设计:结合问题域的知识和目的系统的体系构造,将目的系统分解为子系统,标识由问题所规定的并发性,设计合适的控制机制组织子系统协调工作,然后选择数据管理的基本方略,考虑对边界条件的处理。最终得到的系统设计文档波及基本的系统体系构造和高层次的决策方略。(3)对象设计:以分析模型为基本,首先定义类,设计类属性及操作,为每个操作选择合适的数据构造并定义算法,调整类构造以强化继承性;然后创立对象,设计消息以补充对象关联;通过关联发现新的对象或交互条件时,修改类组织以优化对数据的访问,改善设计构造。最终得到的对象设计文档波及细化的对象模型、细化的动态模型和细化的功能模型。(4)实现:将设计转换为特定编程语言代码并在对应环境运行,同步保持可追踪性、灵活性和可扩展性。2.UML:统一建模语言(UML)是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统产品的文档。UML描述了一种系统的静态构造和动态行为(1)与顾客进行充足沟通,理解顾客对软件的需求;(2)识别对象集合及对象间的关系;(3)定义类(波及属性和操作)并建立类间的层次关系;(4)建立模型来体现对象之间的关系及行为特性。统的功能规定,协助软件设计人员理解系统要做的工作,同步用例模型还可觉得其她模型建立、构造设计、实现及测试工作等提供根据。一种用例模型是由若干用例图构成的,进行用例建模的过程重要波及寻找执行者、寻找用例、描述用例、确定执行者和用例之间的关系等工作,其中寻找执行5.对象模型:对象模型体现静态的、构造化的系统的“数据”性质。描述了系统的静态构造。面向对象措施强调围绕对象而不是功能来构造系统。对象模型为建立动态模型和功能该类的对象”9测试:黑盒、白盒设计测试用例9.1白盒测试(构造测试、逻辑驱动测试):9.1.1语句覆盖:设计若干个测试用例,使得被测试的程序中的每条9.1.4判断与条件覆盖:每个判断的真假值分支至少被执行一遍,并9.1.5条件组合覆盖:程序中每个判断条件的内部判断式的多种真假9.2黑盒测试10软件项目管理:项目管理、五大过程、九大知识领域、项目三角形项目管理:是为完毕一种预定的目的,而对任务和项目三角形:时间:反应在项目筹划中的项目完毕所需时间。资金:即项目的预算,取决于资源的成本,这些资源波及完毕任务所需的人员、设备和材料。范围:项目的目的和任务,以及完毕这些目的和任务所需的工时。项目管理的五大过程:启动过程、筹划过程、实行过程、控制过程、收尾过程项目管理的九大知识领域:范围管理、时间管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、采购管理、综合管理11配置管理:配置管理、配置管理项、基线、里程碑配置管理:是一组追踪和控制活动,它们开始于软件项目开始时,结束于软件被淘汰之时。配置管理项:1。计算机程序----源代码和可执行程序2。描述计算机程序的文档----供技术人员或顾客使用3。数据----程序内波及的或在程序外的。。。每个配置项的重要属性有名称、标识符、文献状态、版本、作者、日期等基线:是一组配置项,这些配置项不能被随便修改和变更。基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。软件开发各阶段的基线:系统规格说明系统规格说明软件需求规格说明设计规格说明程序编写源代码操作系统需求分析软件设计系统工程12构造化措施与面向对象措施的比较:基本思想;分阶段比较1.构造化措施:基本思想:可以概括为自顶向下、逐渐求精,采用模块化技术和功能抽象将系统按功能分解为若干模块,从而将复杂的系统分解成若干易于控制和处理的子系统,子系统又可分解为更小的子任务,最终的子任务都可以独立编写成子程序模块,模块内部由次序、选择、循环等基本控制构造构成。基本思想:面向对象措施的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的措施与过程尽量靠近人类认识世界、处理问题的措施与过程,将客观世界中的实体抽象为问题域中的对象。使用现实的概念抽象地思索问题,从而自然地处理问题,保证软件系统的稳定性和可复用性以及良好的维护性。老式的构造化措施,是软件工程中最为成熟的措施。对于可以预先确定需求的系统的开发,采用构造化措施非常有效,不过对于需求是模糊的或随时间变化的系统开发这种措施不能适应。面向对象措施,对于需求不能预先确定的系统的开发,可采用面向对象措施结合,这样就可以结合面向对象措施所具有的稳定性好、可复用性好和可维护性好的特点。需求分析阶段:构造化措施:采用自顶向下功能分解的措施,强调逻辑功能而不是实现功能的详细措施,使用图形进行系统分析并体现分析的成果--数据流图,使用构造化分析措施获得的需求规格阐明书由数据流图、数据词典及补充材料构成。面向对象措施:面向对象分析的关键是识别出问题域中的对象,并分析它们之间的关系,最终建立起问题域的简洁、精确、可理解的对的模型。面向对象分析模型一般波及对象模型、动态模型和功能模型。对象模型是最重要、最基本、最关键设计阶段:构造化软件是功能的集合,通过模块调用实现系统。面向对象软件是事物的集合,通过对象及联络实现系统。构造化软件=过程+数据,以过程为中心。面向对象软件=数据+对应操作,以数据为中心。构造化软件采用次序处理方式,由过程驱动控制;面向对象软件采用交互式、并行处理方式,由消息驱动控制;构造化措施的重点是设计;面向对象措施的重点是分析。构造化措施更适合数据类型比较简朴的软件项目的开发;面向对象措施更适合大型复杂的软件项目的开发1.看书上实例A,理解RUP过程3.RUP过程重要合用于何种项目?4.用面向对象措施开发软件时与构造化措施开发软件时相比较,软件的生命周期有何不一样?这种5.为何说广州本田牌汽车是小汽车类的特化,而发动机不是小汽车类的特化?6.什么是对象?它与老式的数据有何区别?7.试用面向对象分析措施设计下述程序:8.在显示屏屏幕上圆心坐标为(100,100)的位置画一种半径为40的圆,在圆心坐标为(200,300)的位置画一种半径为20的圆,在圆心坐标为(400,150)的位置画一条弧,起始角为30度,结束角度为120度,半径为50.9.思索题1、一种程序可以既对的又不可靠吗?请解释你的答案。软件可靠性即波及对的性又波及强健性。即程序在正常环境下应假如某程序在正常环境下可正常运行,在异常环境下不能作出合适的响思索题2、为何在开发软件的过程中变化既是必要的又是不可防止的?为何须须进行配置管理?在软件开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年保密协议范本精简版
- 2024年体育公园管理合同3篇
- 2024年度企业内部培训课程包购买与授权合同3篇
- 2024年度路基工程施工质量保证与保修合同3篇
- 2024年度甲乙双方工厂劳动合同协议书
- 2024年度设备维修合同标的及维修服务说明2篇
- 2024年无锡二手房产买卖合同规范3篇
- 就业协议书临床医学
- 酒坊转让合同协议书范本
- 禁业协议签订流程
- 【定岗定编】企业定岗定编中出现的问题及改进
- (完整版)企业破产流程图(四张)
- JJF 1617-2017电子式互感器校准规范(高清版)
- 外贸企业出口业务自查表
- 第六讲-爱情诗词与元好问《摸鱼儿》
- 学习贯彻2021年中央经济工作会议精神领导讲话稿
- 复式交分道岔的检查方法
- 高一物理必修1期末复习题库
- 模拟真实天平(flash模拟型课件)
- 初三化学上册实验通知单
- 芭蕾舞介绍-PPT
评论
0/150
提交评论