软件工程-第10-11章课件.ppt

上传人(卖家):ziliao2023 文档编号:5672588 上传时间:2023-05-01 格式:PPT 页数:54 大小:745KB
下载 相关 举报
软件工程-第10-11章课件.ppt_第1页
第1页 / 共54页
软件工程-第10-11章课件.ppt_第2页
第2页 / 共54页
软件工程-第10-11章课件.ppt_第3页
第3页 / 共54页
软件工程-第10-11章课件.ppt_第4页
第4页 / 共54页
软件工程-第10-11章课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、Delivering the System系统的交付系统的交付10.1 training 培训 用户与操作员职能用户与操作员职能Table 10.1.User and operator functions.User functions用户职能Operator functions操作员职能Manipulating data files处理数据文件Granting user access授予用户访问权Simulating activities模拟活动Granting file access授予文件访问权Analyzing data分析数据Performing backups执行备份Communic

2、ating data交流数据Installing new devices安装新设备Drawing graphs and charts绘制图表Installing new software安装新软件Recovering damaged files恢复损坏的文件Types of training 培训类型User training 用户培训Operator training 操作员培训Special training needs 特别培训需求linfrequent vs.frequent users 偶尔与经常用户lnew users vs.brush-up 新用户与温习用户Training ai

3、ds 培训援助Documents 文档Icons and on-line help 图标和在线帮助Demonstrations and classes演示与分类Expert users 专家用户10.2 Documentation文档Consider the audience 考虑读者User manual 用户手册lsystem purpose or objectives 系统目的或宗旨lsystem capabilities and functions 系统的性能与功能lsystem features,characteristics,advantages 系统特点、特征和优点Operato

4、r manual 操作员手册General system guide 系统概况Tutorials and automated overviews 指南与自动的系统纵览Programmer guide 程序员指南User help and troubleshooting 用户帮助和故障诊断failure messages reference guide 出错信息参考指南Online help 在线帮助Quick reference guides 快速参考指南failure messages reference guide出错信息指南the name of code component execu

5、ting when the failure occurred 出错时正在执行的代码组件名the source code line number in the component that was executing 组件中正在执行的源代码行号the failure severity and its impact on the system 出错严重等级和它对系统的影响the contents of any relevant system memory or data pointers,such as registers or stack pointers 相关系统内存或数据指针的内容,如寄存器

6、或堆栈指针the nature of the failure,or a failure message number(for cross-reference with the failure message reference guide)出错属性或出错信息编号(以便交叉引用失效参考指南)Example failure messagesFailure 345A1:Stack overflow.This problem occurs when more fields are defined for a record than the system canaccommodate.The last

7、field defined will not be included in the record.You canchange the record size using the Record Maintenance function on the Maintenancemenu to prevent this failure in the future.5(2,4)Error:“0.5”is not a function 3 xSyntax error:name(“x”)used illegally at this point:3 xFAILURE 345A1:STACK OVERFLOWOC

8、CURRED IN:COMPONENT DEFRECDAT LINE:12300SEVERITY:WARNINGREGISTER CONTENTS:0000 0000 1100 1010 1100 1010 1111 0000PRESS FUNCTION KEY 12 TO CONTINUETable 10.3.BASIC failure messages.NumberMessage23Line buffer overflowAn attempt has been made to input a line that has too many characters.24Device time-o

9、utThe device you have specified is not available at this time.25Device faultAn incorrect device designation has been entered.26FOR without NEXTA FOR statement was encountered without a matching NEXT statement.27Out of paperThe printer device is out of paper.28Unprintable errorA failure message is no

10、t available for the condition that exists.29WHILE without WENDA WHILE statement was encountered without a matching WEND statement.30WEND without WHILEA WEND statement was encountered without a matching WHILE statement.31-40Unprintable errorA failure message is not available for the condition that ex

