软件技术基础软件工程自学引导_第1页
软件技术基础软件工程自学引导_第2页
软件技术基础软件工程自学引导_第3页
软件技术基础软件工程自学引导_第4页
软件技术基础软件工程自学引导_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第三章软件工程(自学引导)目录概述软件生存周期需求分析软件设计软件编程面向对象的分析和设计软件测试软件维护3.1概述程序设计时期(1946~1960年代中期)

程序设计是个人行为,没有软件的概念软件时期(60至70年代中期)

软件危机出现,结构化思想的提出软件工程时期

如何适应大型软件的生产1968年提出“软件工程”这一术语软件危机表现软件开发代价高难于控制开发进度工作量估计困难软件质量低软件修改维护困难原因规模大(大系统的定义:50万行1000万行)复杂性高软件灵活可变影响因素多:个人能力、团队联系、产品复杂度、符号方式、时间、其它软件危机的例子IBM360系统开发时间:1963-1966年投入人力:5000人年代码量:100万行每个版本都是从上一个版本找出1000个错误而修订的结果正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷的越深,最后无法逃脱灭顶的灾难。软件工程(SoftwareEngineering)软件工程——指导计算机软件开发和维护的工程学科。它应用计算机科学,数学以及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本以及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程框架开发范型设计方法支持过程管理过程可用性正确性合算性需求设计实现确认维护软件开发工具与环境计算机辅助软件工程CASE

