还剩5页未读,继续阅读
文本内容:
福州高校软件学院软件工程系••王灿辉软件工程主要讲解并描述软件开发的道理,基本上是软件实践者的胜利阅历•和失败教训的总结软件工程的观念、方法、策略和规范都是朴实无华的,平凡之人皆可领悟,关•键在于运用我们不行以把软件工程方法看成是诸葛亮的锦囊妙计一在出了问题后才打开•看看,而应当事先驾驭,预料将要出现的问题,限制每个实践环节,并防患于未然-探讨软件工程恒久做不到理论家那么潇洒:定理证明了,就完事人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中同样,软件人员脑子里的软件工程观念会无形地支配其怎么去做事情软件工程三十多年的发展,已经积累了相当多的方法,但这些方法不是严密的理论软件人员不应当教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”软件工程概述、软件过程模型•系统工程、软件项目管理风险管理软件需求分析、软件(概要、具体设计、••编程、软件测试和纠错软件维护、变更管理、软件度量、软件质量和软件质量保证、灵敏软件工•程面对对象方法、软件复用、软件开发工具•软件工程人员有两种:卖代码的,卖代码加上工程设计思想的前一种是多数,•其次种恒久是少数在美国这两者的区分是两万和二十万的区分:前者糊口都有困难,后者可以买游艇;前者每天通宵熬夜他们最大的奢求就是躺在床上放松deliver,一些腰肌,后者可以抽着雪茄谈哲学,精力充足地逛partyo总复习到此结束!福州高校软件学院软件工程系王灿辉•••SOFTWARE ENGINEERING(定义•Description of Software(软件质量•Software Quality(软件特性(软件应用•Software Characteristics•Software applications•Software Crisis(现象、缘由、解决方法等(神话•Software Myths(软件工程•Software engineering(软件生存周期生存周期模型•software lifecycle•(life-cycle model•Process、Methods、Tools(CASEe AGeneric ViewofSoftwareengineering*Software(Engineering ParadigmSoftware ProcessModel((循环模型•The LinearSequential Modelwaterfalk TheLoop Model(原型法(快速应用开发•The PrototypingModel•The RADModel•The Incremental(增量开发模型Model(螺旋模型•The SpiralModel(形式化(第代•The FormalMethods Model•Fourth GenerationTechnique4•The(喷泉模型((智能模型Fountain Model•RUP RationalUnified Process*intelligent model•System engineering•System Elements(•Product EngineeringIdentify thecustomers need,Feasibility Study,economic andtechnicalanalysis allocation,Establish costand scheduleconstraints,Create asystem definition•Project PlanningObjectives*Software ProjectPlanning(2Estimation ofResources(3Cost andEffort Estimation(风险分析、管理和安排4Software ProjectScheduling*RMMM需求工程概述L.需求获得
2.需求分析建模
一、、3DFD ERDUML.需求规格说明需求验证
4.需求管理5软件设计概述软件设计相关的概念体系结构设计数据设计接口设计过程(构件设计设计规格说明验证(抽象、(求精1Abstraction Refinement(模块化2Modularity(信息隐藏3Information Hiding(功能独立4Function Independence重构:教材5P155•Software design:(1data design2architectural design(3interface design(正式技术评审(4procedural design*FTR编程语言编程原则编程风格(技巧的运用、变量命名、注解、代码缩进等代码效率爱护性编程冗余编程(狭义测试概述测试方法技术测试策略(步骤软件调试纠错测试文档
1.Testing isa processof executinga programwith theintent offinding anerror.
2.A goodtest caseis one that hasa highproba-bility offinding anas-yet undiscoverederror.
3.A successfultest isonethatuncovers anas-yet undiscoverederror.Testing cannotshow theabsence ofdefects,it canonly showthat softwareerrors arepresent.假如希望提高已有软件的质量并且提高商业竞争力,却又无法靠维护来实现,•只好对已有软件进行全部或者部分的改造,这种活动叫再生工程(Reengineering•再生工程(的三种类型:重构(、Reengineering Restructure逆向工程(和前向工程(Reverse EngineeringForward Engineering0软件配置管理(是一组在计算机软件的整个生存周期内管理变更的活动,•SCM可以把看作是应用于整个软件过程的软件质量保证活动活动的目标:标SCM SCM识变更;限制变更;保证正确地实现变更;向利害相关人员报告变更基线:已经通过正式评审和批准的规格说明或产品,它可以作为进一步开发的基础,并且只有通过正式的变更限制规程才能修改它基线是软件开发中的里程碑与明确定义的功能和性能需求的一样性-与明确成文的开发标准的一样性与••全部专业开发的软件所期望的隐含的特性(如:健壮性、可维护性、良好的界面风格、可移植性等的一样性质量保证策略•软件质量保证活动•软件实力成熟度模型•CMM灵敏软件开发宣言:・个体和交互赛过过程和工具h、可工作软件赛过宽泛的文档
2、客户合作赛过合同谈判
3、响应改变赛过遵循安排4即,虽说上述右边的各项很有价值,但左边的各项更有价值•极限编程(XP・自适应软件开发-动态系统开发方法-Scrum,Crystal特征驱动开发•面对对象的软件开发方法概述-面对对象的基本概念(抽象、对象、类、•OOSD继承、封装、消息、多态性、重载、动态绑定、永久对象、结构与连接和基本概念•00A00D,软构件(软件复用的定义及其目的等构件库,基于构件的Software Component*•开发过程、特点、风险几种构件技术规范•软件(开发工具•软件开发环境(也称为软件工程环境(•SDE,SEE计算机协助软件工程•CASE软件工程无论怎么发展,都不是追求质量的最优化,而是合理的成本限制下的•提高质量和开发效率,否则就是误入歧途不管教科书上的理论多么漂亮迷人,都要由实践来验证。