ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:323.51KB ,
资源ID:18421597      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18421597.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程复习Word文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程复习Word文档下载推荐.docx

1、a. 原型模型:开发人员和用户在“原型”上达成一致,缩短了开发周期,加快了工程进度,降低成本。三种类型探索型 实验型演化型两种策略废弃策略:探索型 实验型追加策略:i. 螺旋模型:将原型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点,而且增加了风险分析。3、喷泉模型:是一种支持面向对象开发的过程模型4、基于构件的开发模型:利用预先包装的构件来构造应用系统。5、形式化方法模型:易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。9、CASE 工具与环境计算机辅助软件工程:是指使用计算机及相关的软件工具辅助软件开发 维护 管理等过程

2、各项活动的实施,以确保这些活动能高效 高质量地进行。10.简述CASE工具和环境的重要性。 CASE已被证明可以加快开发速度,提高应用软件生产率并保证应用软件的可靠品质。计算机专业人员利用计算机使他们的企业提高了效率,企业的各个部门通过使用计算机提高了生产率和效率,增强了企业的竞争力并使之带来了更多的利润。 第二章 系统工程1.计算机系统元素:软件、 硬件、 人员、 数据库、 文档和 规程2.系统工程的任务1识别用户要求2系统建模和模拟3成本估算和进度安排4可行性分析:经济 技术 法律5生成系统规格说明3.可行性分析(主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和

3、时间的约束下完成。)1经济可行性分析:成本,效益(经济效益,社会效益),货币的时间价值,投资回收期,纯收入)2技术可行性分析:风险分析,资源分析,技术分析3法律可行性分析第3章 需求工程1、需求工程的重要性是什么? 可以确定客户需求、帮助分析人员理解问题、评估可行性、协商合理的解决方法、无歧义的规约方案、确认规约以及将规约转换到可运行的系统时的管理要求。2、需求工程的六个阶段1需求获取:系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分析。2需求分析和协商:分析每个需求与其他需求的关系以检查需求的一致性、重叠和遗漏的情况,并根据用户的需求对需求进行排序。3系统建模:通过合适的工具和符

4、号系统地描述需求。4需求规约:给出对目标软件的各种需求。5需求验证:对功能的正确性、完整性和清晰性以及其他需求给予评价。6需求管理:对需求工程所有相关活动的规约和控制。第4章 设计工程1、简述模块、模块化及模块化设计的概念1模块: 是数据说明、可执行语句等程序对象的集合,是单独命名的,并且可以通过名字来访问的2模块化: 是指把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件3模块化设计: 就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系软件设计: 把软件需求变

5、换成软件表示过程,它主要包含两个阶段:软件体系结构设计阶段和部件级设计。其它阶段:数据/类设计,接口设计2、软件设计的任务1数据/类设计:将分析类模型变换成类的实现和软件实现所需要的数据结构2体系结构设计:定义了软件的整体结构3接口设计: 描述了软件内部、软件和协作系统之间以及软件同人之间如何通信 4部件级设计: 将软件体系结构的结构性元素变换为对软件部件的过程性描述3、软件设计的原则:抽象与逐步求精、模块化和信息隐藏抽象的过程是从特殊到一般的过程,上层概念是下层概念的抽象,下层的概念是上层概念的精化和细化。软件设计中的抽象手段有:过程抽象和数据抽象。1. 功能独立:标志是内聚和耦合模块的独立

6、性可以由两项指标来衡量:内聚度与耦合度 1内聚:是一个模块内部各个元素彼此结合的紧密程度的度量 a. 功能内聚:指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联 系,不可分割。b. 顺序内聚:指一个模块完成多个功能,这些功能又必须顺序执行。c. 通信内聚:指一个模块内所有处理元素都集中在某个数据结构的一块区域中。d. 过程内聚:指一个模块完成多个任务,这些任务必须指定的过程执行。e. 时间内聚:指一个模块中的所有任务必须在同一时间段内执行。f. 逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时,由传送 给模块的控制性参数来确定该模块应执行哪一种功能g. 巧合内聚:2耦

7、合:是模块之间的相对独立性(互相连接的紧密程度)的度量 a. 非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的b. 数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制 参数、公共数据结构或外部变量) 来交换输入、输出信息的c. 标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一 数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址d. 控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选 择另一模块的功能,就是控制耦合e. 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结

8、构,而且不 是通过参数表传递该全局变量的信息,则称之为外部耦合f. 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公 共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存 的公共覆盖区等g. 内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模 块时就发生了内容耦合总结: 模块之间的连接越紧密,联系越多,耦合性就越高,而其模块独立性就越弱 一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高 模块独立性比较强的模块应是高内聚低耦合的模块 耦合是直接的主导因素,内聚则辅助耦合共同对模块的独立性进行衡量4、体系结构发展过程a. 单主机结构b.