(Computer-AidedSoftwareEngineering)CASE工具:狭义地说,是一类特殊的软件工具,用于辅助开发、分析、测试、维护计算机程序和/或文档。广义地说,是除了OS之外的所有软件工具的总称。软件开发环境:支持软件产品开发的软件系统。它由软件工具和环境集成机制构成,前者用以软件开发的相关过程、活动和任务;后者为工具集成和软件开发、维护及管理提供统一的支持。软件工程自动化工具CASE=+3.2软件生存周期定义:是指软件产品从用户提出要求开始,到该软件产品不再能够使用的全过程。包括三个阶段:制定计划,包括问题定义和可行性研究;开发,包括需求分析、设计、编程和测试;维护,包括安装交付、维护和升级等。需求做什么???设计怎么做???编程实现完成系统测试质量保证维护安装后的进一步完善软件开发模型定义软件开发全部过程、活动和任务的结构框架。瀑布模型P.170图3.1(见后)具有反馈的瀑布模型特点:适用于小型系统的开发,不够灵活演化模型多次分析和设计针对事先不能完成定义需求的软件开发原型系统的重要性螺旋模型考虑风险因素,由Boehm提出喷泉模型多次重复,无间隙适用于面向对象技术增量模型完整的体系结构的实现确定多次迭代RUPROPES问题定义可行性研究需求分析设计编码测试运行与维护其中:每一阶段具有以下特征:从上一阶段接受工作对象,即输入;对这一输入实施本阶段的工作给出本阶段的结果作为输出。一、瀑布模型二、快速原型在分析员和用户的紧密配合下,快速确定软件系统的基本要求。根据原型所要体现的特征(或界面形式、或处理功能、或总体结构、或模拟性能等),描述基本规格说明,以满足开发原型的需要。主要有三种不同的类型:(1)探索型:目的是要弄清对目标系统的要求,确定所希望的特征,并探讨多种方案的可行性。(2)实验型:用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。(3)进化型:进化型原型的目的不在于改进规格说明,而是将系统建造成容易变化,在改进原型的过程中,逐步将原型进化成最终系统。原型快速分析或修改构造运行评价(a)原型开发模型N快速分析,确定初步规格说明构造原型运行/评价原型严格说明细部整理原型提供文档(b)模型的细化过程原型完成否细部说明否效果满意否修改与改进原型NNYYY二、快速原型3.创3需求甩分析有关仔软件澡错误混的一辩些事沟实在软耀件生惯命周最期中题,一粉个错珍误发系现得达越晚网,修横复的煎费用授也越织高许多榨错误社是潜太伏的务,并语且在么错误扔产生识后很窄长一捷段时秀间才俭被检施查出弹来在需躁求过瓶程中碍会产况生很搜多错备误在需借求阶抗段,秒代表茶性的手错误盼为疏策忽,抵不一别致和境二义艺行需求饺错误骆是可计以被舍检查限出来侨的需求摧涉及记人员需求独者:裤客户忽和使辛用者系统卫分析特员:惯分析谎阶段晕活动荣的主锐体开发宗者:姑包括送设计护,编窗程和府项目孟管理肃者组辞成分析梦员的四素质好:能力史(总发体,遇抽象俭,本耻质)过程猜(保杯证整教个过掀程的告善始筹善终贫)交流技术趁(了吹解问逼题域烟)需求形获取目的偶:了桶解用等户的课对软驶件的博要求途径胶:了解熄系统武的需解求市场营调查访问析用户烛和领卖域专找家考察庙现场内容针:物理批环境半、界沫面、熄用户摔或人拖的因简素、撒功能迁、文临档、轨数据着、资随源、咏安全细性、而质量需求社分析目的很:解决顷需求样获取出阶段扣得到取的需裙求的络不一均致性湿和二扭义性方法化:结构兰化面向呀对象实体抱关系…软件牧需求光说明婚书(SR域S)需求堂分析泛的结真果文迫档SR蜂S要求正确突性无二塌义性完整询性一致锈性可验钟证性可理步解性可修餐改性可跟特踪性与设梨计无雀关结构汗化分隙析方附法(SA)结构趴化分梅析(St拉ru大ct拐ur兰ed赠A想na柔ly洽si屈s)提出鹿人:Yo栽ur碑do闻n提出姜的概秀念有毅:数据天流数据油源数据补潭加工存储建模姨过程(1)建衰立系他统的板功能烘模型——使用匙的工举具为仙数据坡流图DF还D首先险:建败立系杜统环裤境图坦,确顺定系认统边杆界继之梦:自康顶向桨下,款逐层里分解(2)建立躬数据续字典定义鼻数据煮流定义县数据蛮存储定义况数据粥项(3)给雅出加胳工小惨说明(描渠述数立据的曲加工登)——使用膏的工析具为蒸结构典化语趋言、愉判定阻表、翁判定样树3.则4软件蒙设计设计罪阶段雄的任走务:解决违怎么先做的鸽问题烛,即踩将SR障S转换议为计躁算机淹中可铲实现爪的系域统,惜得到依软件吴设计唤说明匙书。软件训设计娇可分雄为:总体萍设计监、详宝细设渣计设计介复审刻:每个路设计迁完成绍后,静都应吩进行陷复审副,以络尽早宝发现必软件悄设计知的缺萌陷。表示雹形式掘有:层次么图、HI雕PO图、刘结构萄图等好的咳设计昼准则模块摸化(Mo矩du顺la育ri皂ty)抽象原(Ab婶st墓ra味ct记io姑n)独立肌性耦合——不同况模块役之间赚相互段依赖努程度化的度群量内容效耦合皆(直度接操袍作另上一个让模块圾的数灾据)公共电耦合证(全暂局数气据结易构)外部我耦合今(全责局数射据项恳)控制慌耦合标记凭耦合数据速耦合源(参常数传业递)内聚——模块幼之内使各成优分之光间相拒互依缘瑞赖程递度的别度量偶然普内聚档(模眉块内骂各部酬分关哭系松作散)逻辑哪内聚葡(模疤块将羞几种廊相关葡功能浩组合艳)时间磁内聚辉(模枯块将碎同一醒时刻贩要执怕行的划任务骂组合去)过程知内聚板(模肚块的琴几个意任务策按特霞定次阴序执梳行)通讯指内聚惭(模涛块所双有功慢能通醋过数遍据关孕联)顺序絮内聚穴(一按个成分分的台输出努作为邀另一哑成分惑的输宪入)功能弊内聚芝(模边块只盈包含晃单一斥功能隙任务剂)启发可性规戴则(1)改徒进软党件结锻构,倾提高酒模块牙独立浩性;(2)模仍块规伴模适软中-每函戴数<5互0行语揉句;(3)深诱度、扛宽度追、扇歌入和伏扇出集适中拔;(4)模番块的严作用狭域力辞争在奔控制障域之错内;(5)降弱低模舅块接际口的电复杂抄性;(6)模肉块功核能应开该可掠以预榴测。结构斜化设夫计方野法(SD)基本舰思想飘:模侨块化吊、自残顶向地下逐核步求助精总体承设计盈从数羡据流街图导矩出软挨件结渴构图数据下流图签分为鹊两大叨类:变换欺型数糟据流忆图事务粒型数敏据流然图详细喇设计芒是为狼软件稿结构丸图中叮的每翁个模疑块确菊定算思法和醉数据真结构盟,可象用表性示工匹具有杂:流程义图、N-仪S图、PA顾D图、暖伪码结构捎化设谊计方掘法的煮基本督要求抽是:闷在详终细设拍计阶洽段为饶了确绳保模闯块逻晶辑清示晰,缠就应拢该使免所有眨的模睬块只送有单入籍口、潜单出哑口和顺序替、选搂择及誓循环三种扇基本敲控制乞结构最。结构之化方帅法小阶结结构少化方狠法是货一种押比较馋系统洲的软喘件开师发方戚法,创包括毛:结构策化分叙析和倘结构讯化设凡计紧紧街围绕香“过侄程抽兆象”深和“碑数据绢抽象猾”,给出咱了:活完鸦备的唐符号颈体系——概念块与表迟示可操坊作的浓过程——步骤惠与准轮则易理呼解的填表示筋工具提供能了:士控抚制信蜻息组揪织复仰杂性旦的机茎制,熟例如逐层伟分解贤、数雨据打蔬包等问题询:捕获窑的“过程”和“数据”,恰恰揉是客拳观事腰物的牵易变认性质包,从阴而造飞成维馅护和特验证递上的浩困难击;分弯析与泉设计阴概念喂和表翼示法斤不一删致,孩存在辩鸿沟间。3.晴5软件乎编程程序伴的质绪量主俩要取将决于炒软件邮设计搬的质娱量。粮但是妹,程晶序设陷计语嫂言的园特性暂和编避程风桶格也灰对程绍序的弦可靠呜性、咸可读侮性、箭可测充试性依和可哨维护路性产怀生深墓远的屠影响责。程序够设计当语言编程遮风格《高质润量程迹序设值计指辟南——微c/滨c+施+语言》《程序腾设计联实践》3.渴6面向雄对象轰的分饮析和暖设计人们搬认识速世界扔的三箱个构肢造法号则:区分绕对象于及其竞属性拉,如秃一棵招树和去树的尖大小富。区分射整体搜对象挽及其吉组成肥部分接,如惨区分诉一棵哥树和孤树枝症。不同握对象血类的甜形成垫及其季区分返,如凯所有巾树的渗类和蚊所有欢石头溉的类企的形镰成和系区分狭。面向跑对象营技术泼基于渡上述皇的认蛋识法泼则,票更好疗的刻配画问盛题域量;认微为世打界由谁各种叨对象师组成价,对姜象具令有其抢属性泊和行油为,决对象狼之间泛存在那着各西种联纳系。一些奸概念虽:对象般、类灶、聚竭合、姓消息振、方畅法、继承狡、封疼装、遵多态面向垄对象箱方法盯的主敢要特稼点:从问伪题域摸中客耀观存艘在的灭事物租出发右来构染造软蹈件系舅统,复用对朗象作汗为对澡这些旱事物页的抽印象表龟示,锣并作口为系狱统的做基本吓构成智单位骂。(对象)用对稀象的棵属性外表示头事物竟的状纠态特沈征;黎用对混象的壮服务伪(操腐作)召表示扬事物准的动达态特承征。响(属性炭与服僵务)对象妥的属修性与助服务挂结合叙为一详体,克成为陶一个谣独立作的、雪不可透分的壳实体叨,对驾外屏触蔽其顺内部谋细节则。(封装)对事竟物进及行分蠢类。劝把具锣有相伍同属先性和缸相同服服务验的对泡象归踢为一柔类,顷类是草这些诊对象绒的抽主象描具述,许每个校对象读是它嫩的类翻的一仓个实守例。诸(分类)通过被在不拿同程兴度上址运用毕抽象傻的原菊则可哥以得伤到较鞠一般鱼的类管和较财特殊森的类眠。特沾殊类盗继承糊一般故类的度属性奖与服那务,木从而枣简化誉系统谊的构拣造过会程及催其文熟档。址(继承)复杂青的对挨象可桂以用似简单款的对街象作侧为其太构成桶部分漏。(聚合)对象败之间谈通过禽消息聚进行矛通讯惭,以招实现晋对象雄之间炊的动工态联停系。掘(消息)通过腰关联拾表达激对象纺之间裳的静杯态关溜系。掀(关联)采用图多态呜机制抢允许摇老代醉码调嫩用新贿代码拆;把权具有总共同初基类挑的对拳象组议成一锦组,喝并对艺它们窑进行国一致财的处这理(多态闻性)面向义对象荣建模建模液使用垂工具耀为建身模语叹言,惭建模剑语言纳是用贿以表环述设谊计方傍法的衔表示议法(主要糖是图愿形的)UM冻L已成庆为一逮种绘俯制面执向对跑象设井计图影的标伟准工医具,追是定义勿良好奶、易检于表庙达、怀功能接强大逆且普畏遍适名用的杠建模贪语言室。适愤用于钞系统牛开发猪的不阶同阶念段,从需洪求规乡丰格描住述直纠至系去统完降成后秘的测览试和泻维护陕。OO原则冈:Ab躲st杀ra声ct暮io允n(抽辫象)En卧ca股ps愿ul竹at含io泪n(封井装)Mo变du况la闹ri洽ty(模宜块化功)Hi滤er篮ar悟ch毅y(分堪层)标准齐建模依语言UM灰L的重膛要内嘉容可他以由绸下列牲五类匆图(共9种图链形)来定旅义:-第一奇类是姐用例吗图,从用蹲户角愈度描套述系汽统功亮能,并指毫出各株功能矮的操腥作者嚼。-第二唇类是京静态锈图(S暂ta盘ti惭c临di沸ag小ra盛m)沉,包括托类图牧、对蝇象图卧和包揉图。-第三阶类是颈行为贫图(B译eh耽av平io谈r明di猾ag过ra衰m)貌,描述竭系统呢的动懒态模缝型和缓组成扣对象堆间的与交互脊关系耐,包么括状为态图增和活爷动图无。-第四邮类是折交互免图(I翠nt吩er学ac羞ti料ve傲d泽ia动gr章am货),描述习对象雄间的博交互俱关系培,包寸括顺潮序图爆和合东作图蛮。-第五破类是泪实现不图(坊Im斜pl榆em共en慰ta贿ti举on坊d绑ia始gr毯am雀),包拍括构即件图怎和配塔置图兴。面向叮对象社分析OO颂A用面嫩向对蛙象方染法分闭析问摊题域软,建圾立基抄于对个象、艰消息枯的业戒务模熄型,芹形成棋对客朵观世斥界和方业务涂本身据的正地确认忘识。生成吵业务裙对象宾的动旱、静颜态模血型和舰抽象容类。面向夜对象么设计OO音D针对OO备A给出碗的问挂题域捉模型年,用债面向膜对象车方法搜设计纤出软误件基奸础架榨构(邀概要货设计厚)和借完整仿的类滥结构事(详炎细设爹计)慌,以段实现赤业务挣功能焦。生成循对象将类的蹄动、计静态粱模型誓(解缸决域烦)。用例灰图登录系统登记员完成课程登记计费系统学生登记课程教授选择教授课程课程目录系统<<include>><<include>><<include>>类图顺序逮图:学生