11、ists.Maintaining the System系统的维护SOFTWARE ENGINEERING 软件和硬件的维护是完全不同的 软件和硬件系统最大的差别在于软件系统在构建时包含了变化,除了最简单的情况外,软件系统是演化的。11.1 The changing system 变化的系统Software system are evolutionary.软件系统是演化的lA customer makes a decision to do something a different way.顾客以不同的方式做某件事lThe nature of the system itself changes.

12、系统自身的属性发生了改变Types of Systems,in terms of the way it is related to the environment in which it operates 系统类型,用系统和系统运行的环境来描述lS-systemslP-systemslE-systemsS-systemsFormally defined,derivable from a specification 形式化定义、源自说明描述Static system,no change required 静态系统,无改变需要Examples:mathematical operationsP-sy

13、stemsThe system is based on a practical abstraction of the problem rather then on a completely defined specification 系统基于问题的一个可行的抽象,而不是一个完全定义好的说明Abstraction and solution may change 抽象与解决方案可能变化Examples:pattern recognition systems 模式识别系统E-systemsEmbedded in the real world and changes as the world does

14、 嵌入真实世界中并随着真实世界的改变而改变The problem cannot be specified completely 问题不能被完全说明The success depends on the customer evaluation 成功取决于客户评价Examples:banking systems,ERP systemsS-系统解决的问题与真实世界有关,如果真实世界变化了,就是一个全新的问题,必须重新指明。P-系统中所有都可能发生变化,实现也相应的受影响。但变化产生的系统不能被视为对新问题的新的解决方案。事实上只是旧解决方案的一个修正,为了找出对现存问题的更合适的解决方法。E-系统是持

15、续发生变化的系统,其成功完全依赖于顾客对系统性能的评估。系统要解决的问题不可能被完全指明,问题只能在实际的运行条件下,由它的行为来检验。Changes during the system life cycle在系统生命周期中的变化A change at any stage of development can also affect the results of previous as well as subsequent stages.在开发中任意环节的改变,都可能影响前面的结果和后面的环节。根据系统的分类来研究系统,可以看到变化可能会发生在什么地方。软件开发中变动的例子软件开发中变动的例子

16、Table 11.1.Examples of change during software development.Activity from which initial change resultsArtifacts requiring consequent changeRequirements analysisRequirements specificationSystem designArchitectural design specificationTechnical design specificationProgram designProgram design specificat

17、ionProgram implementationProgram codeProgram documentationUnit testingTest plansTest scriptsSystem testingTest plansTest scriptsSystem deliveryUser documentationTraining aidsOperator documentationSystem guideProgrammer guideTraining classesThe system life span 系统生命期Development Time vs.Maintenance Ti

18、me 开发时间与维护时间Typical development project takes between 1 and 2 years,but.requires an additional 5 to 6 years of maintenance time!典型的开发项目耗时1-2年,但需要5-6年的维护时间。80-20 RulelTwenty percent of the effort is in development and eighty percent is in maintenance.工作量的20%是开发,而80%是维护。System evolution vs.decline 系统演

19、化和系统衰退的比较Is the cost of maintenance too high 维护的成本太高吗?Is the system reliability unacceptable 系统的可靠性可以接受吗?Can the system no longer adapt to further change,and within a reasonable amount of time 在一个合理的时间内,系统不能再适应进一步的变化了吗?Is system performance still beyond prescribed constraints 系统性能仍旧超出预先规定的约束条件吗?Are

20、system functions of limited usefulness 系统功能的作用有限吗?Can other systems do the same job better,faster or cheaper 其他的系统能更好、更快、更廉价地做同样的工作?Is the cost of maintaining the hardware great enough to justify replacing it with cheaper,newer hardware 维护硬件的成本高得足以用更便宜、更新的硬件来取代吗?Laws of software evolution 软件演化法则Cont

