软件工程的基本概念软件开发过程软件需求分析和规格说明书软件设计技术软件测试、文档和维护CASE工具…软件度量计算机世界现实世界结构化开发方法SASDSPOOAOODOOP面向对象开发方法第一部分◦传统软件工程第二部分◦面向对象软件工程(UML)第三部分◦软件过程、管理和质量什么是软件软件开发的历史软件危机软件工程软件工程的研究内容软件开发过程软件过程改进◦软件能力成熟度模型软件工程的目标软件工程的核心软件工程的基础◦软件过程◦软件生命周期◦软件过程模型可行性分析需求分析设计编码测试使用维护采用自顶向下、逐层进行功能分解的系统分析方法来定义系统的需求。方法的特点:利用数据流图(DataFlowDiagram,DFD)来帮助理解问题,对问题进行分析。一般工具:DFD、数据字典、ER图等。适用于分析大型的数据处理系统。功能分析工具:DFD、DD。数据分析工具:ER图或者EER(扩展ER)图。SA主要针对数据处理领域,因此,系统分析的侧重点在于功能分析和数据分析,而行为分析使用得较少。E-R图状态变迁图(STD图)加工规约控制规约数据对象规约数据字典(DD)数据流图(DFD)S2132.22.12.33.13.2顶层(不编号)0层1层一个简单的考务处理系统功能描述:(1)对考生送来的报名单进行检查;(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)按地区进行成绩分类统计和试题难度分析,产生统计分析表送给考试中心。某企业销售管理系统的功能为:(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单;若库存量不足,将缺货订单登入缺货记录.(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购.(3)根据采购部门发来的进货单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理.(4)根据留底的订单进行销售统计,打印统计表给经理.分析模型设计模型数据对象描述处理规格说明控制规格说明E-RDFDSTDDD软件设计的重要性可以用“质量”表达过程设计接口设计体系结构设计数据设计从项目管理的角度来看,软件设计分两步完成。◦概要设计,将软件需求转化为数据结构和软件体系结构。◦详细设计,即过程设计。通过对体系结构表示进行细化,得到软件的详细的数据结构和算法。模块化信息隐藏模块独立性模块独立性◦度量标准:内聚cohesion和耦合coupling。内聚:cohesion.Goal:尽可能高内聚.内聚级别:偶然内聚逻辑内聚时间内聚过程内聚通信内聚顺序内聚功能内聚最差最好耦合(couple)是度量系统中模块之间的交互程度。Goal:模块之间尽可能独立耦合从低到高依次为:非直接耦合(最好),数据耦合,标记耦合,控制耦合,外部耦合,公共耦合和内容耦合(最差)。GreatdealofdependenceIndependentHighlycoupledLooselycoupledUncoupled详细设计的实质详细设计的逻辑基础详细设计的工具◦图形工具(流程图、盒图)◦列表工具(判定表、判定树)◦语言工具(PDL)软件测试的目的及原则测试方法◦测试用例的设计◦白盒技术◦黑盒技术测试过程◦单元测试◦集成测试◦确认测试◦系统测试什么是面向对象◦对象◦属性◦操作◦类◦方法面向对象的特点封装性继承性多态性重载对象模型化技术把分析时收集的信息构造在三类模型中,即对象模型、动态模型和功能模型。动态模型对象模型功能模型状态图时间跟踪图软件维护的概念软件维护活动程序修改的步骤及修改的副作用可维护性提高可维护性的方法软件再工程CASE的定义集成的CASE环境CASE工具的集成形式集成化CASE环境的体系结构软件质量的定义软件质量特性软件质量模型软件质量的度量软件质量的保证基本概念CMM框架结构与各级组成CMM的实施CMM的评估要有认真的态度要养成好的学习方法知识要成体系识记不可少要加以理解项目实际经验的积累要勤于思考要融会贯通要多学科结合