软件工程项目化教程课后习题答案1-7章全.doc
《软件工程项目化教程课后习题答案1-7章全.doc》由会员分享,可在线阅读,更多相关《软件工程项目化教程课后习题答案1-7章全.doc(19页珍藏版)》请在咨信网上搜索。
1、1-1、选择题1.B 2.C 3.C、B 4.C 5.D1-2、简答题(1)软件的定义。答:软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。(2)为什么说软件与硬件结合在一起组成计算机完整系统?答:计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备等;软件
2、是计算机的运行程序和相应的文档。计算机系统 具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。硬件系统主要由中央处理器、存储器、输入输出控制系统和各种外部设备组成。中央处理器是对信息进行高速运算处理的主要部件,其处理速度最高可达每秒几亿次操作。存储器用于存储程序、数据和文件,常由快速的主存储器(容量可达数百兆字节)和慢速海量辅助存储器(容量可达 1011字节以上)组成。各种输入输出外部设备是人机间的信息转换器,由输入-输出控制系统管理外部设备与主存储器(中央处理器)之间的信息交换。软件系统的最内层是系统软件,它由操作系统、实用程序、编译程序等组成。操作系统实施对各种软硬件资源的管理
3、控制。实用程序是为方便用户所设,如文本编辑等。编译程序的功能是把用户用汇编语言或某种高级语言所编写的程序,翻译成机器可执行的机器语言程序。支援软件有接口软件、工具软件、环境数据库等,它能支持用机的环境,提供软件研制工具。支援软件也可认为是系统软件的一部分。应用软件是用户按其需要自行编写的专用程序,它借助系统软件和支援软件来运行,是软件系统的最外层。(3)为什么说软件工程可以在一定程度上解决软件危机的各种弊端?答:软件工程诞生于60年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件 系统的生产活动,以期达到降低
4、软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。软件工程学从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取得良好的效果。 在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。(4)简述软件工程管理的基本原则。答:1).用分阶段的生命周期计划严格管理。统计表明,不成功的软件项目中约有一半左右源自计划
5、不周。本原则意味着,应该把软件生命周期划分成若干阶段,相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。勃姆认为,在软件的整个生命周期中应该制定并严格执行6类计划,即项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。不同层次的管理人员必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受顾客或上级人员的影响而擅自背离预定计划。2).坚持进行阶段评审。软件的质量保证工作不能等到编码阶段结束之后再加以实施,其理由为:第一,大部分错误始于编码之前;第二,错误的发现与修改时间越晚,需要付出 的代价就越高。因此,本原则意味着,在软件开发的每个阶段
6、应该进行严格的评审,以便尽早发现软件开发过程中的错误。3).实行严格的产品控制。软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价;但是软件开发过程中改变需求又在所难免,基于外部环境的变化而出现改变用户需求的情况是一种客观需要,而且迅速应对客户的需求变更是顾客本位的内涵之一。在这种情况下,只能依靠科学的产品控制技术来顺应这种要求。当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变更控制:一切有关修改软件的建议,特
7、别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。避免开发人员对软件随意进行修改。4).采用现代程序设计技术。从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。从60年代末提出的结构程序设计技术到最近的面向对象技术,人们不断创造先进的程序设计技术。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。5).结果应能清楚地审查。与其他有形产品不同,软件是看不见摸不着的逻辑产品。软件开发人员的工作进展情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般产品的开发过程更难以评价和管理。为了提高软件开发过程的可见性
8、,更好地进行管理,应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。6).开发小组的人员应该少而精。该原则意味着,软件开发项目的组成人员的素质应该好,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件。此外,随着开发小组人员数目的增加,因为交流问题而造成的沟通成本也急剧增加。因此,构建和维持少而精的开发团队甚至标杆团队是软件工程的一条基本原理。7).承认不断改进软件工程实践的
9、必要性。遵循上述6条基本原则,就能够按照当代软件工程基本原理实现软件的工程化生产,但是,仅遵循上述6条原则并不能保证软件开发与维护的过程能赶上时代前进的步伐,能跟上技术的不断进步。因此,勃姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原则。按照这条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。威格的成功软件项目管理秘诀(5)除了书上所讲的Microsoft Office Visio2007可以绘制软件工程图,还有什么绘图软件?请举例说明。常用的绘图软件有很多,例如: Photoshop绘图Adobe image 简单动画。coreldraw、freehan
10、dAutoCAD主要专业制图机械、建筑等施工图纸,二维 、三维动画。3Dmax建筑、景观、动画,主要用来建模功能强大到只有想不到没有做不到的。COOL 3D主要做装饰字体、动感材质字体,现在好多平面软件都可以做。Flash、fireworks。VRay寄生虫主要渲染3D的,寄生在3Dmax,渲染已做好的贴材质模型。lightscap专业渲染软件,操作有点复杂,不实用,3D完全可以代替。maya功能最强大的动画软件,值得研究,命令好多、功能好多、很惊人。按功能选绘图软件Painter优秀的仿自然绘画软件,拥有全面和逼真的仿自然画笔。SAIEasy Paint Tool SAI,相当小巧,仅3MB
11、左右,功能较少,但操作简单,适用于入门者。2-1.答:Rose主要支持8种不同类型的UML图,它们名称及作用如下:l用例图(确定系统中所包含的参与者、用例及参与者与用例之间的关系,用例图是基于系统要实现的功能的一个可视化描述。 ) 类图(类图是描述类、接口、协作以及它们之间关系的图,用于描述系统的结构化设计,它是面向对象系统的核心,也是使用最多的一种图。)l 时序图(也称为顺序图,是显示对象之间消息按时间顺序排列的交互作用的图。) 活动图( 用来显示活动动作及其结果,主要描述操作实现中所完成的工作及用例实例或对象中的活动。)l 协作图(描述对象交互作用相关的信息的图) 状态图(也称为状态机,描
12、述了特定类或组件在其整个生命周期中不断变化时的行为。状态机是展示状态与状态转换的图,利用状态机可以精确地描述对象的行为。)l 组件图(用来可视化系统的物理组件及它们之间的关系。) 配置图(用于对系统的实现视图建模,即描述运行软件系统中硬件和软件的物理架构。)2-2.用例图建模的一般步骤: A.对系统语境建模应当遵循以下的方法:(1)用以下几组事物来识别系统外部的参与者:需要从系统中得到帮助的组;执行系统功能时所必须的组;与外部硬件或其它软件系统进行交互的组;为了管理和维护而执行某些辅助功能的组。(2)将类似的参与者组织成泛化或特殊化的结构层次。(3)在需要加深理解的地方,为每个参与者提供一个构
13、造型。(4)将参与者放入到用例图中,并说明参与者与用例之间的通信路径。 B.对系统需求建模可以参考以下的方法。(1)识别系统外部的参与者来建立系统的语境。(2)考虑每一个参与者期望的行为或需要系统提供的行为。(3)把公共的行为命名为用例(4)确定供其他用例使用的用例和扩展其他用例的用例。(5)在用例视图中对用例、参与者和它们之间的关系进行建模。2-3.UML中类图、对象图和包图建模的一般步骤: A.类图建模方法和步骤如下: (1)为系统词汇建模 为系统的词汇建模实际上是从系统词汇表中发现类,发现它的责任。 (2)为简单的协作建模 协作是指一些协同工作的类、接口和其他元素提供的一些合作的行为,其
14、中元素协作时的功能强于它们单独工作时的功能之和。 (3)为一个逻辑数据库模式建模 在Rose中,通常类可以划分为3种类型:实体类、边界类和控制类。通过分析系统的用例图,我们可以得到系统的边界类和控制类。逻辑数据库模式是概念上设计数据库的蓝图。 B.对象图建模方法和步骤如下:(1)确定参与交互的各个对象的类,可以参照相应的类图或交互图。(2)确定类之间的关系(依赖、关联、泛化和实现等)。(3)针对交互在某特定时刻各个对象的状态,建立相应的对象模型。(4)绘制对象的关键状态及关键对象之间的连接关系,并精化对象模型图。 C.包图建模方法和步骤如下:(1)进行系统分析,把概念上和语义上相近的模型元素融
15、入一个包中。(2)对于每一个包,标出其模型元素的可见性(和类一样主要包括:Public、Private和Protected三种访问方式,它们分别用“+”、“-”和“#”来表示)。(3)确定包与包之间的依赖和泛化关系等。(4)绘制并精化包图。2-4.在UML的表现上,动态模型主要是建立系统的交互图和行为图。交互图包括时序图和协作图;行为图包括状态图和活动图。UML动态建模的一般步骤如下: A.时序图建模技术要点: (1) 设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。(2) 通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。(3) 设
16、置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。(4) 从引发某个交互的消息开始,在生命线之间按自上而下的顺序画出随后的消息。(5) 设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。(6) 如果需要设置时间或者空间的约束,可以为每个消息附上合适的时间和空间的约束。 B.协作图建模要点:(1) 设置交互的语境,语境可以是系统、子系统、操作、类、用例或用例的脚本。(2) 通过识别对象在交互中所扮演的角色,开始绘制协作图,把这些对象作为图的顶点放在协作图中。(3) 在识别了协作图对象之后,为每个对象设置初始值,如果某对象的属性值、标
17、记值、状态或角色在交互期发生变化,则在图中链的末路上附上一个路径构造型,以便了说明一个对象如何与另一个对象连接,例如构造型,表示指定对象对发送方而言是局部的。(4) 根据对象间的关系开始确定对象间的链接。一般先确定关联的链接,因为这是最主要的,它代表了对象之间结构的链接。(5)从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。,这描述了对象之间消息传递,可以用带小数点的编号来表达嵌套。(6) 如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。(7) 在建模中,如果想更详细地描述这个控制流,可以为交互过程的每个消息附上前置条件和后置条件。 C.状
18、态图建模要点: (1) 识别一个要对其生命周期进行描述的参与行为的类;(2) 对状态建模,即确定对象可能存在的状态;(3) 对事件建模,即确定对象可能存在的事件;(4) 对动作建模,即确定当转变被激活时,相应被执行的动作;(5) 对建模结果进行精化和细化。D.活动图建模要点:在建模的过程中,我们通常通过以下步骤实现:识别要对其工作流描述的类或对象。确定工作流的初始状态和终止状态,明确工作流的边界。对动作状态或活动状态建模。对动作流建模。对对象流建模。对建立的模型进行精化和细化。课外拓展:2-2.Rose的双向工程包括Rose的正向工程和Rose的逆向工程。 它的实现简介如下:(1)Rose里的
19、代码生成(也称正向工程)是以组件为中心的。这就意味着Java源代码的生成是基于组件而不是类,所以创建一个类后需要将它分配给一个有效的Java组件。(2) 逆向工程是分析Java代码,然后将其转换成Rose模型的类和组件的过程。Rose允许从Java源文件(.java文件)、Java字节码(.class文件)以及一些打包文件(.zip、.cab、.jar文件)中进行逆向工程。 课外拓展练习:绘制教师、学生、课程、班级、教室、专业组成的系统经过优化后的全局E-R图。解答:以必修排课系统为例:所以教师、学生、课程、班级、教室、专业组成的系统经过优化后的全局E-R图如下:nmnnn11n1mmmn1班
20、 级课 程教 师教 室专 业学 生学 院组成属于属于组成任课学习开设一、简答题:1、简要说明“用户登录”模块的实现方法。答案:(1)用户登录模块的流程图图1 用户登录模块流程图(2)实现步骤:a分析并创建用户登录业务模型(如图1)b界面设计(如图2)图2 用户登录界面c添加代码(详见教材)-frmLogin-登录界面-Dim Alpha As Integer 声明变量Private Sub cmdDL_Click()If Me.Combo1.Text = Then MsgBox 请选择登陆用户!, 48, 错误提示 Exit SubEnd IfCall OpenConnSQL = select
21、 * from 系统用户表 where Czy= & Me.Combo1.Text & rs.Open SQL, cn, 1, 1 If zhuan(txtPass.Text) = IIf(Trim(IsNull(rs.Fields(pass), , Trim(rs.Fields(pass) Then gCzy = rs.Fields(czy) gCzyqx = rs.Fields(czyqx) Call CloseConn MDIfrm.Show Unload Me Else MsgBox 密码错误!, 48, 错误提示 End IfEnd Sub2、简述用DataGrid控件添加、修改、删
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 项目 教程 课后 习题 答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。