



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 ,软件工程导论一、软件工程是指导计算机软件开发和维护的一门工程学科二、件工程的七条基本原则:1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性三、软件工程方法学包含 3 个要素 :方法、工具和过程。方法是完成软件开发的各项任务的技术方法 ,回答 “怎样做 ”的问题 ;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境 ;过程是为了获得高质量的软件所需要完成的一系列任务的框架 ,它规定了完成各项任务的工作步骤。四、软件一程方法学 :传
2、统方法学、面向对象方法学五、软件生命周期 :软件定义、软件开发和运行维护(也称为软件维护 3 个时期组成1 软件定义主要任务 :问题定义、可行性研究和需求分析2 开发时期主要任务 :总体设计 ,详细设计 ,编码和单元测试 ,综合测试3 维护时期主要任务 :通过各种维护性活动使系统持久地满足用户的需求 ,通常有四类维护 :改正性维护 ,也就是诊断和改正在使用过程中发现的软件错误 ;适应性维护 ,即修改软件以适应环境的变化 ;完善性维护 ,即根据用户的需求改进若扩充软件使它更完善 ;预防性维护 ,即修改软件 ,为将来的维护活动预先做准备/问题定义阶段必须回答的关键问题是: “要解决的问题是什么 ?
3、”可行性研究 :对于上一个阶段所确定的问题有行得能的解决办法吗 ?需求分析 :确定目标系统必须具备哪些工能总体设计 :概括地说 ,应该怎样实现目标系统 ?详细设计 :应该怎样具体地实现这个系统呢 ?编码和单元测试 :写出正确的容易理解、容易维护的程序模块综合测试 :通过各种类型测 (及相应的调试使软件达到预定的要求 ,最基本的测试是集成测试和验收测试 ,集成测试是根据设计的软件结构 ,把经过单元测试检验的模块按某种选定的策略装配起来 ,在装配过程中对程序进行必要的测试 ;验收测试则是按照规格说明的规定 ,由用户对目标系统验收六、软件过程的各种模型 :瀑布模型、快速原型模型增量模型、螺旋模型、喷
4、泉模型第二章可行性研究一、可行性研究的任务分析几种主要的可能解法的利弊 ,从而判断原定的系统规模和目标是否现实 ,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度二、可行性(1 技术可行性使用现有的技术能实现这个系统吗?(2 经济可行性这个系统的经济效益能超过它的开发成本吗?(3 操作可行性系统的操作方式在这个用户组织内行得通吗?三、可行性研究过程1. 复查系统规模和目标、2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型、4. 进一步定义问题5. 导出和评价供选择的解法、6. 推荐行动方针7. 草拟开发计划、 8. 书写文档提交审查四、系统流程图 :是概括地描绘物理系统的传
5、统工具。数据流图 :描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图是系统逻辑功能的图形表示数据字典 :数据字典是关于数据的信息的集合 ,也就是对数据流图中包含的所有元素的定义的集合。一般说来 ,数据字典应该由对下列3 类元素的定义组成 :(1 数据流(2 数据流分量 (即数据元素(3 数据存储第 3 章需求分析一、需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。二、确定对系统的综合要求1. 功能需求、2. 性能需求、3. 可靠性和可用性需求4. 出错处理需求、5. 接口需求、6. 约束7. 逆向需
6、求、 8. 将来可能提出的要求三、分析系统的数据要求分析系统的数据要求通常采用建立数据模型的方法导出系统的逻辑模型综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体 -联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。四、获取需求的方法访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型五、分析建模需求分析过程应该建立3 种模型 ,它们分别是数据模型、功能模型和行为模型。3.4 节将介绍的实体 -联系图 ,描绘数据对象及数据对象之间的关系 ,是用于建立数据模型的图形。2.4 节讲过的数据流图 ,描绘当数据在软件系统中移动时被变换的逻辑过程 ,指明系
7、统具有的变换数据的功能 ,因此 ,数据流图是建立功能模型的基础。3.6 节将介绍的状态转换图 (简称为状态图 ,指明了作为外部事件结果的系统行为。为此 ,状态转换图描绘了系统的各种行为模式 (称为 “状态 ”和在不同状态间转换的方式。状态转换图是行为建模的基础。3.4 实体 -联系图 (数据对象、属性、联系3.6 状态转换图 (状态、事件、符号3.7 其他图形工具、层次方框图图、图六、验证软件需求(1 一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2 完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。(3 现实性指定的需求应该是用现有的硬件技术和软件技术
8、基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4 有效性必须证明需求是正确有效的,确实能解决用户面对的问题。第 4 章形式化说明技术有穷状态机、 petri 网、 z 语言第 5 章总体设计划分出组成系统的物理元素 (黑盒子级 程序、文件、数据库、人工过程和文档等2、设计软件的结构1、确定系统中每个程序是由哪些模块组成2、这些模块相互间的关系二、设计过程设想供选择的方案、选取合理的方案、推荐最佳方案功能分解、设计软件结构、设计数据库制定测试计划、书写文档、审查和复审三、设计原理 :模块化、抽象、逐步求精信息隐藏和局部化
9、、模块独立四、模块独立性的度量 :两个定性标准度量 :内聚和耦合耦合 :模块间互相依赖 (连接的紧密程度内聚 :模块内部各个元素彼此结合的紧密程度五、耦合数据耦合 (Data Coupling、特征耦合控制耦合 (Control Coupling公共环境耦合 (Common Coupling内容耦合 (Content Coupling六、设计原则耦合是影响软件复杂程度的一个重要因素。尽量使用数据耦合、少用控制耦合和特征耦合限制公共环境耦合的范围、完全不用内容耦合。七、模块内聚八、设计原则 ,如果给上述 7 种内聚的优劣评分 ,将得到如下结果 :功能内聚 10 分顺序内聚 9 分通信内聚 7 分
10、过程内聚 5 分时间内聚 3 分逻辑内聚 1 分偶然内聚 0 分力争做到高内聚、识别提高低内聚的模块九、启发规则 :1.改进软件结构提高模块独立性2. 模块规模应该适中3. 深度、宽度、扇出和扇入都应适当4. 模块的作用域应该在控制域之内5.力争降低模块接口的复杂程度6. 设计单入口单出口的模块7. 模块功能应该可以预测十、描绘软件结构的图形工具层次图 HIPO 图结构图面向数据流的设计方法 :信息流的类型 :变换流、事务流分析步骤 :第 1 步复查基本系统模型、第 2 步复查并精化数据流图第 3 步确定数据流图具有变换特性还是事务特性。第 4 步确定输入流和输出流的边界 ,从而孤立出变换中心
11、。第 5 步完成 “第一级分解 ”。变换型数据流图被映射成一个输入、变换和输出的信息处理过程。第 6 步完成 “第二级分解 ”。把数据流图中的每个处理映射成软件结构中一个适当的模块。第 7 步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。第 6 章详细设计目标 :系统的具体实现。n 应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。? 结构程序设计的经典定义如下所述 : “如果一个程序的代码块仅仅通过顺序、选择和循环这 3 种基本控制结构进行连接 ,并且每个代码块只有一个入口和一个出口 ,则称这个程序是结构化的。 ”? 如果只允许
12、使用顺序、 IF-THEN-ELSE 型分支和DO-WHILE 型循环这 3 种基本控制结构 ,则称为经典的结构程序设计 ;? 如果除了上述 3 种基本控制结构之外 ,还允许使用DO-CASE 型多分支结构和DO-UNTIL 型循环结构 ,则称为扩展的结构程序设计 ;? 如果再加上允许使用 LEA VE( 或 BREAK 结构 ,则称为修正的结构程序设计。人机界面设计 : 1. 系统响应时间、 2. 用户帮助设施3. 出错信息处理、4. 命令交互过程设计的工具 :程序流程图、盒图 (N-S 图、 PAD 图、判定表判定树、过程设计语言面向数据结构的设计方法:? Jackson方法和 Warni
13、er 方法是最著名的两个面向数据结构的设计方法 .? 使用面向数据结构的设计方法 ,当然首先需要分析确定数据结构 ,并且用适当的工具清晰地描绘数据结构。? Jackson方法 :(1 分析并确定输入数据和输出数据的逻辑结构 ,并用 Jackson图描绘这些数据结构。? (2 找出输入数据结构和输出数据结构中有对应关系的数据单元。所谓有对应关系是指有直接的因果关系 ,在程序中可以同时处理的数据单元 (对于重复出现的数据单元必须重复的次序和次数都相同才可能有对应关系。? (3 用下述 3 条规则从描绘数据结构的 Jackson图导出描绘程序结构的 Jackson图:第一 ,为每对有对应关系的数据单
14、元 ,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框 (注意 ,如果这对数据单元在输入数据结构和输出数据结构中所处的层次不同 ,则和它们对应的处理框在程序结构图中所处的层次与它们之中在数据结构图中层次低的那个对应;? 第二 ,根据输入数据结构中剩余的每个数据单元所处的层次 ,在程序结构图的相应层次分别为它们画上对应的处理框;? 第三 ,根据输出数据结构中剩余的每个数据单元所处的层次 ,在程序结构图的相应层次分别为它们画上对应的处理框。? 在导出程序结构图的过程中 ,由于改进的 Jackson图规定在构成顺序结构的元素中不能有重复出现或选择出现的元素 ,因此可能需要增加中间层次的
15、处理框? (4 列出所有操作和条件 (包括分支条件和循环结束条件,并且把它们分配到程序结构图的适当位置。? (5 用伪码表示程序程序复杂程度的定量度量:McCabe 方法、 Halstead方法第 7章实现通常把编码和测试统称为实现。所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。单元测试、综合测试软件测试的目标 :(1 测试是为了发现程序中的错误而执行程序的过程 ;(2 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 ;(3 成功的测试是发现了至今为止尚未发现的错误的测试。测试方法 :? 黑盒测试 :
16、如果已经知道了产品应该具有的功能 ,可以通过测试来检验是否每个功能都能正常使用 ;? 白盒测试 :如果知道产品的内部工作过程 ,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。测试步骤 :1 模块测试、 2 子系统测试、 3. 系统测试4. 验收测试、5. 平行运行集成测试 :1、自顶向下集成2、自底向上集成逻辑覆盖 :1. 语句覆盖2. 判定覆盖3. 条件覆盖4. 判定 /条件覆盖5. 条件组合覆盖6. 点覆盖7. 边覆盖 8 . 路径覆盖控制结构测试 :1. 基本路径测试 :第一步 ,根据过程设计结果画出相应的流图。第二步 ,计算流图的环形复杂度。第三步 ,确定线性独立路径的基本集合。第四步 ,设计可强制执行基本集合中每条路径的测试用例。黑盒测试技术:等价划分、边界值分析、错误推测软件可靠性 :基本概念、估算平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 倾角仪项目投资可行性研究分析报告(2024-2030版)
- 架子合同协议书范文大全
- 2025年有光纯涤纶缝纫线项目投资可行性研究分析报告
- 汽修合同协议书模板范本
- 车款合同终止协议书模板
- 树木修剪合同协议书模板
- 2025年海南电机驱动专用芯片项目可行性研究报告
- 2025年音响设备及器材项目可行性研究报告
- 中国建筑股份有限公司-企业报告(业主版)
- 传统文化商业计划书
- 2025法语DELFA15级阅读理解试卷及答案
- 2025年全球经济策略试题及答案
- 山东省济南市商河县2025届九年级下学期中考二模语文试卷(含答案)
- 2025年绝缘纸原纸行业深度研究报告
- 2024年枣庄滕州市中小学招聘教师笔试真题
- 直击要点2025年入团考试试题及答案
- 基于AI的管道防腐监测系统研究与应用-洞察阐释
- 酒店宾馆装修合同协议书
- 2025-2030年中国腰果酚行业竞争格局展望及投资前景研究报告
- 2025年天津市高三高考模拟英语试卷试题(含答案详解)
- 职业技术学校中医康复技术专业人才培养方案
评论
0/150
提交评论