您好,欢迎访问三七文档
软件开发过程王吉喆分子生物学馆114室sanji0583@126.com回顾软件工程(面向对象)Web开发综述※Web开发详述(实例)△实际开发(实验)教学内容课程学习的内容与形式理论(30学时)内容:技术原理、开发方法形式:讲授、自学、讨论实验(20学时)内容:web开发(分析、设计、编码、测试)形式:各自为战第一章软件工程需求分析软件设计(概要、详细)测试与维护1.1需求分析两个任务:1、建立分析模型——数据、功能和行为模型2、编写需求说明书(需求分析阶段的最终成果)。数据流图(DFD)对象、属性、关系1.1需求分析用户需求分类(1)功能性需求:•定义了系统做什么(描述系统必须支持的功能和过程)(2)非功能性需求(技术需求):•定义了系统工作时的特性(描述操作环境和性能目标)1.1需求分析需求包括的内容(1)功能(2)性能(3)环境(4)界面(5)用户或人的因素(6)文档(7)数据(8)资源(9)安全保密(10)软件成本消耗与开发进度(11)质量保证1.1需求分析面向对象分析方法的相似步骤:(1)使用基本需求作为指南选择类和对象;(2)为对象标识属性和操作;(3)定义组织类的结构和层次;(4)建造对象-关系模型;(5)建造对象-行为模型。1.1需求分析层次方框图1.2软件设计概要设计产生:软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。SC(结构)图1.2软件设计详细设计产生:软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后再集成,是具体的实现细节。理论上要求可以照此编码。N-S图,PAD(问题分析图),IPO图,PDL等1.2软件设计模块化设计按照规定的原则把大型软件划分为一个个较小的、相对独立但相互关联的模块。重要指导思想分解模块独立性(两个指标:内聚、耦合)1.2软件设计模块独立性强块内联系强块间联系弱高内聚模块内部各成分之间低耦合一个模块与其它模块之间公共(共享)模块多个模块公用1.2软件设计高扇入/低扇出提高公共(共享)模块的使用率作用域/控制域规则作用域不要超出控制域的范围位置离受它控制的模块越近越好1.2软件设计有关界面设计的三条原则:置于用户控制之下减少用户的记忆负担保持界面一致1.2软件设计软件设计说明书1)范围3)体系结构设计5)模块的过程设计6)其他包括测试的考虑,确保设计满足所有需求,设计约束和一些特殊注解等内容。2)数据设计4)接口设计1.2软件设计设计复审概要设计复审系统的总体结构,模块划分,内外接口详细设计复审各个模块的具体设计1.2软件设计面向对象设计方案提取边界类、实体类和控制类;构造交互图;根据交互图精化类图;数据持久存储服务;并发与同步控制服务;技术支撑方案与用例实现方案的融合。1.2软件设计面向对象用户界面熟悉用户并对用户分类;按用户类别分析用户的工作流程与习惯;设计命令系统并进行优化;设计用户界面的各种细节;增加用户界面专用的类与对象;利用快速原型演示,改进界面设计。1.2软件设计精化设计模型以顶层架构图为基础,精化目标软件系统的体系结构;精化类之间的关系;精化类的属性和操作;针对具有明显状态转换特征的类,设计状态图;针对比较复杂的类方法,设计活动图。1.2软件设计精化体系结构继承关系;构成关系;聚合关系;关联关系;依赖关系;两个类的对象受同一执行者变化的影响。1.3测试与维护单元测试检验每个模块能否单独工作.集成测试检验概要设计中模块接口设计问题确认测试以需求规格说明书为检验尺度系统测试综合检验1.3测试与维护黑盒、白盒测试文档等价类划分路径测试法1.3测试与维护面向对象测试的特点:面向对象开发工作的演化性使面向对象测试活动也具有演化性。每个构件产生过程中,单元测试随时进行,迭代的每一个构造都要进行集成测试,后期迭代还包括大量的回归测试,迭代结束时进行系统测试。1.3测试与维护OO单元测试单元测试不再孤立的测试单个操作,而是将操作作为类的一部分。OO集成测试主要以检查这些构件、子系统的接口为目的。基于线程的测试、基于使用的测试1.3测试与维护OO确认测试、系统测试测试的内容主要集中于用户可见的动作和用户可识别的系统输出(用户可见的功能),以及系统性能等其他需求。1.3测试与维护开发期间对软件可维护性影响最大的活动。提供完整一致的文档采用现代化的开发方法软件配置、修改、软件再工程、软件重构思考题软件工程各环节的主要工作。传统开发方式和面向对象开发方式的特点及各环节注意事项。
本文标题:软件开发过程-1
链接地址:https://www.777doc.com/doc-3207955 .html