软件工程复习2021_第1页
软件工程复习2021_第2页
软件工程复习2021_第3页
软件工程复习2021_第4页
软件工程复习2021_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*软件工程专业*习*资什么是软工程?它的标和内容是什?软件工程是一种用科学知识和技术原理来定义发维护软件的一门学科软件工程是一门工程性学科目是成功的建一个大型软件系统谓成功是要达到以下几个目标付出较低的开发成本达要求的件功能;取得较好的软件性能发的软件易于移植;需要较低的维护费用能时完成发任务,及时交付使用;开发的软件可靠性高工研究的主要内容是软件开发技术和软件开发管理两方面软件开发技术中要究软件开发方法件开发过程件发工具和环境软件开发管理中要研究软件管理学、软件经济学、软件心理学等。软件文档的作用是提软件开过程的能见度高开发效率作开发人员阶段工作成果和结束标志记开发过程的关信息便于使用与维护供软件运行维和培训有关资料;便于用户了解软件功能、性能。件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)软件过程型:什么是瀑布模型(又叫作生命周模)?瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作瀑布流水最得到软件产品。核心想是按工序将问题化简,将功能的实现与设计分开分工协作即采用结构化的分析设计方法将逻辑实现与物理实现分开软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。增量模型的基本思想是什么?为了克服瀑布模型的局限性开发过程具有一定的灵活性和可修改性是生了增量模型。它是在瀑布模型的基础上加以修改而形成的。增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型规定在开始下一个阶段的工作之前须成前一阶段的所有细节而增量模型属于非整体发模型推迟某些阶段或所有阶段中的细节而较早的产生工作软件量型是在目的开发过程中以一系列的增量方式开发系统量方式包括增量开发和增量提交量发是指在项目开发周期内一定的时间间隔开发部分工

作软件量交是指在项目开周期内一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。快速原型型有几种?有何特点?根据原型的不同作用有三类原模型⑴探索型原型这类型的原型模型是把原型用于开发的需求分析阶段目的是要清用户的需求定所期望的特性并探索各种方案的可行性它要针对开发目标模糊户与开发着对项目都缺乏经验的情况通过对原型的开发来明确用户的需求实验型原型种原型主要用于设计阶段核实现方案是否合适,能否实现对一个大型系统若对设计方案心中没有把握时通这种原型来证实设计方案的正确性⑶化型原型这原型主要用于及早向用户提交一个原型系统原型系统或者包含系统的框或者包含系统的主要功能得到用户的认可后原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。快速原型模型的主要特点之一是早提供工作软件速原型技术适用于软件产品要求大量的用户交互产生大量的可视输出计一些复杂的算法等场合本路是:先给出一个系统的最初实现让户去使用和评价不断进行细化和改善经过多次这样的反复过程后形成最终的完善的系统。开抽描

建原系否

使原系是交系

系充吗软件生存周期一般可分为以下几个阶段:1)问定义:问题定义阶段必须回答的关键问题是“要解决的问题是什么?”,正确理解用户的真正需求。2)可行性研究:这个阶段要回答的关键问题是对上个阶段所确定的问题“有行得通的解决办法”可性研究阶段应该导出系统的高层逻辑模型确地估计系统的成本和效益。3)需分析:需求分析阶段的任务要确目标系统必须具备的功能出用户确认的系统逻辑模型。根据该系统逻辑模型,准确地回答“为了解决这个问题,目标系统必须做什么”。4)总体设计:也叫概要设计或初步设计。这个阶段必须回答的是“概括地说,应该如何解决这个问题总设计的目标是将需求分析阶段定义的系统模型转换成相应的软件结构规定软件的形态及各成分间的层次关系、界面及接口要求。5)详细设计:详细设计阶段的任务是把解法具体化也是“该怎样具体地实现这个系统。细设计亦即模块设计它在算法设计和结构设的基础上针对每个模块的功能、接口和算法定义计模块内部的算法过程及程序的逻辑结构,并编写模块设计说明。6)编码:这个阶段的任

务是据详细设计的结果选一种适合的程序设计语言详细设计的结果翻译成程序的源代码。测试以便尽早发现程序中的错误和缺陷而进行的一个过程,有单元测试、集成测试确测试和系统测试4种8)运行维护通各种必要的维护措施支持软件系统能持久地满足用户的需要。维护阶段是软件生存周期中花费精力和费用最多的阶段可行性研的任务是什?首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来然分员进行简要的需求分析抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性要开发项目的功能能制条件进行分析确定在现有的资源条件下,技术风险有多大项目是否能实㈡经济可行性进开发成本的估算以及了解取得效益的评估确定要开发的项目是否得投资开发社会可行性要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。计算机系统的软件要素中的软部件由程序、数据和过程软件=序+文档可行性分析文档(已经发放给大家)项目开发计划文档(已经发放给大家)需求分析段的基本任是什么?需求分析阶段的基本任务是要准确的定义新系统的目标了满足用户需要答统必须“做什么”的问题。本阶段要进行以下几方面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。㈡分析与综,导出软件的逻辑模型分析人员对获取的需求行致性的分析检查分综合中逐步细化软件功能,划分成各个子功能这也包括数据域进行分解分配到各个子功能上以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划软件需求工程的基本任务是准确地回软件系统必须做什么?这问题它系统工程和软件设计之间起到桥梁的作用户对软件需求的描述不精确导致软件危机为使用户需求逐步精细化使用需求工程中需求建模技术求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。需求建模的定义:用户需求逐步精细化全一致化,需求规格说明是软件工程测试的依据