21、inuing change(连续的变化):程序持续地被改动,(连续的变化):程序持续地被改动,或者变得越来越无用。变动或衰退过程一直持续着,直到用或者变得越来越无用。变动或衰退过程一直持续着,直到用一个重新创建的版本来代替原系统更划算为止。一个重新创建的版本来代替原系统更划算为止。Increasing complexity(递增的复杂性):当一个演化的程(递增的复杂性):当一个演化的程序被持续改动时,它的结构恶化了。因此它的复杂性增加,序被持续改动时,它的结构恶化了。因此它的复杂性增加,除非进行一些维护或减少它。除非进行一些维护或减少它。Fundamental law of program e

22、volution (程序演化的基(程序演化的基本法则):程序演化服从于一种动力,这种动力产生了编程本法则):程序演化服从于一种动力,这种动力产生了编程过程,从而产生了全局项目和系统属性的度量,它自身由某过程,从而产生了全局项目和系统属性的度量,它自身由某种统计确定的趋势和恒定性来调节。种统计确定的趋势和恒定性来调节。Conservation of organizational stability(组织稳定性的(组织稳定性的守恒):在一个程序的活动周期中,编程项目的总体活动统守恒):在一个程序的活动周期中,编程项目的总体活动统计上是不变的。计上是不变的。Conservation of famil

23、iarity(熟悉程度的守恒(熟悉程度的守恒):在一个):在一个程序的活动周期中,因程序演化连续发布版本的发布内容程序的活动周期中,因程序演化连续发布版本的发布内容(改动、增加、删减)统计上是不变的。(改动、增加、删减)统计上是不变的。第一条法则:大型系统从来都不是完整的,它们不断地演化。第二条法则:当系统演化时,它们会变得更加复杂,除非采取行动减少这种复杂性。第三条法则:软件系统显示出我们能度量和预测的规则的行为和趋势。第四条法则:在组织属性中没有程度比较大或范围很广的波动。第五条法则:经过一段时间以后发布的版本的效果在整个系统功能中并不会有什么差别。11.2 the nature main

24、tenance 维护的本质Corrective(改正性维护):maintaining control over day-to-day functions 维持控制日常功能Adaptive(适应性维护):maintaining control over system modifications 维持控制系统修改Perfective(完善性维护):perfecting existing functions 完善现有的功能Preventive(预防性维护):preventing system performance from degrading to unacceptable levels 防止系统

25、性能下降到不可接受Who performs maintenance 由谁进行维护Often,a separate group of analysts,programmers,and designers is designated as the maintenance team.通常,人们会指派一个单独的维护小组,这个小组包括分析员、程序员和设计人员。Maintenance team responsibilities 维护小组的职责维护小组的职责understanding the system 理解系理解系统统locating information in system documentatio

26、n 定位系统文档中的信定位系统文档中的信息息keeping system documentation up-to-date 保持系统文档更新保持系统文档更新extending existing functions to accommodate new or changing requirements 扩展现有功能以容纳新的或变动的需求扩展现有功能以容纳新的或变动的需求adding new functions to the system 给系统增加新的功能给系统增加新的功能finding the source of system failures or problems 找出系统故障或问题的根源

27、找出系统故障或问题的根源locating and correcting faults 定位和纠正故障定位和纠正故障answering questions about the way the system works 回答有关系统运行方式的问回答有关系统运行方式的问题题restructuring design and code components重构设计和代码组件重构设计和代码组件rewriting design and code components重新编写设计和代码组件重新编写设计和代码组件deleting design and code components that are no lo

28、nger useful 删除不再有用的设计和代码组件删除不再有用的设计和代码组件managing changes to the system as they are made 进行系统改动进行系统改动Use of maintenance time维护时间的分配Perfective完善性维护:50%Adaptive适应性维护:25%Corrective改正性维护:21%Preventive预防性维护:4%11.3 Maintenance problems 与维护有关的问题Staff problems 人员问题lLimited understanding 理解的局限性lManagement pri

29、orities 管理的优先级lMorale 士气Technical problems 技术问题lArtifacts and paradigms 工件和范例lTesting difficulties 测试问题Factors affecting maintenance effort 影响维护成果的因素Application type 应用类型应用类型System novelty 系统新奇度系统新奇度Turnover and maintenance staff ability 人员变化和维护人员能力人员变化和维护人员能力System life span 系统生命期系统生命期Dependence on

