![淮南师范学院-软件工程考试版复习资料_第1页](http://file4.renrendoc.com/view/ca182344bb6c58721f575d4504aaf691/ca182344bb6c58721f575d4504aaf6911.gif)
![淮南师范学院-软件工程考试版复习资料_第2页](http://file4.renrendoc.com/view/ca182344bb6c58721f575d4504aaf691/ca182344bb6c58721f575d4504aaf6912.gif)
![淮南师范学院-软件工程考试版复习资料_第3页](http://file4.renrendoc.com/view/ca182344bb6c58721f575d4504aaf691/ca182344bb6c58721f575d4504aaf6913.gif)
![淮南师范学院-软件工程考试版复习资料_第4页](http://file4.renrendoc.com/view/ca182344bb6c58721f575d4504aaf691/ca182344bb6c58721f575d4504aaf6914.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是软件?软件是能够完成预定功能和性能,可执行计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用文档。(程序+数据+文档)软件的特点?①软件是一种逻辑实体, 而不是有型的系统元件。②软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大③软件的使用没有硬件那样的机械磨损和老化问题软件工程:软件工程是为经济地获取能够在实际机器上有效的可靠地软件而建立和使用的一套合理的工程原则。软件生存周期:指软件产品或软件系统从生产、投入到被淘汰的全过程。具体过程如下: 1软件计划(软件计划任务书)2需求分析(需求规格说明书)3软件设计(软件设计报告)4编码(源程序、可执行程序)5软件测试(测试报告、测试记录)6维护(维护报告)软件过程:软件过程是软件生存周期中的一系列相关的过程软件开发模型:1•瀑布模型:①接受上一阶段活动的结果作为本阶段活动的输入②依据上一阶段活动的结果实施本阶段应完成的活动③对本阶段的活动进行评审④将本阶段活动的结果作为输出,传递给下一阶段。2.演化模型:从结构初期的原型出发,逐步将其演化成最终软件产品的过程,演化模型特别适用于对软件需求缺乏准确认识的情况 3.增量模型:将软件的开发过程分成若干个日程时间交错的线序列,每个线序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品,增量模型融合了瀑布模型的基本成分和演化模型的迭代特点, 特别适用于需求经常发生变化的软件开发。4.原型模型:开发人员和用户在原型上达成一致,缩短了开发周期,加快了工程进程,降低成本。5.螺旋模型:将原型实现的迭代特征与瀑布模型中控制的和系统化的方法结合起来,不仅体现了这两种模型的优点而且增加了风险分析。 6.喷泉模型:喷泉模型在面向对象的方法中,分析模型和设计模型采用相同的符号表示体系, 开发的各个活动没有明显的边界,各个活动经常重返,迭代的交替进行。 7.基于构建的开发模型:基于构建的开发是指利用预先包装的构件来构造应用系统,构件可以是组织内部的开发的构件,也可以是商品化的,现存的软件构件。 8.形式化方法模型:形式化方法是建立在严格数学基础上的一种软件开发方法,易于发现需求的歧义性,不完整性和不一致性, 易于对分析模型,设计模型,程序模型进行验证。软件的分类:①系统软件(系统软件居于计算机系统中最靠近硬件一层,其他软件一般都通过系统软件的发挥作用。如: OS)②支撑软件(支撑软件是支撑的开发和维护的软件如:DBMS)③应用软件(应用软件是特定应用领域专用的软件。如:人工智能)软件危机:指计算机软件在开发和维护的过程中所遇到的一些列严重问题。 2.危机表现:应用需求的发展,造成了软件的规模、功能的扩增,带来了软件复杂性的增大。形成原因:①软件需求不够明确②缺乏软件开发的经验和资料积累③开发过程没有统一的 ,公认的方法论和规范④未能在测试阶段充分做好检测工作。解决途径:用现代工程的概念、 原理、技术和方法进行计算机软件的开发、管理、维护和更新软件生成周期各阶段的任务:①计算机系统工程:确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析。②需求分析:需求分析解决待开发软件做什么的问题,确定软件的功能,性能,数据等要求,生成软件需求规约③设计:设计软件系统的体系结构,详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法④编码:用某种语言将设计的结果转换为可执行性的程序代码。⑤测试:发现并纠正软件中的错误和缺陷。需求分析的原则:(1)必须能够表示和理解问题的信息域(2)必须能够定义软件将完成的功能(3)必须能够表示软件的行为(4)必须划分描述数据、功能、行为的模型,从而分层次的揭示细节(5)分析工程应从要素信息移向细节信息软件设计基本原则:(1)抽象与逐步求精(2)模块化(3)信息隐蔽(4)模块独立软件的需求分析:用比较形式化的语言和分析技术对将要开发的软件进行模型的抽象分析,也即对用户所期望的软件系统的功能,行为,设计约束等方面进行详细的分解和描述,获得用户所需软件系统需求的规格说明书的过程需求分析的过程:①需求获取:系统分析人员通过与用户的交流,对现有系统的观察及任务进行分析②需求分析与协商:分析每个需求与其他需求的关系以检查需求的一致性,重叠和遗漏情况,并根据用户的需求进行排序。③系统建模:通过合适的工具与符号系统的描述需求④需求规约:给出对目标软件的各种需求⑤需求验证:对功能的正确性⑥需求管理:对需求工程所有相关活动的规划和控制。基于计算机系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列,组成基于计算机系统元素有:软件,硬件,人员,数据库,文档和规程。系统工程的主要任务:①识别用户的要求②系统建模和模拟③成本估算及进度安排④可行性分析⑤生成系统规格说明可行性分析:①经济可行性(成本,效益,货币的时间,投资回收期,纯收入)②技术可行性(风险分析,资源分析,技术分析)③法律可行性(确定系统开发可能导致的任何侵权妨碍和责任)④方案的选择和折衷项目:项目是为了完成某具体的产品或服务所做的一次性努力,其中涉及到一些关系人员,由他们完成相互关联的活动,项目发起人希望能够有效地利用资源的基础上, 及时,有效的完成任务。14.项目管理:指在项目活动中运用专门知识的,技能,工具和方法,使项目能够实现或超过项目关系人的需要和期望。项目关系人:及参与项目和受项目影响的人,包括:项目发起人,项目组,协助人员,顾客,使用者,供应商甚至是项目反对人。项目成功具体表现:1.付出较低的开发成本2.达到要求的软件功能3.取得较好的软件性能4.开发的软件易于移植5.需要较低的维护费用6.能按时完成开发工作,及时交付使用项目估算的方法:(1)基于已经完成类似项目进行估(2)基于分解技术进行估算(3)基于经验估算模型的估算17.数据字典:用来定义数据流图中各个成分的具体含义,它以一种准确的无二义性的说明方式,为系统的分析,设计及维护提供了有关元素的一致性的定义和详细设计19.软件设计的原则:抽象与逐步求精,模块化,信息隐藏,模块独立软件设计的任务:抽象与逐步求精,模块化,信息隐藏,模块独立软件设计的过程:是软件过程是软件生存周期中的一系列相关的过程。制定规范;体系结构和接口设计;数据/类设计;部件级设计,编写设计文档;设计评审软件设计分为:(1)数据设计(2)体系结构设计(3)接口设计(4)过程设计一个系统分析人员应该具备哪些思想素质和基础知识?答:①能够熟练的掌握计算机硬件, 硬件知识,具备系统开发经验②善于进行抽象思维和创造性思维,善于把握抽象概念,并把它重新整理成各种逻辑成分,并给出简明清晰的描述③善于从相互冲突或混淆的原始资料中抽出恰当的条目④善于进行调查研究, 能够很快的学习用户专业领域知识,理解用户中的环境条件⑤能够倾听他人意见⑥具有良好的书面和口头交流表达能力程序设计风格:<一>源程序文档化(1)标识符的命名(2)程序的诠释(3)视觉组织<二>数据说明方式:(1)数据说明次序规范化(2)说明语句中变量安排有序化(3)使用注释说明复杂的数据结构<三>语句结构(1)一行内只写一条语句(2)首先考虑清晰性(3)直截了当说明程序员的用意<四>输入输出规范化(1)保持输入格式的简单化(2)设计良好的输出格式,并给所有输出数据加注释16.软件测试的目的:发现软件中的错误和缺陷,并加以纠正。测试的基本原则:①所有测试都应追溯到客户的需求②应该在测试工作正式开始前的较长时间就进行测试计划。③Pareto原则可用于软件测试④测试应从小模块开始, 逐步转向大规模⑤由独立的第三方来承担测试20•面向对象与面向对象的数据流的比较: ①OOA可以更好的在软件设计的下一阶段复用前一阶段的成果,让开发出来的软件有更强的适用性,反复性,利于进一步的软件维护和修改,但前提是OOA设计与分析一定要到位,数据流相对的更为直观,且在小型软件项目中可以更快速的建立整个需求与底层数据库的设计也比较容易保持一致。②适用的场景: OOA适用于大型软件,并且更好的是那种需要不断更新维护,不断发展深化的软件项目。数据流分析则比较适合于小型项目,一次性买卖,不利于软件的扩充与维护。IPO图是对每个模块进行详细设计的工具,它是输入,加工和输出,是一种数据流图,在结构化,程序分析过程中,数据流图是分析起步的关键,并可以作为设计规划出模块的依据而流程图表示程序逻辑过程计算机系统的元素主要有:软件,硬件,人员,数据库,文档和规程。系统工程主要任务:识别用户的要求,系统建模和模拟,成本付算改进度安排,可行性分析,生成系统规格说明软件测试的目的:发现软件中的错误和缺陷,并加以纠正。测试的基本原则:①所有测试都应追溯到客户的需求②应该在测试工作正式开始前的较长时间就进行测试计划。③Pareto原则可用于软件测试④测试应从小模块开始, 逐步转向大规模⑤由独立的第三方来承担测试。需求分析的原则:①必须能够表示和理解问题的信息于②必须能够定义软件将能完成的功能③必须能够表示软件的行为④必须划分描述数据, 功能和行为模型,从而可以分层次地揭示细节⑤分析过程应该从要素信息移向细节信息基于构件的开发:领域工程+应用系统工程。基于形式化的模型 1.基于模型的规格说明及其变换技术2.基于代数结构及其变换技术3.基于时序逻辑的规格说明和验证技术 4.基于可视形式化技术白盒测试(逻辑覆盖测试,基本路径测试,数据流测试和循环测试) :称结构测试,这种方法是把测试对象看做一个透明的盒子,测试人员根据程序内部的结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确的工作。 黑盒测试(等价类划分,边界值分析,比较测试,错误猜测和因果图方法):称为行为测试,这种测试的方法把测试对象看做一个黑盒子,检测人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求变换模型:基于形式化规格说明语言及程序变化的软件开发模型。分类:其技术分类:(1)基于模型的规格说明语言及其变换技术(2)基于代数结构的规格说明语言及其变换技术3)基于时序逻辑的规格说明语言及其变换技术( 4)基于可视形式化技术的规格说明简述CASE工具和环境的重要性答:CASE已被证明可以加快开发速度,提高应用软件产生率并保证应用软件的可靠品质,计算机专业人员利用计算机使他们的企业提高了效率,企业的各个部门通过使用计算机提高了生产率,增强了企业的竞争力,并使之带来了更多的利润什么是回归测试?在集成测试过程中,每当增加一个或一组新模块式,原先已经集成的软件就发生了改变,新的数据流路径被建立新的I/O操作可能出现,可能激活新的控制逻辑,这些改变可能是原本正常的功能产生错误。回归测试就是对已经进行过的测试的子集的重新执行。以确保对重新的改变和修改,没有传播非故意的副作用简述面向对象的设计过程。答:面向对象设计的一般步骤: 1)系统设计A•将子系统分配到处理器B•选择时下数据管理界面支持和任务管理的设计策略。 C.为系统设计合适的控制机制。 D•复审并考虑,权衡。2)对象设计A•在过程级别设计每个操作。 B•定义内部类。C.为类属性设计内部数据结构。3)消息设计A•使用对象间的协作和对象关系模型。 设计消息模型。4)复审A•对设计模型进行复审,并且在需要的时候进行迭代什么叫模块独立?为什么要模块独立性?:模块完成独立的功能并且与其他模块的接口简单,符合信息隐蔽和模块间关联小和依赖程度小。原因 ;a.功能被划分,并且接口被简化,所以具有有效模块化软件易于开发 b.由于因设计和编码修改引起的副作用受到局限, 模块复用成为可能,所以独立的模块更易于维护和测试。总之,独立模块是良好设计的关键,从而保证质量的关键自顶向下和自底向上渐增测试优缺点: 1.优:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。缺:需要存根程序,底层错误发现转换。 2.优:不需要桩模块,因此比较容易组织测试,分解成若干个簇,对同一层簇可并行进行测试,提高了测试效率;缺:每个簇都只是整个程序的一部分,因此整体性错误发现晚。软件测试步骤,每个步骤与什么文档有关?(测试策略)1单元测试(模块测试)集中对每一个源代码实现的每一个程序单元进行测试,相关文档详细设计说明书;2集成测试(系统/子系统测试)把已测试的模块组装起来, 主要对于设计相关的软件体系结构构造进行测试,与其相关的文档是集成测试设计和软件需求说明书; 3确认测试(验收)检查又实现的软件是否满足了需求格式说明书确定的各种需求配置是否完全正确;4系统测试(用户指南,使用手册)已确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年河北省唐山市高一上学期期中考试历史试卷
- 2025年债务纠纷导致离婚协议书策划模板
- 2025年企业暂时性停止劳动合同样本
- 2025年策划复婚关系解除协议书样本
- 2025年涤纶短纤项目申请报告模稿
- 2025年农产品加工与合作协议书
- 2025年水苏糖项目立项申请报告模板
- 建筑工地外部协作单位安全合作协议书
- 2025年信息技术服务合同续签
- 2025年住宅区物品存放室租赁合同范文
- 睡眠障碍护理查房课件
- 应急物资的采购、存储与调配
- 超融合架构与传统架构对比解析方案
- 少儿美术课件- 9-12岁 素描班《场景素描》
- 剪映:手机短视频制作-配套课件
- 金融工程.郑振龙(全套课件560P)
- 血液透析的医疗质量管理与持续改进
- 桥式起重机日常检查保养记录表
- 五年级小数乘法竖式计算300道(可直接打印)
- 英语演讲技巧和欣赏课件
- 物流托运单模板
评论
0/150
提交评论