需求模型建立需求规格说明书用户需求采例采用例UseCase)文或景Scenario等式明功能需求定义了开发者应提供的软件功能或服务,但不涉及这些功能或服务的实现。非功能需求则是对功能需求的补充,包括了对系统的各种限制和用户对系统的质量要求。需求分析常用的分析方法有:1基瀑布模型的结构化方法,结构化分析方法的分析策略是:自顶向下,逐层分解2基需求动态定义就的原型化方法3基对象的面向对象的方法:UML是软件开发中的一个重要工具于数据的数据流开发方法5面数据结构设计Jackson方给出三种结构.序结构,选择结构,重复结构面对的求析1Booch方法2Rumbaugh方法

3和Yourdon方法4Jacobson方法5Wirfs―Brock方6的OOA方(现在主流技基本都使用UML建模,其他很少使用技术可行分析对系统的要描述本系统有利于对学校教职工人员工资的发放和管理。与现有系比较的优越与传统的手工记账方式相比,据空间小、易于统计工资总额、易于更新、易于数据备份。

处理流程数据流程教

工提交个人信息终

出勤工资奖金查询工资表扣款清单人事处出勤情况

人变情财务处各工

部资

门条

工银

表行经济可行分析支出一次性支出:16.5万元➢端机1台:8000元➢务器2台及网络设备:70000元➢机一台元➢发环境的正版软件:17000元➢中:正版WindowsServer2003:5000元

正版MicrosoftSQLServer(企业10用户):12000元➢工使用培训费:5000元➢他费用:10000元➢发人员工资(开发时间为2个月,开发者按月领取工资5000元/人/月):50000元经常性支万元➢年的维护和升级费用:2000➢用周期为五年,共计:10000元➢可预知费用:15000元累计支出万元系统的投资成本总额为:16.5万元+2.5万元10.8238万元=29.8283万元收益现从事学校工资管理人员数量为人,该系统投入使用后,工作效率可大幅提高,从事该工作的人员可缩减为2人,工资按每人每月**元计算,每年可节省的工资为+++万元,银行年利率按5%计算,效益计算如下表:年份

将来收益值万)n

现在收益值万)

累计现在收益值(万元)第一年第二年第三年第四年第五年

+++++++++++++++

1.051.10251.15761.21551.2763

+++/1.05+++/1.1025+++/1.1576+++/1.2155+++/1.2763

+++/1.05???===系统的效益总额为===万元成本/收益分析在五年内,系统的总成本为29.8283万元,系统总收益为===万元。➢投资回收期:?年➢纯收益:===万元-29.8283万元???万元〉0从经济上考虑,开发本系统完全可行的。

社会因素行性分析法律方面可行性系统的研制和开,不会侵犯他人、集体和国家的利,会违反国家政策和法律。使用方面可行性系统的研制和开发充分考虑到用户的工资发放策略、管理流程和操作人员的素质等因素,可以满足用户的使用要求。同时,管理人员必须经过相关培训,掌握一定的计算机知识,能熟练使用系统以及进行日常维护。软件设计:传统的结构化方法将软件设计划分为体系结构设计设计设及过程设计四部分;结构化分析特点:自顶向下,逐步求精面向对象方法则将软件设计划分为体系结构设计设计∕数据设计接口设计构件级设计四部分。创建良好设计的原则1设应遵循抽象化的原则,包数据抽象和过程抽象2设应当遵循模块化的原则。3设应遵循信息隐蔽的原则。4模独立性5高聚,低耦合内聚性:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。功内聚一个模块中各个部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。这种模块就是功能内聚模块。功能内聚模块的模块独立性最强。层聚相关服务放在一起并严格的次结构,高层服务可访问低层服务之可如层结构。通内聚访问或操作同一数据的过程放在一个类中,这些过程可以互相通信。如某个类设计。顺内聚在一系列过程中一个过程向另一个过程提供输入过程放一起,形成顺序内聚。如面向对象系统中的消息序列。