30、 a changing environment 对变化的环境的依赖对变化的环境的依赖Hardware characteristics 硬件特硬件特性性Design quality 设计质量设计质量Code quality 代码质量代码质量Documentation quality 文档质文档质量量Testing quality 测试质量测试质量Modelig maintenance effortd 对维护工作量建模Belady and Lehman公式 M=p+K c-d其中:M是一个系统花费的所有维护工作量 p表示分析、评价、设计、编码以及测试的总工作量 K是个常量,通过与实际工作量比较而定

31、 c是由于缺乏结构化和文档引起的复杂度 d表示维护小组对软件的熟悉程度,d削弱了cCOCOMO II计算维护工作量公式计算维护工作量公式Size=ASLOC(AA+SU+0.4DM+0.3CM+0.3IM)/100ASLOC:要改动的代码行数AA:评估和修改评分SU:加权因子项CM:要修改的代码的百分比DM:要修改的设计的百分比IM:要集成的外部代码的百分比 COCOMO II软件理解的评分软件理解的评分Table 11.2.COCOMO II rating for software understanding.Very lowLowNominalHighVery highStructure结

32、构Very lowcohesion,highcoupling,spaghetti codeModerately lowcohesion,highcouplingReasonablywell-structured;some weakareasHigh cohesion,low couplingStrongmodularity,information-hiding in dataand controlstructuresApplicationClarity应用程序清晰度No matchbetweenprogram andapplicationworld viewsSomecorrelationbe

33、tweenprogram andapplicationModeratecorrelationbetweenprogram andapplicationGoodcorrelationbetweenprogram andapplicationClear matchbetweenprogram andapplicationworld viewsSelf-Descriptiveness自描述Obscure code;documentationmissing,obscure orobsoleteSome codecommentaryand headers;some usefuldocumentation

34、Moderate levelof codecommentary,headers,documentationGood codecommentaryand headers;usefuldocumentation;some weakareasSelf-descriptivecode;documentationup-to-date,well-organized,with designrationale SU增值SU increment5040302010 COCOMO II 评估和修改的评分评估和修改的评分Table 11.3.COCOMO II ratings for assessment and

35、assimilation effort.Assessment and assimilation incrementLevel of assessment and assimilation effort0None2Basic component search and documentation4Some component test and evaluationdocumentation6Considerable component test and evaluationdocumentation8Extensive component test and evaluationdocumentat

36、ion11.4 Measuring maintenance characteristics 度量维护特性External view of maintainability 可维护性的外部属性Internal attributes affecting maintainability 影响可维护性的内部属性External view of maintainability 可维护性的外部属性Necessary data(用平均修复时间度量所)必须的数据ltime at which problem is reported 问题报告的时间ltime lost due to administrative d

37、elay 由于行政管理延迟浪费的时间ltime required to analyze problem 分析问题需要的时间ltime required to specify which changes are to be made 确定进行哪种改动需要的时间ltime needed to make the change 进行改动需要的时间ltime needed to test the change 测试变动需要的时间ltime needed to document the change 记录变动需要的时间Desirable data:可能有用的数据lratio of total change

38、 implementation time to total number of changes implemented 实现改动的总时间与实现的改动的总数目之比lnumber of unresolved problems 未解决问题的数目ltime spent on unresolved problems 花在未解决问题上的时间lpercentage of changes that introduce new faults 引入新故障的改动的百分比lnumber of components modified to implement a change 实现一个改动而修改的组件数Internal