9、C/S(Client/Server)结构c. B/S(Browser/Server)结构d. C/S和B/S混合结构 5、部件级设计技术(概要设计) 在结构化分析和设计方法时部件往往被称为 模块 在面向对象分析和设计时部件被称为类,在基于构件的开发方法中,部件被称为构件。1. 部件级设计技术任务:a.确定部件采用算法b.确定部件使用的数据结构c.写入部件设计说明书2. 结构化程序设计方法概念:如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连结,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。目的:使程序代码容易阅读、容易理解。3. 表达算法工具a. 语言描述b

10、. 表格描述c. 图形表示法:流程图:独立于任何一种程序设计语言,比较直观、清晰、易于学习掌握1PAD:Problem Analysis Diagram的缩写 ,由程序流程图演化而来五种基本控制结构 a. PAD所描述程序的层次关系表现在纵线上,每条纵线表示一个层次,把PAD图从左到右展开b. PAD的执行顺序: 从最左主干线上端的结点开始,自上而下执行; 每遇到判断或循环,就从左到右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处PAD事例:例题:有一个表A(1)、A(2)、.A(n),按递增顺序排列。给定一个Key值,在表中用折半法查找。若找到,将表位

11、置i送入x,否则将零送到x,同时将key值插入表中。算法: (1)置初值H=1(表头),T=N(表尾)。 (2)置i=(H+T)/2(取整)。 (3)若Key=A(i),则找到,i送到x;若KeyA(i),则Key在表的后半部分,i+1送入H;若KeyT为止。 (4)查不到时,将A(i),.A(N)移到A(i+1).A(N+1),Key值送入A(i)中。第5章 结构化分析和设计1.结构化方法: 结构化分析(Structured Analysis 简称SA) 结构化设计(Structuresd Design 简称SD)结构化程序设计(Structured Programming 简称SP)2.自

12、顶向下的过程是分解的过程;自底向上的过程是抽象的过程。3.结构化分析方法的分析结果包括:一套分层的数据流图、一本数据字典(包括E-R图)、 一组加工规约以及其他补充材料。4.数据流图:描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模基本图形元素 数据流(data flow):带箭头横线 加工(process):至少有一个输入和输出:圆形 文件(file): 源或宿:长方形1. 源或宿:存在于软件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此也称为源点和终点源或宿用相同的图形符号表示:a. 当数据流从该符号流出时表示是源b. 当数据流流向该符号时表示是

13、宿c. 当两者皆有时表示既是源又是宿2. 加工:描述输入数据流到输出数据流的变换1每个加工用一个定义明确的名字标识2至少有一个输入数据流和一个输出流3可以有多个输入数据流和多个输出数据流3. 文件:保存数据信息的外部单元1每个文件用一个定义明确的名字标识2由加工进行读写3DFD中称为文件,但在具体实现时可以用文件系统实现也可以用数据库系统等实现4. 每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识数据流图的层次结构数据流的流向:1从一个加工流向另一个加工2从加工流向文件(写文件)3从文件流向加工(读文件)4从源流向加工5从加工流向宿数据流图的各个层次:1顶层图(0曾图):1张只

14、有代表整个软件系统的1个加工,描述了软件系统与外界(源或宿)之间的数据流顶层图中的加工经分解后的图称为0层图(只有1张)2中间层图:中至少有一个加工(也可以有多个)在下层图中分解成一张子图3底层图:处于最底层的图称为底层图,其中所有的加工不再分解成新的子图5. 分层数据流图的一致性父图子图平衡数据守恒局部文件一个加工的输入和输出数据库不能同名6. 分层数据流图的完整性a. 每个加工至少有一个输入数据流和一个输出数据流b. 在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件c. 分层数据流图中的每个数据流和文件都必须命名(除了流入或流出文件的数据流),并保持与数据字典的一

15、致 a) 分层DFD中的每个基本加工(即不再分解子图的加工)都应有一个加工规约7. 数据字典1) 字典条目a. 数据流b. 文件c. 数据项(组成数据流和文件的数据)d. 加工e. 源或宿 2) 描述符号5.描述基本加工的小说明加工逻辑的描述方法:a. 结构化语言:介于自然语言和形式语言之间的一种半形式语言b. 判定表(p90):适用于加工逻辑包含多个条件,而不同的条件组合需做不同的动作c. 判定树(p91):判定表的变种,它本质上与判定表是相同的,只是表示形式不同6. 结构化需求:数据流图结构化设计:软件结构图7.结构图将结构化分析得到的数据流图映射成软件体系结构的一种设计方法深度:程序结构

16、图中控制的层数宽度:程序结构图中同一层次上模块总数的最大值扇出:该模块直接调用的模块数目擅入:能直接调用该模块的模块数目启发式设计策略a.改造程序结构图,降低耦合度,提高内聚度b.避免高扇出,并随着深度的增加,力求高扇入c.模块的影响范围应限制在该模块的控制范围内d.降低模块接口的复杂程度和冗余程度,提高一致性e.模块的功能应是可测的,避免对模块施加过多限制f.尽可能设计单入口和单出口的模块单入口和单出口的模块能有效地避免内容耦合,因此在结构化设计时应尽量将模块设计成单入口和单出口。8. 数据流图到软件体系结构的映射第13章 软件测试1.软件测试概念:为了证明程序是正确的,即测试能发现程序中所

