《软件工程资料》由会员分享,可在线阅读,更多相关《软件工程资料(4页珍藏版)》请在金锄头文库上搜索。
1、软件工程导论第1章软件工程学概述1、产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的 方法不正确有关。厂-2、软件危机(概念:指在计算机软件的开发和维护过程中遇到的一系列严重问题)的表现:A1)对软件开发成本和进度估计不准确B2)产品不符合用户的需求各3)软件产品的质量差考4)软件的可维护性差一)5)软件通常没有适当的文档资料题6)软件的价格昂贵7)软件开发的生产率不能满足客观要求V 3、软件工程的定义(概念):是一类设计软件的工程。软件工程是应用计算机科学、数学及 管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降 低成本目的的学科4、软件生命周
2、期:由软件定义、软件开发、运行维护3个时期组成5、软件过程的5种模型:1)瀑布模型;2)快速原型模型;3)增量模型;4)螺旋模型;5)喷泉模型(可能处在选择题,或简答题回答有几种。)6、(了解)敏捷过程:个体和交互胜过过程和工具;可以工作的软件胜过面面俱到的文档;客户合作胜过合同谈判;响应变化胜过遵循计划第2章可行性分析1、可行性研究的任务:进行一次大大压缩简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。2、可行性研究过程:技术上、管理上、经济上3、可行性研究报告的用途:1)融资、招商;2)国家发展和改革委立项的可行性研究报告;3)银行贷款的可行性研究报
3、告;4)申请进口设备免税;5)境外投资项目核准的可行 性研究报告4、数据字典的概念:关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义 的集合。(组成:数据流;数据流分量;数据存储;处理)5、数据流图:看做过的作业第3章需求分析1、与用户沟通获取需求的方法:1)访谈;2)面向数据流自顶向下求精;3)简易的应用规 格说明技术;4)快速建立软件原型2、实体一联系图(E-R图)大题,见作业本3、实体联系图的符号:矩形:实体;菱形:关系;椭圆:实体的属性第5章总体设计1、模块化:内聚越高、耦合越低模块独立性越好。2、最高程度的耦合是:内容耦合(最差);数据耦合最松散(好),系统中必不可少。3
4、、最高程度的内聚是:功能内聚(最好)最差的是偶然内聚;逻辑内聚、时间内聚、过程 内聚、通信内聚、顺序内聚一次增高。4、改进软件结构提高模块独立性;模块规模应该适中;深度、宽度、扇出和扇入都应适应; 模块的作用域应该在控制域之内;力争降低模块接口的复杂程度;设计单入口单出口的模块; 模块功能应该可以预测。第6章详细设计1、人机界面:一般交互指南:1)保持一致性2)提供有意义的反馈3)在执行有较大破坏 性的动作之前要求用户确认4)允许取消绝大多数的操作5)减少在两次操作直接必须记忆 的信息量6)提高对话、移动和思考的效率7)允许犯错误8)按功能对动作分类,并据此 设计屏幕布局9)提供对用户工作内容
5、敏感的帮助设施10)用简单动词短语作为命令名2、盒图NS图(A、B必考,6分)、PAD图、判定数、判定表(10分)见作业本3、Jackson方法的5个步骤:1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson 图描绘这些数据结构2)找出输入数据结构和输出数据结构中有对应关系的数据单元3)从 描绘数据结构的Jackson图到处描绘程序结构的Jackson图4)列出所有操作和条件,并且 把它们分配到程序结构图的适当位置5)用伪码标识程序第7章实现1、选择程序设计语言:1)系统用户的需求2)可以使用的编译程序3)可以得到的软件工 具4)工程规模5)程序员的知识6)软件可移植性要求7)软件的
6、应用领域2、集成测试:自顶向下集成需要存根程序;自底向上集成需要主控模版3、确认测试:Alpha和Beta测试4、白盒测试:测试被测单元内部如何工作的一种方法(语句、判定、条件、判定/条件、条件组合、路径覆盖)黑盒测试:着重测试软件功能,不关心测试过程,注重测试结果。(等价划分、边界值划分)5、白盒测试、黑盒测试的大题必考(实例见作业本)6、估算平均无故障时间的方法(实例见作业本):MTTF=It/K(Et-Ec);错误总数Bo=B1*B2/Bc(Et:测之前错误总数;It:程序长度;Ec:在一定时间内改正的错误;Ed:发现的错误)第8章:维护1、软件维护的四种类型:1)预防;2)完善;3)适
7、应性;4)改正性2、为什么维护比较困难?(见复习资料)3、正向工程:不仅从现有的程序中恢复设计信息,而且使用该信息去改变或重构现有系统, 以提高其整体质量。4、逆向工程:分析程序以便在比源代码更高的抽象层次上创建出程序的某种标识的过程。第10章面向对象分析1、对象模型、动态模型、功能模型及它们之间的关系:对象模型表示静态的、结构化的系 统的“数据”性质。动态模型表示瞬时的、行动化的系统的“控制”物质,它规定了对象模 型中对象的合法变化序列。功能模型表示变化的系统的“功能”性能,它指明了系统应该“做 什么”,因此更直接反映了用户对目标系统的需求。三个模型分别从三个侧面描述了所需开发的系统,它们互
8、相补充、互相配合,功能模型指 明了系统必须做什么,动态模型对定了什么时候做,而对象模型则定义了做事情的实体。2、设计问题域子系统、设计人机交互子系统、设计任务管理子系统、设计数据管理子系统 第13章软件项目管理1、工程网络图:Gantt图、工程网络、估算工程进度、关键路径、机动时间牙医预约数据流图:从牙科诊所管理系统的需求陈述得知,当进行预约时病人提供姓名、希望的就诊日期等 数据,系统查询预约登记表,以确定一个有效的就诊日期,此外,系统还将查询病人记录以获得病历号等病人数据。在每次预约诊治完成之后,应该更新预约登记表,以标记相应的预约诊治已经完成,必要时将约定下次就诊日期。诊所职员可以按照病人姓名和日期查询预约信息,也可以取消预约。此外,系统可以打印出每天和每周的工作安排给牙医。图7.4牙科诊所管理系统的数据流图银行数据流图:(复习资料)病人监护数据流图:D2 M日在图上5 ,留者监护系统的巾能缱数据流图