:选课表单

:课程登记管理器

:课程目录

:课程打开取课程列表取课程列表显示课程列表选择4门主课和2门选修课把课程加入课程计划添加学生重复4门课协作策图:推完成轧课程趋登记状态劝图初始化entry/创建表单do/初始化表单保存do/保存表单提交do/提交表单用于处理课程选择选主修课entry/接受课程do/增加记数选辅修课entry/接受课程exit/增加记数H选主修课entry/接受课程do/增加记数选辅修课entry/接受课程exit/增加记数挂起do/等待30秒输入课程[count=2][count=4]/setcount=0Quit输入课程输入课程挂起H恢复3.荡7软件丛测试目标爬:发蛙现错留误,衣保证躺软件嫂质量方式梦:人裙工测抓试、郊动态絮测试转、自半动测各试过程稻:单元房诚测试棒、集圣成测追试、纪确认接测试糟、系岭统测抛试常用护方法术:白盒秤测试叠、黑嘴盒测喝试、公回归撑测试伙、强猛度测料试软件驼测试侧并不壁等于欧程序坐测试渔。软矛件测哗试应案贯穿丹于软策件定富义与艇开发渐的整留个期逝间。用户要求用户:我要什么?运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机怎么做?设计说明书设计员:我要让软件做什么?需求说明书分析员:我可以提供什么?理解正确性表达正确性理解正确性设计正确性表达正确性理解正确性编码正确性运行正确性输入正确性相符吗?软件永测试您策略┋┋被测模块被测模块被测模块单元测试单元测试单元测试组装测试确认测试系统测试设计信息软件谁需求系统躬其它肠元素可交重付的软撇件已确非认的软旷件已集洗成的软究件软件纪测试过程单元枪测试克:是发蛋现模胳块的愈子程惹序或嘉过程刊的实沉际功浸能与府该模削块的讲功能绕和接旅口的裳描述干是否闭相符链,以芳及是绳否有臣编码表错误购存在享。组装京测试丽:目的昼是为峡了发滔现程咸序结葛构的拾错误型。确认诸测试:是根验证菊软件抢的功春能和线性能择及其陡它特李征是总否与妇用户客的要忍求一加致。α测试椅:是由惕一个舞用户悦在开偏发者信的陪膛同下熟,在绳开发拉环境赞下进腿行的级测试兽,也缸可以武是开府发机俗构内归部的村用户庸在模级拟实责际操冰作环桐境下册进行渡的测犬试。β测试卷:是由孔软件办的多辱个用册户在和一个顾或者念多个单用户讲的实拉际使近用环究境下摘进行昏的测递试。系统术测试娇:是将惧通过挺确认矛测试狱的软促件,蚂作为臭整个尖基于另计算炮机系短统的资一个优元素尖,与瘦计算未机硬喇件、测外设欺、某谎些支滥持软卵件、郑数据巩和人降员等鼠其它魂系统牌元素路组合飞在一蛙起,往在实部际运叉行(选使用五)环勺境下已,对杨计算见机系浑统进顷行一灾系列胶的组创装测笔试和撇确认怕测试屠。白盒饱测试——逻辑润驱动江测试语句碑覆盖判定室覆盖条件除覆盖判定-条件茎覆盖条件竟组合候覆盖黑盒搂测试——功能仆测试等价行分类艇法边缘榜值分般析法因果弃图法错误渔推测抢法3.既8软件杯维护进行精软件照维护稳是必浪不可禽少的顷。可维体护性率:可理僵解性猾、可之测试腿性、住可修戴改性浆、可列

温馨提示

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

评论

0/150

提交评论