17、有的错误1) 软件目的:发现软件中的错误和缺陷,并加以改正。2) 软件测试的基本原则:a. 所以测试都可以追溯到客户需求b. 应该在测试工作开始前较长一段时间就做测试计划c. 测试的模板发现的错误越多潜藏的错误可能越多d. 测试应从小到大规模测试e. 穷举测试不可能f. 最好是第三方来测试3)测试用例:由测试输入数据和预期结果组成2.白盒测试:把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有 关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确 地工作语句覆盖:被测程序的每个可执行语句都至少执行一次判定覆盖:被测程序的每个判定的所有可能结果都至少执行一次(即判定的每

18、个分支至少经过一次)条件覆盖:被测程序的每个判定中的每个条件的所有可能结果都至少出现一次判定/条件覆盖:测程序的每个判定的所有可能结果都至少执行一次,并且,每个判 定中的每个条件的所有可能结果都至少出现一次条件组合覆盖:被测程序的每个判定中条件结果的所有可能组合都至少出现一次路径覆盖:被测程序的每条可能执行到的路径都至少经过一次(如果程序中包含环路,则要求每条环路至少经过一次)3.黑盒测试:把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和 内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的 功能需求等价类划分:指输入域的某个子集,该子集中的每个输入数据对揭露软件中

19、的错误 都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测 试a. 有效输入数据:指符合规格说明要求的合理的输入数据,主要用来检验程序是否实现了规格说明中的功能b. 无效输入数据:指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事用等价类划分法设计测试用例的实例:某编译程序的规格说明中关于标识符的规定如下: 标识符是由字母开头,后跟字母或数字的任意组合构成;标识符的字符数为18个;标识符必须先说明后使用;一个说明语句中至少有一个标识符;保留字不能用作变量标识符。边界值分析:专门挑选那些位于边界附近的值(即正好等于、或刚刚大于、或刚刚 小于边界的值)

20、作为测试用例4、测试策略V模型:描述软件开发各阶段与测试策略之间的对应关系。1. 一种测试策略就是将测试分为:a. 单元测试:是针对程序中的模块或构件,主要揭露编码阶段产生的错误。b. 集成测试:针对集成的软件系统,主要揭露设计阶段产生的错误。c. 确认测试:是根据软件需求规约对集成的软件进行确认,主要揭露不符合需求规约的错误。d. 系统测试:对于基于计算机系统中的软件,还需将它集成到基于计算机系统中,并进行系统测试,以揭露不符合系统工程中对软件要求的错误。2. 单元测试过程1单元测试通常与编码工作结合起来进行。2模块本身不是一个独立的程序,在测试模块时,必须为每个被测模块开发一个驱动(dri

21、ver)程序和若干个桩(stub)模块。 驱动模块:接收测试数据,调用被测模块,把测试数据传送给被测模块,被测模块执行后,驱动模块接收被测模块的返回数据,并打印相关结果 桩模块的功能:是替代被被测模块调用的模块,它接受被测模块的调用,验证入口信息,把控制连同模拟结果返回给被测模块3. 集成测试:经单元测试后,每个模块都能独立工作,但把它们放在一起往往不能正常工作1) 非增量式集成2) 增量式集成a. 自顶向下集成:(桩模块)深度优先测试:广度优先测试:b. 自底向上集成:(驱动模块)4. 确认测试:确认测试以软件需求规约为依据,以发现软件与需求不一致的错误a. 主要检查软件是否实现了规约规定的

22、全部功能要求,文档资料是否完整、正确、合理,其他的需求,如可移植性、可维护性、兼容性、错误恢复能力等是否满足a. 确认测试的结果可分为两类:满足需求规约要求的功能或性能特性,用户可以接受。 发现与需求规约有偏差,此时需列出问题清单。5. 系统测试:系统测试是对整个基于计算机的系统进行的一系列测试6. 调试:目的是确定错误的原因和准确位置,并加以纠正调试方法:1. 蛮力法:是一种最省脑筋但又最低效的方法 2. 回溯法:是从错误的征兆出发,人工沿着控制流程往回跟踪,直至发现错误的根 源 3. 原因排除法:又可分为 归纳法 和 演绎法第15章 软件维护1. 软件维护:软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程。2. 维护的分类(从优先级别从高-低)1纠错性维护2适应性维护3改善性维护4预防性维护3. 维护的过程1建立维护组织2确定维护过程3保管维护记录4进行维护评价4. 影响软件可维护性的因素1可理解性2可测试性3可修改性4可移植性5. 提高可维护性的方法1确定质量管理目标和优先级2使用提高软件质量的技术与工具3选择可维护性高程序设计语言4完善程序文档5进行质量保证审查6. 4种类型的软件审查1在检查点进行复审2验收检查3周期性地维护审查4对软件包进行检查

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1