过内聚一次调用的操作放在一个模块中是相关的且必须以特定次执行,则称这个模块为过程内聚模块在种模块内个操作的输出不一定是下一个操作的输入。如调用结构。时内聚:程序执行过程中同一阶段内完成的操作放在一起,达到时间内聚。实程序内聚辑上不能纳入其他内聚类型的相关实用程序放在一起成用程序内聚。如可复用的过程或类。耦合性耦是模块间互相连的紧密程度的度量决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。模块之间的耦合性越高其块立性就越弱模块的内聚性越高它与其他模块之间的耦合性就会降低,而模块独立性就越强。内耦合如果发生下列情形,模块间就是内容耦:一个模块直接访问另一个模块的内部数;公耦合若一组模块都访问同一个公共数据环境它之间的耦合就是公共耦合共数据环境可以是全局变量、全局数据结构、共享的通信区、内存的公共覆盖区等。控耦合一个过程通过标志、开关或命令显式地控制另一个过程的动作,就产生控制耦合。标耦合如果一组模块通过参数表传递结构或对意是单变量或结构中的某一分量就是标记耦合。数耦合如果模块之间的访问是通过数据参是控制参数构或对象参数共据结构)来交换输入、输出信息的,则称这种耦合为数据耦合。例调用耦合一个程序(或对象的操作)调用另一个程序(或另一个对象的操作),就产生例程调用耦合。类使用耦合类将实例变量或本地变量声明为另一个类的实例,就产生类型(嵌套)耦合。包/入耦合一个构件引入(import)一个包时就产生引入耦合,个构件包含)一个构件时,就产生包含耦合。外耦合模块对外部系统如操作系统共享库或硬件有依赖关系时就产生外部耦合通信息隐蔽减少这种依赖关系。面向对象的系统设计

与传统方法中的数据设计所不同的是向对象设计中的数据设计并不是独立进行的向对象设计中的类图相当于数据的逻辑模型,可以很容易地转换成数据的物理模型。人机交互部分的设计数库版)面向对象模型主要由以下哪些模型组成1对象模型描述对象、类、层次和关系,静态结构,其作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,以及它们之间的联系。–对模型包括类图2动态模型其作用是描述系统的控制逻辑,主要涉及系统中各个类和对象的时序及变化情况。时序图等3功能模型功能模型:描述系统的功能表方法:数据流图用例图概要设计阶段的基本任务是什么?⑴设计软件系统结构(简称软件结构),具体为:①采用某种设计方法,将一个复杂的系统按功能划分成模块②定每个块的功能③确定模块之间的调用关系确定模块之间的接口,即模块之间传递的信息。⑤评价模块结构的质量。⑵数据结构及数据库设计据结构的设计及数据库的设计编写概要设计文档。主要有:概要设计说明书库计说明书;用户手册;修订测试计划。⑷评审。详细设计的基本任务是什么?有哪几种描述方法?详细设计是软件设计的第二阶段基本任务有为每个模块进行详细的算法设计为模块内的数据结构进行设计对据进行物理设计即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输/输格式设计、人机对话设计;编写详细设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言PDL是一种用于描述模块算法设计和处理细节的语言工具。过程设计(详细设计)在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。对每个模块规定的功能以及算法的设计,给出适当的算法描述:图形工具:程序流程图,,PAD,HIPO表格工具:判定表语言工具:PDL,HIPOPAD图采用黑盒技术(功能测试)设计测试用例的方法及各自的特点。㈠等价类划分等类划分是将入数据域按有效的或无效也称合理的或不合理的划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析该法是将测试界情况作为重点目标取正好等于刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。

㈢错误推测错误推测法没有确的步骤凭验进行它基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图因果图能有效的检测入条件的各种组合可能会引起的错误果图的基本原理是通过画因果图用然语言述的功能说明转换为判定表后判定表的每一列设计一个测试用例。在网络中,sendfile命令用来送一个文件到不同的服务器Sendfile有个变量:变量1是发送者根目录的文件名2是接文件服务器的名称3是受方的用户useid。如果所有的变量是正确的那么文件成功发送则给发送者返回一个错误信息果因用1代变量1,2代表变量2,3代表变量,结果用100代表成功101代返回错误信息,请画出因果图并建立因果关系判定表。测试用例

1235678因果原因原因原因结果结果

123100101

11110

00001

10001

01001

00101

11001

10101

01101某“调整工资”处理模块接受一个“职称”的变量据职称的不助讲师教,教授作同的处理,其中若是教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。划分等价类:输入条件职称

合理等价类①教授②副教授③讲师

不合理等价类⑤四种职称之外任意一种⑥助教兼工龄等于职称兼工龄

④助教兼工龄大于2两年⑦教兼工龄小于两年

设计测试用例:输入数据

预期结果

覆盖范围教授副教授讲师助教3助教2助教1工程师

输入有效,进行调整工资处理输入有效,进行调整工资处理输入有效,进行调整工资处理输入有效,进行调整工资处理输入有效,不调整工资处理输入有效,不调整工资处理输入无效

①②③④⑥⑦⑤软件测试步骤,这些步骤的测试对象()元测试:测试对象对单元模块()成测试:测试对象为组装

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论