39、 attributes affecting maintainability 影响可维护性的内部属性cyclomatic number 环路数Scoreboard:drawscore(int n)while(numdigits-0 scorenumdigits-erase();/build new score in loop,each time update positionnumdigits=0;/if score is 0,just display“0”if(n=0)delete scorenumdigits;scorenumdigits=new Displayable(di gits0);

40、scorenumdigits-move(Point(700-numdigits*18),40);scorenumdigits-draw();numdigits+;while(n)int rem=n%10;delete scorenumdigits;scorenumdigits=new Displayable(digitsrem);scorenumdigits-move(Point(700-numdigits*18),40);scorenumdigits-draw();n/=10;numdigits+;环路数代码中判定语句数环路数代码中判定语句数1环路数计算的例子环路数划分平面数环路数划分平面数

41、线性无关路径线性无关路径e n+2Fog index可读性度量指标F=0.4 单词数单词数句子数句子数 3个以上音节的词的百分比个以上音节的词的百分比11.5 Maintenance Techniques and Tools维护技术和工具Configuration Management 配置管理lConfiguration Control Board 配置管理委员会 lChange Control 变动控制Impact Analysis 后果分析lEvaluation of the many risks associated with the change,including estimate

42、s of effects on resources,effort and schedule 对与变动有关的多项风险的评估,包括对资源、工作量和进度影响的评估Automated Maintenance Tools 自动维护工具Change control issues 变动控制Synchronization 同步:同步:When was the change made?变动是变动是何时进行的?何时进行的?Identification 标识标识:Who made the change?由谁进行改动由谁进行改动的?的?Naming 命名命名:What components of the system

43、 were changed?系统的那个组件被改动了?系统的那个组件被改动了?Authentication 鉴定鉴定 :Was the change made correctly?改改动正确地进行了吗?动正确地进行了吗?Authorization 授权授权:Who authorized that the change be made?是谁批准进行的改动?是谁批准进行的改动?Routing 发送发送:Who was notified of the change?改动通知了改动通知了那些人?那些人?Cancellation 取消取消:Who can cancel the request for ch

44、ange?谁能取消变动的请求?谁能取消变动的请求?Delegation委托委托:Who is responsible for the change?谁对改谁对改动负责?动负责?Valuation 评价评价:What is the priority of the change?改动的改动的级别是什么?级别是什么?Impact analysis 后果分析Workproduct(工作产品):any development artifact whose change is significant 改动起来有重要影响的开发工件Horizontal traceability(水平可追踪性):relatio

45、nships of components across collections of workproducts 工作产品集之间组件的关系Vertical traceability(垂直可追踪性):relationships among parts of a workproduct 工作产品中各部分之间的关系软件维护活动Horizontal traceability 水平可追踪性Underlying graph for maintenance维护的基础图Automated maintenance tools 自动维护工具Text editors 文本编辑器File comparators 文件比

46、较器Compilers and linkers 编译器和连接器Debugging tools 调试工具Cross-reference generators交叉引用生成器Static code analyzers 静态代码分析器Configuration management repositories 配置管理库Software rejuvenation 软件再生软件再生:试图增加当前系统的总体质量。通常通过回顾系统的工作产品,试图得到更多的信息,或者将它们组织得更易于理解。软件再生要考虑的方面1.Restructuring(结构重组):transform to improve code str

47、ucture 使代码结构变好2.Redocumentation(文档重构):static analysis adds more information 静态分析,得出更多的信息3.Reverse engineering(逆向工程):recreate design and specification information from the code 从代码中重构出设计和说明信息4.Reengineering(再工程):依据逆向工程抽取的信息,在不改变整个系统功能的前提下产生新的软件源代码。软件再生分类Restructuring结构重组Redocumentation 文档重构Redocument

48、ation 文档重构Output may include(输出可能包括):lcomponent calling relationships 组件调用关系ldata-interface tables 数据接口表ldata-dictionary information 数据字典信息ldata flow tables or diagrams 数据流表或图lcontrol flow tables or diagrams 控制流表或图lPseudocode 伪代码ltest paths 测试路径lcomponent and variable cross-references 组件和变量的交叉引用Reverse Engineering逆向工程Reengineering再工程

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

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

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


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

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


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