![软件工程背诵版_第1页](http://file4.renrendoc.com/view/c99bbebd686a3f0af0a5b9778e858048/c99bbebd686a3f0af0a5b9778e8580481.gif)
![软件工程背诵版_第2页](http://file4.renrendoc.com/view/c99bbebd686a3f0af0a5b9778e858048/c99bbebd686a3f0af0a5b9778e8580482.gif)
![软件工程背诵版_第3页](http://file4.renrendoc.com/view/c99bbebd686a3f0af0a5b9778e858048/c99bbebd686a3f0af0a5b9778e8580483.gif)
![软件工程背诵版_第4页](http://file4.renrendoc.com/view/c99bbebd686a3f0af0a5b9778e858048/c99bbebd686a3f0af0a5b9778e8580484.gif)
![软件工程背诵版_第5页](http://file4.renrendoc.com/view/c99bbebd686a3f0af0a5b9778e858048/c99bbebd686a3f0af0a5b9778e8580485.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
时间太短,范围太大,以下范围是最简版,只能作参考,如只看此文档,后果负责软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。软件危机主要包括的问题(两方面):①如何开发软件②如何维护软件软件危机的有主要原因:①与软件本身的特点有关②与软件开发与维护的方法不正确有关软件与硬件不同:①抽象性。②问题的隐蔽性软件与一般程序不同:①软件远比一般程序规模庞大,复杂性高②大型软件开发既有技术问题,还有社会问题产生产生软件危机的原因:①对用户需求的获取不正确②软件开发就是编写程序。③软件开发只要依靠个别编程高手就能完成。④轻视软件维护传统方法学的优点:①分解任务,分工合作,降低整个软件开发工程的困难②采用科学的管理技术和良好的技术方法对每个阶段成果都进行严格的审查。保证了软件的质量。传统方法学的缺点:把数据和操作人为地分离成两个独立的部分,增加了软件开发与维护的难度。软件生命周期:从需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。模型优点缺点瀑布模型规范,文档驱动系统可能不满足客户真正的需求快速原型克服了瀑布型的缺点增量模型开发早期回报明确,易于维护要求开放的软件体系结构螺旋模型风险驱动,适用于大型项目开发风险分析人员需要有经验且经过充分训练软件生命周期软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件生命周期12.喷泉模型使开发过程具有迭代性和无间隙性螺旋模型适合大型软件开发,在每个阶段都加入风险分析。瀑布模型比较适合开发需求明确的小型软件。RUP(统一软件开发过程)是一个面向对象且基于网络的程序开发方法论可行性研究(技术、经济、操作)的目的:用最小的代价在尽可能短的时间内确定问题是否能够并且值得解决。最根本任务是对以后的行动方针提出建议。可行性研究的过程:第一步:要进一步分析和澄清问题的定义,在问题定义阶段初步确定的规模和目标,正确的进一步确定,错误的及时改正。第二步:研究目前正在使用的系统。第三步:导出新系统的高层逻辑模型第四步:进一步定义问题第五步:导出和评价供选择的解法第六步:推荐行动方案第七步:草拟开发计划第八步:书写档案,提交审查可行性分析的描述手段:系统流程图、数据流图系统流程图:概括地描绘物理系统,表达数据在系统各部件之间流动的情况系统流程图:表达的是数据在系统各部件之间流动的情况21.数据流图:描绘数据在系统中流动的逻辑过程。数据流图的用途:1)利用它作为交流信息的工具;2)作为软件分析和设计的工具。数据字典:对数据流图中包含的所有元素的定义的集合;可行性研究阶段,数据流图与数据字典共同构成系统的逻辑模型。(实现:程序处理、卡片式人工书写)24.数据字典定义:1)数据流;2)数据元素(数据流分量);3)数据存储;4)处理。25.数据字典的用途1.作为分析阶段的重要工具;2.数据元素的控制信息非常有用;3.有助于开发数据库。26.成本/效益分析:主要包括成本估计和成本效益分祈。成本估计:一、开发成本估计技术二、运行费用估计软件系统本质上是信息处理系统,要考虑数据和数据处理的问题。29.需求分析的任务1、确定对系统的综合要求2、分析系统的数据要求3、导出系统的逻辑模型4、修正系统开发计划30.面向数据流自顶向下求精过程31.简易的应用规格说明技术:面向团队的需求收集,用户与开发者配合32.建立和修改原型的方法和工具:(1)第四代技术(2)可重用的软件构件(3)形式化规格说明和原型环境33・模型:(需要无歧义)通常由一组图形符号和组织这些符号的规则组成。实体关系图(Entity-RelationshipDiagram,E-R图):创建数据模型描述系统中数据对象及关系;数据流图(DataFlowDiagram,DFD):用来创建功能模型描述了信息流和数据转换。状态转换图(State-TransitionDiagram,STD):用来创建行为模型描述系统状态如何响应外部事件,而进行转换。(初态、终态、中间状态)对象模型(Objectmodel):定义实体,描述系统的静态结构,定义“对谁做”动态模型(Dynamicmodel):描述对象之间的交互过程,规定“何时做”功能模型(Functionalmodel):描述内部数据的处理,指明系统应“做什么”范式低,冗余大,范式高,分解得细,冗余小,但处理过程复杂。IPO图是输入处理/输出图,HIPO图=层次图+IPO图验证软件需求:一致性完整性现实性有效性39・概要设计(总体设计)重要性:1、站在全局高度,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构2、从中选出最佳方案和最合理的软件结构3、从而用较低成本开发出较高质量的软件系统设计的过程1、设想供选择的方案2、选择合理的方案3、推荐最佳方案4、功能分解5、设计软件结构6、数据库设计7、制定测试计划8、书写文档9、审查和复审每个模块完成一个特定的子功能接口:指模块的输入与输出。模块化好处:1、模块化使软件容易测试和调试,因而有助提高软件的可靠性。2、模块化能提高软件的可修改性。3、模块化有助于软件开发工程的组织管理。软件开发中的抽象:过程的抽象,数据的抽象抽象思想:在认识事物、分析和解决问题的过程中,忽略那些与当前研究目标不相关的部分,以便将注意力集中于与当前目标相关的方面。软件开发实际上就是一个从高层次抽象到低层次抽象逐步过渡的过程。逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。什么是模块独立性?模块只完成系统要求的相对独立的功能
47.48.模块的独立性很重要的原因:1)有效的模块化的软件比较容易开发出来2模块的独立性很重要的原因:1)有效的模块化的软件比较容易开发出来2)比较容易测试和维护。软件设计目标:低耦合、高内聚49.力求做到高内聚,尽量少用中内聚,不用低内聚。52.启发式规则53.SC(结构图)中的四种模块①改进软件结构,提高模块独立性②模块规模适中③深度、宽度、扇出和扇入适中④将模块的影响限制在53.SC(结构图)中的四种模块人机界面设设计过程64.人机界面设设计过程64.55.信息流可分为两种类型:变换型流、事务型流56.详细设计的根本目标是:确定应该怎样具体地实现所要求的系统(算法设计)。结构程序设计(SP):如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。结构化程序流程图通常由三种结点组成:1)函数结点2)谓词结点3)汇点结构化程序三种基本控制结构:顺序、选择、循环正规程序:1)具有一个入口线和一个出口线;2)对每一个结点,都有一条从入口线到出口线的通路通过该结点。人机界面应具备的特性:可使用性灵活性复杂性可靠性人机界面设计问题:①系统响应时间(长度、易变性)②用户帮助信息③出错信息处理④命令交互63.(1)图形工具:程序流程图(FC)、盒图(NS)、问题分析图(PAD)
(2)表格工具:判定表、判定树(3)语言工具:过程设计语言(PDL)用于描述功能模块的算法设计和处理细节的语言66.过程设计语言PDL优点:1) 可以作为注释直接插在源程序中间;2) 可以使用普通的正文编辑程序或文字处理系统来完成PDL的书写和编辑工作;3)现在已经有一些自动处理程序可以自动地把PDL生成程序代码。PDL的缺点:不如图形工具形象直观,不如判定表简单阶段需求分析结构化分析方法阶段需求分析结构化分析方法SA
StructuredAnalisys数据流图(DFD)数据词典(DD)加工逻辑说明工具:判定树、判定表、PDL概要设计结构化设计方法SD
StructuredDesign详细设计概要设计结构化设计方法SD
StructuredDesign详细设计结构化程序设计方法SP
StructuredProgramming67.68.69.变换分析事务分析 程序流程图(FG)盒图(NS)问题分析图(PAD)判定表、判定树縛聲化语言(PDL)!详细描述。程序建计语言度量法;MIcCabe度量法:又称环路度量法;Halstead的软件科学环路复杂性V(G)的计算方法:V(G)二判定结点数+1=E-N+2(E:边数 N:结点数)程序设计语言:是人和计算机通信的最基本的工具良好编码风格包括:程序内部应该有很好的文档;数据说明应易于理解和维护;语句结构尽可能简单直观输入输出风格遵守人机界面设计准则;效率满足用户需求即可在书写语句时,应通过采用递缩式格式使程序的层次更加清晰。构造语句时应该遵循的原则:使用标准的控制结构;尽可能使用库函数;不要为了节省空间而把多个语句写在同一行;尽量避免复杂的条件测试;尽量减少对“非”条件的测试;避免大量使用循环嵌套和条件嵌套;利用括号使逻辑表达式或算术表达式的运算次序清晰直观。程序的效率:是指程序的执行速度及程序所需占用的内存的存储空间。源程序的效率直接由详细设计阶段确定的算法的效率决定。软件测试:是为了发现错误而执行程序的过程,它不能表明软件中不存在错误,只能说明软件中存在错误。群集现象:80%的错误可能是由20%的模块造成的软件测试方法:静态测试、动态测试(黑盒法、白盒法)黑盒测试(功能测试):检验是否每个功能都能正常使用白盒测试(结构测试):知道软件内部工作过程,可以通过测试来检验软件内部动作是否按照规格说明书的规定正常进行82.测试的4个步骤:
单元(模块)测试;集成测试(子系统和系统测试);确认(验收)测试;平行运行测试方法:白盒测试为主,黑盒测试为辅,多个模块并行进行。83.单元测试测试目的:发现模块内部可能存在的差错83.单元测试测试目的:发现模块内部可能存在的差错测试依据:详细设计说明书和源程序清单MTTF1=£(T)二一rK[E/I-E(T)/I]TTcT测试重点:①模块接口测试②局部数据结构测试④错误处理测试⑤边界测试通常代码审查和机器测试结合使用自顶向下的渐增方式:它需要存根程序,但是不需要驱动程序。自底向上的增殖方式:不再需要存根程序,需要驱动模块。确认测试一般使用黑盒测试法。只有当a测试达到一定的可靠程度时,才开始B测试。几种黑盒测试技术:等价类划分、边界值分析、错误推测法、因果图软件工程发展的两个重要阶段:传统软件工程、面向对象软件的工程传统软件工程:面向过程的结构化程序设计;程序=数据结构+算法;由“追求技巧与效率”到“清晰第一,效率第二”缺点:a) 不太适应规模大、特别复杂的项目;b) 难以解决软件重用的问题;c) 难以适应需求的变化;d) 难以彻底解决维护问题。93・面向对象=对象+类+继承+消息通信对象是系统中用来描述客观事物的实体,是构成系统的基本单位。由一组属性和相关操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股权质押申请书
- 初级银行管理-银行专业初级《银行管理》押题密卷8
- 初级银行管理-银行专业初级《银行管理》点睛提分卷6
- 初级公司信贷-2021年6月初级银行从业资格考试《公司信贷》真题
- 运费上涨申请书
- 2025年春江苏开放大学财务报表分析作业答案
- 提高公共厕所的清洁维护
- 经济合作社发运协议书(2篇)
- 6.3 整数加法运算定律推广到小数 四年级下册数学同步练习(含答案)
- 湖南省岳阳市云溪区2024-2025学年高一上学期11月期中考试物理试题(解析版)
- 北京体育职业学院《机器人操作系统》2023-2024学年第二学期期末试卷
- 江苏省盐城市鹿鸣路初级中学2024-2025学年八年级上学期期末考试语文试题(含答案)
- 《反家庭暴力》课件
- 【物理】《跨学科实践:制作简易杆秤》(教学设计)-2024-2025学年人教版(2024)初中物理八年级下册
- 新苏教版一年级数学下册第六单元《简单的数量关系(一)》教案(共2课时)
- 2025年春新外研版(三起)英语三年级下册课件 Unit2第2课时Speedup
- GA/T 2146-2024法庭科学涉火案件物证检验移动实验室建设通用要求
- 2025年浙江省国土空间规划研究院招聘历年高频重点提升(共500题)附带答案详解
- 2024-2025学年成都市石室联中七年级上英语期末考试题(含答案)
- 2025年度服务外包合同:银行呼叫中心服务外包协议3篇
- 7.1力教学课件-2024-2025学年初中物理人教版八年级下册
评论
0/150
提交评论