欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程课程作业.doc

    • 资源ID:35104743       资源大小:53KB        全文页数:33页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程课程作业.doc

    软件工程作业及解答第一章 软件工程概述1.简述软件发展过程。     答:计算机软件发展经历了三个阶段:(1)程序设计阶段,约50至60年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段,约70年代以后。各个时期软件开发特点见课本第7页表1.3。2.简述软件定义及特点。    答:软件是计算机系统中及硬件相互依存另一部份,它是包括程序、数据及其相关文档完整集合。        特点见课本第1页至第3页。3.简述软件种类。    答:见课本第3页至第6页。4.什么叫软件危机?    答:在软件发展第二阶段,随着计算机硬件技术进步,计算机容量、速度与可靠性有了明显提高,生产硬件成本降低了。计算机价格下跌为它广泛应用创造了极好条件。在这一形式下,要求软件能及之相适应。然而软件技术进步一直未能满足形式发展提出要求。在软件开发中遇到问题找不到解决办法,致使问题积累起来,形成日益尖锐矛盾。软件开发时期所面临这种状态就是所谓软件危机。 5.软件危机主要有哪几种表现?    答:见课本第8页(1)、(2)、(3)、(4)。 6.什么叫软件工程?    答:开发、运行、维护与修复软件系统方法。 7.什么叫软件生存周期?    答:软件从孕育、诞生、成长、成熟到衰亡过程叫软件生存周期。它包括制定计划、需求分析、设计、程序编码、测试及运行维护。 8.简单介绍软件开发瀑布型模型与螺线型模型。    答:见课本第11页至第14页。第二章 系统分析1.简述系统分析目标(1) 识别用户要求;(2) 评价系统可行性;(3) 进行经济分析与技术分析;(4) 把功能分配给硬件、软件、人、数据库与其它系统元素;(5) 建立成本与进度限制;(6) 生成系统规格说明,形成所有后续工程基础。2.系统分析过程第一步就是识别用户要求。要求识别是系统开发起点。为此,分析员必须回答哪些问题,才能完成这一步骤?(1) 所期望功能与性能是什么(2) 可靠性与质量问题是哪些(3) 总系统目标是什么(4) 成本及进度限制如何(5) 制造需求是什么(6) 市场及竞争情况怎样(7) 有效技术有哪些(8) 将来可能有哪些扩充3.软件项目可行性研究主要集中在哪个方面?(1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。4.填空   在成本-效益分析中,有形效益可以用(货币时间价值、投资回收期、纯收入  )等指标进行度量。第三章 软件需求分析课程作业 一、简述及问答1.简述软件需求分析任务。需求分析所要做工作是深入描述软件功能与性能,确定软件设计限制与软件同其他系统元素接口细节,定义软件其他有效性需求。分析员通过需求分析,逐步细化对软件要求,描述软件要处理数据域,并给软件开发提供一种可转化为数据设计、结构设计与过程设计数据及功能表示。在软件完成后,制定软件需求规格说明还要为评价软件质量提供依据。2.软件需求分析就是解决所开发软件做什么,做到什么程度问题。它包括诸多需求,这些需求有那些?功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗及开发进度需求、预先估计以后系统可能达到目标。3.简述需求分析评审主要内容。a.系统定义目标是否及用户要求一致;b.系统需求分析阶段提供文档资料是否齐全;c.文档中所有描述是否完整、清晰、准确反映用户要求;d.及所有其他系统成分重要接口是否都已经描述;e.所开发项目数据流及数据结构是否足够确定;f.所有图表是否清楚,在不补充说明时能否理解;g.主要功能是否已包括在规定软件范围之内,是否都已充分说明;h.设计约束条件或限制条件是否符合实际;i.开发技术风险是什么;j.是否考虑过软件需求其他方案;k.是否考虑过将来可能会提出软件需求;l.是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;m.有没有遗漏、重复或不一致地方;n.用户是否审查了初步用户手册;o.软件开发计划中估算是否受到了影响。4.软件需求分析基本原则是什么?(1)必须能够表达与理解问题数据域与功能域。(2)必须按自顶向下、逐层分解方式对问题进行分解与不断细化。(3)要给出系统逻辑视图与物理视图。5.什么是结构化分析方法?结构化分析方法就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐层分解,直到找到满足功能要求所有可实现软件为止。6.数据词典任务什么?.对于数据流图中出现所有被命名图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素名字都有一个确切解释。数据词典中所有定义应是严密、精确,不可有半点含混,不可有二义性。二、填空1.在软件开发原型化方法中,原型是指(软件一个早期可运行版本,它反映最终系统部分重要特性)。2.软件原型化方法是在研究分析阶段方法与技术中产生,由于软件项目特点与运行原型目不同,原型主要有((1)探索型(2)实验型。(3)进化型。 (4)修正与改进)三种不同作用类型。3.结构化分析方法主要使用了(数据流图、数据词典、结构化英语、判定表与判定树。 )几个工具。4.需求分析任务就是借助于当前系统逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”问题。其实现步骤包括((1)获得当前系统物理模型。(2)抽象出当前系统逻辑模型。(3)建立目标系统逻辑模型。(4)为了对目标系统做完整描述,还需要对得到逻辑模型做一些补充。)5.需求分析阶段工作,可以分成(问题识别、分析及综合、制定规格说明与评审)四个方面。第四章 软件设计课程作业 1.一旦确定了软件需求之后,就进入开发阶段。开发阶段由三个互相关联步骤组成:( .设计、实现(编码)与测试)。2.性能主要是指( 周转时间  响应时间  吞吐量  精度)四个指标。3.概要设计阶段完成时应编写文档包括( 概要设计说明书   数据库设计说明书   用户手册   制定初步测试计划)。4.概要设计评审内容主要包括( 可追溯性  接口  风险  实用性  技术清晰度  可维护性  质量  各种选择方案  限制)。5.软件结构包括两部分。其一为(  程序模块层次结构 ),其二为(数据结构  )。6.在软件系统分层模块结构图中,上级模块调用( 下级模块)。它们之间存在主从关系,即自上而下“主宰”,自下而上“从属”。而同一层模块之间没有这种主从关系。7.多扇出意味着需要控制与协调许多( 下属模块 )。而多扇入模块通常是( 公用模块)。8.数据结构设计应确定数据( 组织、存取方式、相关程度、以及信息不同处理方法)。9.软件过程着重描述( 各个模块处理细节  )。软件过程必须提供精确处理说明,包括事件顺序、正确判定点、重复操作直至数据组织与结构等等。10.如果模块是相互独立,当模块变得越小,每个模块内部结构就变得越(简单  ),花费工作量也越低。11.模块独立性是指软件系统中每个模块只涉及软件要求具体子功能,而与软件系统中其他模块接口是简单。一般采用两个准则度量模块独立性。即( 模块间耦合)与( 模块内聚)。12.在过程设计阶段,要决定各个模块实现算法,并精确地表达这些算法。表达过程规格说明工具可以分为以下三类:( .图形工具)、( 表格工具)、(语言工具  )。二、简答题1.为什么软件设计在开发阶段中具有重要意义?除了维护阶段以外,开发阶段占软件工程总成本75%以上。开发阶段决策将最终影响软件实现成败,影响软件维护难易程度。软件设计是软件开发阶段最重要步骤。它是软件开发中质量得以保证关键步骤。设计提供了软件表示,使得软件质量评价成为可能。软件设计又是将用户要求准确地转化成为最终软件产品唯一途径。2.在概要设计过程中需要完成工作具体有哪些?(1)制定规范:在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守标准,以便协调组内各成员工作。(2)软件系统结构总体设计:在需求分析阶段,已经从系统开发角度出发,把系统按功能逐次分割成层次结构,使每一部分完成简单功能且各个部分之间又保持一定联系,这就是功能设计。在设计阶段,基于这个功能层次结构把各个部分组合起来成为系统。(3)处理方式设计:确定为实现软件系统功能需求所必需算法,评估算法性能。确定为满足软件系统性能需求所必需算法与模块间控制方式(性能设计)。确定外部信号接收发送形式。3.简述数据结构设计内容确定软件涉及文件系统结构以及数据库模式、子模式,进行数据完整性与安全性设计。它包括:1)确定输入、输出文件详细数据结构。2)结合算法设计,确定算法所必需逻辑数据结构及其操作。3)确定对逻辑数据结构所必需那些操作程序模块(软件包)。限制与确定各个数据设计决策影响范围。4)若需要及操作系统或调度程序接口所必须控制表等数据时,确定其详细数据结构与使用规则。5)数据保护性设计4.在详细设计过程中需要完成工作有哪些?(1)确定软件各个组成部分内算法以及各部分内部数据组织。(2)选定某种过程表达形式来描述各种算法。(3)进行详细设计评审5.软件设计最终目标是要取得最佳方案。“最佳”含义是指什么?是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间条件,选择能够赢得较高生产率、较高可靠性与可维护性方案。在整个设计过程中,各个时期设计结果需要经过一系列设计质量评审,以便及时发现与及时解决在软件设计中出现问题,防止把问题遗留到开发后期阶段,造成后患。在评审以后,必须针对评审中发现问题,对设计结果进行必要修改。6.模块具有哪些基本属性?(1)功能:即指该模块实现什么功能。(2)逻辑:即描述模块内部怎么做。(3)状态:即该模块使用时环境与条件。7.简述数据设计原则。(1)用于软件系统化方法也适用于数据。(2)要确定所有数据结构与在每种数据结构上施加操作。(3)应当建立一个数据词典并用它来定义数据与软件设计。(4)低层数据设计决策应推迟到设计过程后期进行。(5)数据结构表示只限于那些必须直接使用该数据结构内数据模块才能知道。(6)应当建立一个存放有效数据结构及相关操作库。(7)软件设计与程序设计语言应当支持抽象数据类型定义与实现。8.程序流程图有哪几种基本控制结构?(1)顺序型 (2)选择型 (3)先判定(while)型循环 (4)后判定(until)型循环 (5)多情况(case)型选择。三、名词解释1.结构图深度在多层次结构图中,其模块结构层次数称为结构图深度。结构图深度在一定意义上反映了程序结构规模与复杂程度。2.结构图宽度结构图中同一层模块最大模块数称为结构图宽度3.模块扇入与扇出扇出表示一个模块直接调用(或控制)其他模块数目。扇入则定义为调用(或控制)一个给定模块模块个数。4.模块软件系统层次结构是模块化具体表达。将整个软件划分成若干单独命名与可编址部分,称之为模块。可以将这些模块组装起来以满足整个问题需求。5.信息隐蔽信息隐蔽是指,每个模块实现细节对于其他模块来说是隐蔽。即模块中所包含信息(包括数据与过程)不允许其他不需要这些信息模块使用。四、选择一种将三个数从小到大排序算法,分别用(1)流程图,(2)N-S图,(3)PAD图描述其详细过程。设数为a,b,c,其详细过程如下:(1)流程图 (2)N-S图 (3)PAD图第五章 Jackson系统开发方法    一、问答1.JSD系统模型是互相通信一组进程集合。进程间通信可采用哪几种方式?(1)进程活动同步发生。(2)通过数据流通道发送/接收活动发生。(3)访问公用存储信息。2.JSD方法是支持软件分析及设计一组连续技术步骤,它们包括哪些方面?(1) 实体动作分析:从问题描述中,提取软件系统要产生与运用实体(人、物或组织),以及现实世界作用于实体上动作(事件)。(2) 实体结构分析:把作用于实体动作或由实体执行动作,按时间发生先后次序排序,构成进程,并用一个层状Jackson结构图表示。(3) 定义初始模型:把实体与动作表示成一个进程模型,定义模型及现实世界联系。(4) 功能描述:说明及已定义动作相对应功能,为已定义动作加入功能函数。(5) 决定系统时间特性:对进程加入时间因素,对进程调度特性进行评价与说明。(6) 实现:设计组成系统硬件与软件,实现系统原型。3.在Jackson系统开发方法中定义了哪几种功能?(1) 嵌入功能:把操作分配(或写入)到模型进程结构正文内。(2) 强制功能:检查模型进程状态向量,并给出输出结果。(3) 交互功能:检查模型进程状态向量,写入一个施加于模型进程活动数据流,或引入一个写出结果操作。二、填空1.JSD方法前三步属于( 需求分析)阶段,后三步属于( 设计)阶段。2.分析实体动作,需要从一段用简单自然语言给出问题描述(通常是一个段落)入手。当选定了实体与动作时候,实际上已经把要开发系统( 范围)划定了。第六章 用户界面设计课程作业         一、填空 1.用户界面作为软件重要组成部分,应当具备(可使用性   灵活性   复杂性与可靠性  )三方面特性。2.用户类型通常可以分为(  外行型  初学型  熟练型  专家型)种类型。3.按照显示形象或样式来分类菜单可分为(正文菜单  图标菜单  正文与图标混合菜单  )。4.按屏幕位置与操作风格来分类菜单可分为( 固定位置菜单  浮动位置菜单  下拉式菜单  嵌入式菜单)。5.常用二维图形显示包括( 直方图  饼图  折线图  散布图)等几种。  二、问答题 1.用户界面可使用性是用户界面设计最重要也是最基本目标。它包括哪些内容?(1)使用简单性(2)用户界面中所用术语标准化与一致性(3)拥有HELP帮助功能(4)快速系统响应与低系统成本(5)用户界面应具有容错能力2.怎样理解用户界面复杂性?用户界面规模与组织复杂程度就是界面复杂性。在完成预定功能前提下,应当使得用户界面越简单越好。但也不是把所有功能与界面安排成线性序列就一定简单。3.用户界面设计任务分析应及软件系统需求分析同步进行。它包括用那几个步骤?用户特性分析、用户工作分析、记录用户有关系统概念与术语、确定界面类型等4个步骤。4.用户特性度量主要衡量标准是什么?1)用户使用频度2)用户需要自由选用界面情况3)用户对计算机熟悉程度4)用户知识5)用户思维能力6)用户生理能力与技能5.如果从用户及计算机交互角度来看,用户界面设计类型主要有哪些?问题描述语言、数据表格、图形及图标、菜单、对话、以及窗口等等。每一种类型都有不同特点与性能。6.对话框有哪几种对话形式?(1)必须回答式(2)无需回答式(3)警告式。7.问题描述语言是一种结构化语言,它可以分为哪几层?(1)任务层(2)语义层(3)语法层(4)交互层。8.数据输入对话设计一般规则是什么?(1)确认输入(2)交互动作(3)明确取消(4)确认删除(5)提供反馈(6)允许编辑(7)提供复原(Undo)(8)自动格式化(9)提示输入范围第七章 程序编码     一、填空1.(  程序编码)阶段工作是把软件详细设计变换成用某一种程序设计语言编写可实现源程序。       2.结构化程序设计中,应注意数据结构合理化问题,即数据结构访问规范化,标准化问题。对于数据结构中常使用数组、指针等数据类型,一般可用(栈  )与( 队列)去代替。3.源程序文档化包括( 选择标识符名字)、( 安排注释  )以及程序( 视觉组织  )等。二、问答1.结构化程序设计主要原则有哪些?(1)使用语言中顺序、选择、重复等有限基本控制结构表示程序逻辑。(2)选用控制结构只准许有一个入口与一个出口。(3)程序语句组成容易识别块(Block),每块只有一个入口与一个出口。(4)复杂结构应该用基本控制结构进行组合嵌套来实现。(5)语言中没有控制结构,可用一段等价程序段模拟,但要求该程序段在整个系统中应前后一致。(6)严格控制GOTO语句,仅在下列情形才可使用:a.用一个非结构化程序设计语言去实现一个结构化构造。b.在某种可以改善而不是损害程序可读性情况下。2.自顶向下逐步求精方法优点是什么?(1)自顶向下,逐步求精方法符合人们解决复杂问题普遍规律。可提高软件开发成功率与生产率;(2)用先全局后局部,先整体后细节,先抽象后具体逐步求精过程开发出来程序具有清晰层次结构,因此程序容易阅读与理解;(3)程序自顶向下,逐步细化,分解成一个树形结构,在同一层节点上做细化工作,相互之间没有关系,因此它们之间细化工作相互独立;在任何一步发生错误,一般只影响它下层节点,同一层其他节点不受影响。在以后测试中,也可以先独立地一个节点一个节点地做,最后再集成。(4)程序清晰与模块化,使得在修改与重新设计一个软件时,可复用代码量最大;第八章 软件测试课程作业    一、填空1.软件测试在软件生存期中横跨两个阶段:(  单元测试   )与(综合测试   )。2.确认(Validation)是一系列活动与过程,其目是想证实在一个给定外部环境中软件(  逻辑正确性)。它包括需求规格说明确认与程序确认,而程序确认又分为( 静态确认  )及(动态确认   )。3.(   验证)则试图证明在软件生存期各个阶段,以及阶段间逻辑协调性、完备性与正确性。4.测试过程至少需要三类输入,即( 软件配置    )、 (   测试配置)、 (     测试工具)。5.(   排错过程)是测试过程中最不可预知部分,正是因为如此,才使得人们很难定出可靠测试进度。6.(  软件黑盒   )测试意味着测试要在软件接口处进行,测试人员完全不考虑程序内部逻辑结构与内部特性,只依据程序需求规格说明书,检查程序功能是否符合它功能说明。7.(   软件白盒测)试是对软件过程性细节做细致检查。这一方法允许测试人员利用程序内部逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否及预期状态一致。8.逻辑覆盖是以程序内部逻辑结构为基础测试用例设计技术,属(  白盒测试  )。9.基本路径测试就是在程序控制流图基础上,通过分析控制构造环路复杂性,导出基本可执行(  路径集合  ),从而设计测试用例。10.等价类划分是一种典型(   黑盒  )测试方法,也是一种非常实用重要测试方法。使用这一方法时,完全不考虑程序内部结构,只依据程序规格说明来设计测试用例。11.测试过程一般按4个步骤进行,即(   单元测试  ) 、(  组装(集成)测试    )、(     确认测试   )、(系统测试    )。二、问答1.什么是软件测试?软件测试就是在软件投入运行前,对软件需求分析、设计规格说明与编码最终复审,是软件质量保证关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序过程。或者说,软件测试是根据软件开发各阶段规格说明与程序内部结构而精心设计一批测试用例(即输入数据及其预期输出结果,并利用这些测试用例去运行程序,以发现程序错误过程。2.软件测试目是什么?测试目标是想以最少时间与人力找出软件中潜在各种错误与缺陷。如果成功地实施了测试,就能够发现软件中错误。测试附带收获是,它能够证明软件功能与性能及需求说明相符。此外,实施测试收集到测试结果数据为可靠性分析提供了依据。3.软件测试原则是什么?(1)应当把“尽早地与不断地进行软件测试”作为软件开发者座右铭。(2)测试用例应由测试输入数据与及之对应预期输出结果这两部分组成。(3)程序员应避免检查自己程序。(4)在设计测试用例时,应当包括合理输入条件与不合理输入条件。(5)充分注意测试中群集现象。(6)严格执行测试计划,排除测试随意性。(7)应当对每一个测试结果做全面检查。 (8)妥善保存测试计划,测试用例,出错统计与最终分析报告,为维护提供方便。4.黑盒测试主要是为了发现以下那些错误?(1)是否有不正确或遗漏了功能?(2)在接口上,输入能否正确地接受?能否输出正确结果?(3)是否有数据结构错误或外部信息(例如数据文件)访问错误?(4)性能上是否能够满足要求?(5)是否有初始化或终止性错误?5.白盒测试主要对程序模块进行那些检查?(1)对程序模块所有独立执行路径至少测试一次;(2)对所有逻辑判定,取“真”及取“假”两种情况都能至少测试一次;(3)在循环边界与运行界限内执行循环体;(4)测试内部数据结构有效性等。三、判断1.软件开发过程是一个自顶向下,逐步细化过程,软件测试过程也是如此。错误   软件开发过程是一个自顶向下,逐步细化过程,首先在软件计划阶段定义了软件作用域,然后进行软件需求分析,建立软件数据域、功能与性能需求、约束与一些有效性准则。接着进入软件开发,首先是软件设计,然后再把设计用某种程序设计语言转换成程序代码。而测试过程则是依相反顺序安排自底向上,逐步集成过程。低一级测试为上一级测试准备条件。当然不排除两者平行地进行测试。2.在软件测试中,若发现错误则说明程序有问题,软件需要修改;若未发现错误,则说明程序是正确,软件可以交付使用。错误   软件测试有一个致命缺陷,即测试不完全、不彻底性。由于任何程序只能进行少量(相对于穷举巨大数量而言)有限测试,在发现错误时能说明程序有问题;但在未发现错误时,不能说明程序中没有错误,不能说明程序中没有问题。第九章 面向对象技术课程作业     一、填空1.根据Coad与Yourdon定义,面向对象概念可表示为:“面向对象=(  对象)+(  类)+(  继承  )+(  通信  )” 。2.对象是面向对象开发模式基本成分。每个对象可用其一组( 属性  )与它可以执行一组(   操作)来定义。3.类是一组具有相同数据结构与相同操作对象集合。在一个类中,每个对象都是类(  实例  ),它们都可使用类中提供函数。4.面向对象分析是软件开发过程中( 问题定义  )阶段。这一阶段最后得到是对问题论域清晰、精确定义。5.对象模型技术,即三视点技术,它把分析时收集信息构造在三类模型中,即( 对象模型   )、( 功能模型 )与( 动态模型   )。6.高层设计阶段开发系统结构,即用来构造应用总(   模型)。7.利用现存类来设计新类,有4种方式:(   选择 )、( 分解    )、(  配置   )与( 演变   )。8.Coad及Yourdon方法是在信息模型化技术,面向对象程序设计语言及知识库系统基础上发展起来。这个方法分为 (  面向对象分析(00A)   )与 ( 面向对象设计(00D)   )两个部分。 二、问答1.面向对象技术有哪些特色?一是方法唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到。二是从生存期一个阶段到下一个阶段高度连续性,即在一个阶段所用到部分及在下一个阶段所使用部分是衔接,所使用技术经过生存期每一阶段后不改变。三是把面向对象分析(OOA)、面向对象设计(OOD)与面向对象程序设计(OOP)集成到生存期相应阶段。2.面向对象设计包括哪几部分设计?(1)问题论域部分设计;(2)用户界面部分设计;(3)任务管理部分设计;(4)数据管理部分设计。3.Booch认为软件开发是一个螺旋上升过程。在这个螺旋上升每个周期中,有哪几个步骤? (1)发现类与对象;(2)确定它们含义;(3)找出它们之间相互关系;(4)说明每一个界面与实现。第十章 软件质量保证课程作业    一、问答1.什么是软件质量?软件质量为“所有描述计算机软件优秀程度特性组合”。也就是说,为满足软件各项精确定义功能、性能需求,符合文档化开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发及维护中重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高。2.软件质量反映了哪几方面问题?(1)软件需求是度量软件质量基础。不符合需求软件就不具备质量。(2)在各种标准中定义了一些开发准则,用来指导软件人员用工程化方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。(3)往往会有一些隐含需求没有明确地提出来。例如,软件应具备良好可维护性。如果软件只满足那些精确定义了需求而没有满足这些隐含需求,软件质量也不能保证。3.怎样理解软件质量保证概念?软件质量保证就是向用户及社会提供满意高质量产品。软件质量保证活动也与一般质量保证活动一样,是确保软件产品从诞生到消亡为止所有阶段质量活动。即为了确定、达到与维护需要软件质量而进行所有有计划、有系统管理活动。   二、填空题1.McCall等人于 1979年提出了软件质量模型,其软件质量概念基于 11个特性之上。这11个特性分别面向软件产品(  运行)、(  修正)与(  转移)。2.根据McCall等人软件质量特性定义,(   正确性)是指在预定环境下,软件满足设计规格说明及用户预期目标程度。它要求软件没有错误。3. 根据McCall等人软件质量特性定义,( 可靠性   )是指软件按照设计要求,在规定时间与条件下不出故障,持续运行程度。4. 根据McCall等人软件质量特性定义,( 效率   )是指为了完成预定功能,软件系统所需计算机资源多少。5. 根据McCall等人软件质量特性定义,( 完整性   )是指为了某一目而保护数据,避免它受到偶然,或有意破坏、改动或遗失能力。6. 根据McCall等人软件质量特性定义,(  可使用性  )是指对于一个软件系统,用户学习、使用软件及为程序准备输入与解释输出所需工作量大小。7. 根据McCall等人软件质量特性定义,(可维护性    )是指为满足用户新要求,或当环境发生了变化,或运行中发现了新错误时,对一个已投入运行软件进行相应诊断与修改所需工作量大小。8. 根据McCall等人软件质量特性定义,( 可测试性   )是指测试软件以确保其能够执行预定功能所需工作量大小。9. 根据McCall等人软件质量特性定义,(  灵活性  )是指修改或改进一个已投入运行软件所需工作量大小。10. 根据McCall等人软件质量特性定义,(  可移植性  )是指将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量大小。11. 根据McCall等人软件质量特性定义,(  复用性  )是指一个软件(或软件部件)能再次用于其它应用(该应用功能及此软件或软件部件所完成功能有联系)程度。12. 根据McCall等人软件质量特性定义,(  互连性  )是指连接一个软件与其他系统所需工作量大小。如果这个软件要联网,或及其他系统通信,或要把其他系统纳入到自己控制之下,必须有系统间接口,使之可以联结。13.软件质量特性度量有两类:( 预测型  )与(  验收型)。14.定量地评价软件质量,目前还不能精确地做到。一般采取由若干(610)位软件专家进行打分来评价。其过程包括两步:( 评分   )与( 分析结果  )。     三、判断 1.软件容错技术是进行质量管理,实现产品应有质量所必不可少技术,也就是软件工程中所讨论先进软件分析与开发技术与管理技术。错误  软件避开错误技术是进行质量管理,实现产品应有质量所必不可少技术,也就是软件工程中所讨论先进软件分析与开发技术与管理技术第十一章 软件维护课程作业     一、问答1.为什么要对软件产品进行维护?要求进行维护原因多种多样,归结起来有三种类型:(1)改正在特定使用条件下暴露出来一些潜在程序错误或设计缺陷。(2)因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件以适应这种变化。(3)用户与数据处理人员在使用时常提出改进现有功能,增加新功能,以及改善总体性能要求,为满足这些要求,就需要修改软件把这些要求纳入到软件之中。2.软件维护活动可以归为哪几类?(l)改正性维护;(2)适应性维护;(3)完善性维护;(4)预防性维护3.影响软件维护工作量程序特性有哪些?在软件维护中,影响维护工作量程序特性有以下6种。(1)系统大小;(2)程序设计语言;(3)系统年龄;(4)数据库技术应用;(5)先进软件开发技术;(6)其他:例如,应用类型、数学模型、任务难度、开关及标记、IF嵌套深度、索引或下标数等,对维护工作量都有影响。4.尽管软件维护申请类型不同,但都要进行同样技术工作。这些工作有哪些?修改软件需求说明、修改软件设计、设计评审、对源程序做必要修改、单元测试、集成测试(回归测试)、确认测试、软件配置评审等。5.建立软件维护档案记录时,对每项维护任务应该收集那些数据?为了估计软件维护有效程度,确定软件产品质量,同时确定维护实际开销,需要在维护过程中做好维护档案记录。其内容包括程序名称、源程序语句条数、机器代码指令条数、所用程序设计语言、程序安装日期、程序安装后运行次数、及程序安装后运行次数有关处理故障次数、程序改变层次及名称、修改程序所增加源程序语句条数、修改程序所减少源程序语句条数、每次修改所付出“人时”数、修改程序日期、软件维护人员姓名、维护申请报告名称、维护类型、维护开始时间与维护结束时间、花费在维护上累计“人时”数、维护工作净收益等。对每项维护任务都应该收集上述数据。6.如何提高软件可维护性?提高软件可维护性,需从以下五个方面着手:1.建立明确软件质量目标与优先级;2.使用提高软件质量技术与工具;3.进行明确质量保证审查;4.选择可维护程序设计语言;5.改进程序文档。7.软件维护是一组软件工程活动,它们发生于软件已交付给用户并已投入运行之后;软件配置管理是一组追踪与控制活动,它们开始于软件开发项目开始之时,结束于软件被淘汰之时。维护与软件配置管理之间区别是什么? 二、填空题1.在软件维护时,必然会对源程序进行修改。通常对源程序修改不能无计划地仓促上阵,为了正确、有效地修改,需要经历三个步骤。即(  分析与理解程序)、(  修改程序)与( 重新验证程序 )。2.在将修改后程序提交用户之前,需要用以下方法进行充分确认与测试,以保证整个修改后程序正确性:( 静态确认  )、( 计算机确认  )与( 维护后验收  )。3.软件工程中,SCM活动目标就是为了:( 标识变更  )、( 控制变更  )、(  确保变更正确地实现)与( 向其他有关人报告变更  )。第十二章 软件工程标准化及软件文档课程作业      一、问答题             1.软件工程标准类型有哪些?软件工程标准类型包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、描述、计划、报告等)、专业标准(如职别、道德准则、认证、特许、课程等),以及记法标准(如术语、表示法、语言等)。2.软件工程标准化意义是什么?为什么要积极推行软件工程标准化,其道理是显而易见。仅就一个软件开发项目来说,有许多层次。不同分工人员相互配合,在开发项目各个部分以及各开发阶段之间也都存在着许多联系与衔接问题。如何把这些错综复杂关系协调好,需要有一系列统一约束与规定。在软件开发项目取得阶段成果或最后完成时,需要进行阶段评审与验收测试。投入运行软件,其维护工作中遇到问题又及开发工作有着密切关系。软件管理工作则渗透到软件生存期每一个环节。所有这些都要求提供统一行动规范与衡量准则,使得各种工作都能有章可循。3.软件工程标准分哪些层次?   根据软件工程标准制定机构与标准运用范围不同,可分为五个级别,即国际标准、国家标准、行业标准、企业(机构)标准及项目(课题)标准。4.中国软件工程标准哪几类?分为4类: 基础标准;开发标准;文档标准;管理标准。5.什么是软件工程中文档?文档是指某种数据媒体与其中所记录数据。它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读东西。在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定、报告或认证任何书面或图示信息。它们描述与规定了软件设计与实现细节,说明使用软件操作命令。文档也是软件产品一部分,没有文档软件就不成其为软件。软件文档编制在软件开发工作中占有突出地位与相当大工作量。高质量、高效率地开发、分发、管理与维护文档对于转让、变更、修正、扩充与使用文档,对于充分发挥软件产品效益有着重要意义。6.软件文档作用是什么?在软件生产过程中,总是伴随着大量信息要记录、要使用。因此,软件文档在产品开发生产过程中起着重要作用:l)提高软件开发过程能见度。2)提高开发效率。3)作为开发人员在一定阶段工作成果与结束标志。4)记录开发过程中有关信息,便于协调以后软件、开发、使用与维护。5)提供对软件运行、维护与培训有关信息,便于管理人员、开发人员、操作人员、用户之间协作、交流与了解。6)便于潜在用户了解软件功能、性能等各项指标,为他们选购符合自己需要软件提供依据。7.高质量软件文档应当表达在哪几个方面?(1)针对性;(2)精确性;(3)清晰性;(4)完整性;(5)灵活性。 第十三章 软件项目管理及计划课程作业     一、问答1.对软件进行度量目是什么?表明软件产品质量、弄清软件开发生产率、给出使用了新软件工程方法与工具所得到(在生产率与质量两方面)效益、建立项目估算“基线”、帮助调整对新工具与附加培训要求。2.软件开发成本应如何估算?  软件开发成本,主要是指软件开发过程中所花费工作量及相应代价,不包括原材料与能源消耗,主要是人劳动消耗。此外,软件产品不存在重复制造过程,它开发成本是以一次性开发过程所花费代价来计算。因此软件开发成本估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费人工代价作为依据。二、填空题1.在做软件项目估算时往往存在某些不确定性,使得软件项目管理人员无法正常进行管理而导致产品迟迟不能完成。现在已使用实用技术是(  时间  )与( 工作量  )估算。第 33 页

    注意事项

    本文(软件工程课程作业.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开