软件工程答案Word下载.docx
《软件工程答案Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程答案Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
7
2.6增疑模式可体现岀哪些方而的优越性?
2.7开发'
'
综合信息管理系统”时,对其做岀需要的选择,并说明理由。
......7第3章8
3.1软件开发机构内一般都设有质量控制部,对此,你有什么看法?
8
3.2项目负责人不一沱是技术专家,但必须是管理专家,对此你的看法?
......8
3.3你如何管理项目小组,以使其有较髙的工作热情?
9
3.4比较民主分权制与主程序员负责制的优劣。
9
3.5开发一个学生管理系统,对该项目做岀较合理的任务及进度安排。
3.6使用C语言开发一个程序,计算完成程序需要的工期和人力成本?
3.7使用VisualC++开发一个设备监控程序,计算需要多少人力成本?
.......10
3.8软件项目中主要有那些技术文档,有哪些管理文档,有哪些用户文档?
11
3.9为什么软件开发需要有配置管理,其主要包括哪些方面的管理?
11
3.10为什么配置管理机制中需要有开发库、基线库与产品库这三个配置库?
3.11质疑标准的泄义?
国际标准是否一定髙于国家标准?
12
第4章12
4.1计算机系统由哪些元素组成?
其特征是什么?
4.2举例说明Client/Server结构的系统扩充性。
12
4.3Browser/Server的特点?
与Client/Server相比较的优势及弱点?
13
4.4对于网络商务软件,你将如何考虑其体系结构?
请说明你的理由。
........13
4.5对于网络游戏软件,你将如何考虑其体系结构?
…••…13
4.6软件开发为什么要做高层分析?
需要进行哪些方而的髙层分析?
14
4.7开发一个网上商品订购系统,使用系统流程图描述其业务过程。
14
4.8软件项目实施前为什么要进行可行性分析?
并涉及到哪些方而?
15
4.9如果软件开发的技术及先进又成熟,该技术是否一圧具备可行性?
........15
第5章15
5.1什么是软件需求?
由哪些方而的软件需求?
5.2对于软件不能满足应用需求,你有何看法,并有何解决措施?
5.3那么作为专家,系统分析师应该具有哪些素质?
5.4试对需求分析的基本过程进行说明。
16
5.5什么是软件用户?
举例说明各种不同种类的软件用户。
5.6调查仍是收集用户需求的最主要途径,常用的调査手段有哪些?
17
5.7需求分析中可建立哪些方面的需求模型,分别有什么用途?
5.8业务活动建模中,泳道代表了什么?
18
5.9需求分析中涉及哪些方面的需求验证?
5.10如何通过原型进行需求验证?
如何通过评审进行需求验证?
第1章
1・1软件是什么?
答:
软件是附着在计算机硬件设备上的逻辑要素,如指令、程序、数据。
特点:
(1)软件有对硬件不可确实的依赖;
(2)软件有不同于硬件的生产流程;
(3)软件乂不同于硕件的生命过程;
1・2按照功能层次,软件可分为系统软件、支撑软件、应用软件。
那么,SQLServer是哪个层次的软件,ADO.NET是哪个层次的软件,VisualC++是哪个层次的软件?
SQLServer是系统软件,ADO.NET是支撑软件,VisualC++是应用软件。
1・3按照服务的对象,软件可分为用户定制软件、通用商业软件。
试举例说明这两类软件的特点。
用户定制软件:
用户定制软件大多以招标方式获得开发任务,并以合同形式确定开发机构与客户之间的责权关系。
山于定制软件山特定用户独享,因此需要针对特定用户进行专门的需求分析,以满足特定用户的特殊应用需要。
通用商业软件:
一些具有通用特征得中间件也可看作通用商业软件,为满足通用性,通用商业软件往往需要有面向用户的应用配置,以使软件能适应各种不同的工作环境和满足各种不同的应用需要。
通用商业软件一般比用户定制软件有更高的技术要求,因此开发周期长,开发费用高。
1・4什么是软件工程,其对软件产业化发展有什么积极意义?
软件工程是关于软件开发、使用与维护的工程方法学是一门涉及工程技术、工程管理与工程经济等诸多内容的综合性工程学科。
软件工程即是基于工程角度,对有关软件的诸多因素的综合研究。
软件的产业化发展需要有软件工程方法的支持,其作用范圉则贯穿于自软件的最初定义,到软件的开发实现,再到软件的使用与维护的整个软件生命的过程。
“为了经济地获得能在实际机器上可靠运行的软件,而需要合理建立,并有效应用的工程原则。
”该定义成为以后软件工程方法学成长和发展的基线。
1・5软件工程涉及过程、方法、工具三个方面的技术问题,这三个方面存在有什么相互关系?
试举例说明它们之间的关系。
软件过程是软件开发与维护的实施路线和具体步骤,并且是软件开发时的工程化框架,是工程方法与软件工具得以有效应用的基础。
软件工程方法需要适应软件过程,因此也就需要考虑不同过程中工程方法的关联性。
软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持。
1・6软件工程管理主要体现在四个P上,即项目(Project).人员(People)、过程(Process)、产品(Product)o请简述这四个方面的管理,并谈一些自己的认识。
答:
软件工程管理主要体现在四个P上,即项目(Project)>人员(People)、过程(Process).产品(Product)<>它们是软件工程管理中必然涉及的四个要素。
(1)项目计划是软件开发的工作指南,内容涉及项口任务分解、人员分配、资源管理、成本估算、进度安排等。
(2)软件开发的人员组织结构是软件项口组,它是一个软件开发团队,开发人员,尤其是优秀技术人才,是决定软件能否成功开发的最关键因素之一。
(3)过程管理是软件工程的技术基础,是一个工程框架,可将软件开发分解为多个任务阶段或过程。
①选择一个与所承担的软件项LI相适应的过程模式;
2基于所选过程模式制订出更加详细的里程碑过程计划;
3基于里程碑过程讣划的资源调配。
(4)产品管理是为了确保软件产品质量,而建立一个有效的产品质量保证体系,该项管理是一组针对软件产品的追踪和控制活动,贯穿于整个软件的生存周期。
1・7软件工程必须考虑工程目标,以体现其工程价值。
一些主要
的工程目标有降低成本、满足需求、改善性能、提高质量、及时
交付。
请按照你所认识到的重要性,对上述工程目标进行优先级
排序。
(1)付出较低的开发成本
(2)达到要求的软件功能
(3)取得较好的软件性能
(4)开发的软件易于移植
(5)开发的软件可靠性高
(6)需要较低的维护费用
(7)能按时完成开发任务,及时完成开发任务,及时交付费用
1.8结构化方法有什么特点?
面向对象方法有什么特点?
C语言是结构化程序的代表,Java则是面向对象程序的代表,试以它们为依据说明结构化方法与面向对象方法的区别。
结构化方法的特点是以实现软件功能为基本LI标。
特点为:
(1)稳定性好;
(2)可重用性好;
(3)较易开发大型软件产品;
(4)可维护性好。
面向对象方法的特点:
(1)•便利的山分析到设讣的转换通道;
(2)更加接近现实环境;
(3)更加有效的程序复用手段:
(4)可使软件以迭代方式逐步完善区别:
(1)处理问题时的出发点不同;
(2)处理问题的基本单位和层次逻辑关系不同;
(3)数据处理方式与控制方式的不同;
(4)分析设计与编码转换方式的不同.
1・9打开MicrosoftVisio,然后从其菜单“文件/新建/软件”中分
别打开UML模型图、程序结构图、数据流模型图等模具工具,
并进行你所能做的各种操作。
对此,你有什么操作感受?
感受:
安装完Visio2003后,看了一下,虽然没用过,但是简单的操作后发现,这些模型图的工具使用起来很方便,也让我们省去了很多麻烦的步骤,才能让我们做出更好的操作,为我们以后的使用打好了基础。
第2章
2・1软件开发期的目标任务是什么?
概要设计需要完成什么任
务?
软件开发期的LI标任务是在通过需求分析确定软件规格之后,接下来就可以按软件规格要求开发软件。
概要设讣需要提交概要设讣说明书,是针对软件系统的结构设计,用于从总体上对软件的构造、接口、全局数据等给出设讣说明,它将作为详细设讣与系统集成的依据。
2・2瀑布模式的一大特点是里程碑管理机制。
对此,你有什么认
识?
瀑布模式可带来基于阶段任务的里程碑。
这是一种可量化的并能适应大型项LI的管理机制,可以基于阶段设定和度量项LI进程,可以按照阶段进行项U任务分配以及估算项LI任务完成成比例。
2.3为什么瀑布模式不能很好地适应用户需求变更?
原型进化模
式又为什么能很好地适应用户需求变更?
(1)瀑布模式受限于线性过程,其中的软件过程只能按规程推进,而且必须等到所有开发任务完成以后,才能获得可以交付使用的软件产品。
因此,瀑布模式并不能获得对软件系统的快速创建,对于一些急于交付的软件系统的开发,瀑布模式有操作上的不便。
实际上,大多数应用系统在其开发初期用户的需求并不清晰,因此对于那些面向用户的应用系统的开发,瀑布模式有较大的不适应性。
(2)原型进化模式的开发是开发者先建立原型系统供用户评价或使用,然后根据用户的意见反馈,对原型系统不断修正,由此使它逐步接近并最终达到U标系统的要求。
原型化模式可以较好地适应用户的需求变更,但却因缺乏里程碑管理机制,而不能很好地支持大型项LI。
抛弃型原型是用来对需求进行评价或对设讣进行试探的,为使需求与设计问题尽快确定下来,并尽量减少原型成本,抛弃型原型往往利用第四代语言。
抛弃型原型不需要投入实际应用,因此可以只针对某个专门问题建立局部原型,而无须考虑完整性,抛弃型原型也可能是一个较完整的系统,氮却是一个无须投入实际应用的试验品。
进化型原型由于将演变为可被用户使用的产品,因此一般要求在最终产品开发平台上创建。
开发者大多选择可视化开发工具创建进化型原型,原因是这些可视化开发工具不仅能快速创建原型,而且还能使原型投入实际应用,并逐步变为最终LI标系统。
2.5一般认为,原型进化模式不能适应较大型软件项目的开发,原因是什么?
原因是:
(1)原型进化模式缺少瀑布模式所具有的里程碑管理机制,不便于估算项H进度,不便于项口任务化,并使软件质量难以得到有效控制;
(2)在原型进化过程中虽然可通过新版本发布而适应用户需求变更,但版本的快速更替会使软件配置管理变得复杂,从而增加软件维护与进化的难度;
(3)因为管理规程上的不足,而不能有效保证软件质量,不能适应大型软件系统的开发。
2・6增量模式结合了瀑布模式与原型进化模式的优点,更具体地
说,其可体现出哪些方面的优越性?
(1)增量模式提供了基于增量的需求适应性;
(2)增量模式在开发初期只需获取框架;
(3)增量模式中的软件规格细节定义是结合到增量构件的开发中进行的,因此可通过增量构件而逐渐完善需求;
(4)软件开发可按照增量构件的功能价值安排优先顺序,并逐个实现与交付;
(5)增量模式下的软件系统是基于增量构件逐渐扩充的,这种开发模式显然有利于开发者构建创建与系统集成的经验积累;
(6)增量模式还有利于从总体上降低软件项口的技术风险。
2.7某大型企业计划开发一个“综合信息管理系统”,其涉及销售、供应、财务、生产、人力资源等多个部门的信息管理。
该企业的想法是按部门优先级别逐个实现,变应用边开发。
对此,需要一
种比较合适的过程模式。
试对这个过程模式做出符合应用需要的
选择,并说明选择理由。
第3章
3.1软件开发机构内一般都设有质量控制部,并将其置于产品开发部、服务部之上。
对此,你有什么看法?
质量控制部提供软件质量标准,负责各阶段软件成果评审,负责软件开发过程质量控制以及产品服务质量监督。
质量控制部大多设置于组织结构的较高层次,以获得对整个项LI有效的质量监控。
3・2通常认为,项目负责人不一定是技术专家,但必须是管理专家。
项U负责人是项U小组的领导者,其能力水平直接决定着项U小组的战斗力。
实际上,项忖负责人不一定是技术专家,但必须是管理专家,需要制定项LI计划,需要分配与协调项LI任务,还需要处理成员关系、鼓舞成员士气。
3・3工作热情将直接影响工作效率。
假如你需要组建一个项目小组,以承担某项软件开发任务。
那么,你将如何管理这个项目小组,以使其有较高的工作热情?
3・4试比较民主分权制与主程序员负责制的优劣。
如果由你邀请几个同学一起承接某个软件项目,你将釆用哪种管理机制?
为什么?
如果邀请儿个同学一起承接某个软件项U,将采用主程序员负责制,因为相比民主分权制,这种管理机制更加规范,项U组成员的任务分工更加明确,项U中各项工作的开展更有条理与次序,因此往往能带来更高的开发效率与开发质量。
3.5需要开发一个学生管理系统,其涉及以下的功能:
学籍管理、
成绩管理、考绩管理、优评管理。
由一个5人小组承担这项开发任务,限期两个月内完成开发。
对此,试使用项目任务树、甘特图、任务网络图等,对该项目做出较合理的任务及进度安排。
3.6需要使用C语言开发一个矩阵运算程序,涉及矩阵的加、减、乘等各种运算,估计有30个程序函数,每个函数平均有约80行代码。
若该程序安排3人合作创建,其每人每天平均能够完成100行代码,若每人的月平均工资是3000元,每月按20个工作
日计算,则完成该程序需要多长工期?
需要多少人力成本?
人力成本计算公式:
人力成本二(总代码行数/人月均代码行创建数)X人月均工资
=[(30x80)/(100x20)]x3000x3
=3600x3=10800
工期讣算公式:
3.7需要使用VisualC++开发一个设备监控程序,对它的初步估计是:
一个监控参数设置窗(一般复杂度)、一个设备监控输出窗(高复杂度)、两个数据查询(中等复杂度)、一个外部设备接口(中等复杂度)。
并有以下问题关联度判断:
序号
问题
关联程度(F1)
1
备份与恢复?
2
数据通信?
5
3
分布式处理?
4
高性能要求?
高负荷操作环境?
6
联机输入输出数据?
7
对窗口切换?
8
主数据文件联机更新?
9
数据输入、输出、査询、存储复杂度?
10
数据内部处理复杂度?
11
代码要求高复用?
12
系统需考虑平台转换?
13
系统需考虑多次安装?
14
系统需考虑灵活性与易用性?
假如开发该软件的人员月平均工资是3125元,每月20个工作日,且每人每天平均能够完成100行C++代码,而一个功能点大约需要编写64行C++代码,则开发该软件需要多少人力成本?
功能数:
3・8软件项目中主要有那些技术文档,有哪些管理文档,有哪些用户文档?
(1)技术文档:
软件开发人员的技术性工作成果,如需求规格说明书、数据库设讣说明书、概要设讣说明书、详细设讣说明书。
(2)管理文档:
软件开发人员的工作计划或工作报告,如项目开发计划、测试计划、开发进度月报、项口开发总结报告。
(3)用户文档:
软件开发人员为用户准备的软件操作使用说明,如用户手册、操作手册、系统维护手册。
3.9为什么软件开发需要有配置管理,其主要包括哪些方面的管理?
所谓软件配置,也就是基于软件生产轨迹进行过程控制与产品追踪。
起贯穿于整个软件生存周期,因此可使软件开发中产生的各种成果具有一致性,软件配置管理可用来克服软件开发与维护中的混乱。
软件配置的主要任务有:
软件配置规划、软件变更控制、软件版本控制。
3.10为什么配置管理机制中需要有开发库、基线库与产品库这三个配置库?
软件配置管理需要建立三个配置库,开发库、基线库与产品库。
(1)开发库是一个面向开发人员的成果库,里面的成果一般是临时的,大多是有待进一步完善的半成品。
可通过开发库动态追踪开发人员的工作轨迹,或还原其以前的工作动态,实际上,山于有了开发库,开发过程中的软件变更会变得相对容易管理一些。
(2)基线库是一个面向项U组的成果库,用来保存被确认的基线成果。
通常情况下,如果开发库中的软件半成品经过评审而确认达到了基线标准,就可从开发库移入基线库。
(3)产品库是一个面向软件开发机构的成果库,用来保存最终产品。
产品库的管理权一般属于软件机构中的配置管理部门,只有该部门的工作人员才具有操作权限。
3.11什么是质量标准?
软件企业是否能制定自己的质量标准?
软件质量标准是有关软件质量的纲领性规定,是建立有效的质量保证体系的基础,是评价软件质量好坏的基本依据。
有人认为国际标准一定高于国家标准,国家标准乂一定高于地区标准,而实际情形可能刚好相反。
惜况往往是,基于国际标准建立,同时根据自己国家的特定需要,加进了一些特别限制,因此国家标准往往要高于国际标准。
实际上,一些较大的软件开发机构也可根据自身特点,并参照国际标准、国家标准,制定出有自己企业特征的质量标准。
显然,这样的质量标准有更高的质量要求。
第4章
计算机系统具有一般系统的共性,其山硬件、软件、数据资源、网络资源、使用系统的人等诸多元素组成。
特征:
这些元素之间存在关联,需要相互支持,可进行数据通信,可协作完成任务,由此形成一个统一体。
Client/Server结构的优势是有很好的系统扩充性,因此有利于系统的逐步创建与逐步完善。
正因为此,Client/Server结构有较低的初期建设成本。
然而,该系统扩充性好,虽然初期系统中没有视频服务、LI录服务,但却可以在系统后续完善建设中添加进来,以提供更加全面的多媒体应用服务。
例如:
多媒体应用系统,或许初期应用只需提供图片信息服务,因此初期系统只建立了图片服务器。
4.3Browser/Server结构有哪些特点?
与Client/Server结构比较,有哪些优势及弱点?
(1)是一种可以很好适应基于互联网的远程交互特性的Client/Server结构。
(2)Browser/Server结构可最大限度地减轻客户端的汁算负担。
(3)Browser/Server结构有安装部署与前端访问的便利。
(4)Browser/Server结构是以web技术发展起来的,具有系统开发和维护简单,对用户端儿乎没有要求,界面友好,操作简单,适于网络信息发布等特点。
请说明你的理由。
答案如图所示:
网商型企业组织架构图
请说明你的
理由。
答:
BIAndr^d的令宝命兵RPG手札游戎
需要进行哪些方面的高层分析?
软件开发需要立项,并需要有立项依据,诸多依据即来自系统高层分析。
系统高层分析一般仅限于系统的基本特征,而并不涉及系统内部细节,因此被看做高层分析。
一般来说,可从以下方面对系统进行高层分析:
(1)软件系统的业务领域、业务边界与业务流程。
(2)软件系统对硕件设施、网络环境、数据环境的依赖。
(3)软件系统的安全层级、措施与防范机制。
(4)软件系统与其它相关系统之间的协作关系。
(5)软件系统与用户组织及其工作任务的协调性与适应性。
4.7需要开发一个网上商品订购系统,其所需功能有:
客户登陆、客户商品定购、商店接受订单、商店商品配送,并有数据库提供数据支持。
试使用框架图描述其基本结构,使用系统流程图描述其业务过程。
涉及哪些方面的
可行性分析?
可行性分析的目的:
以少量的时间及人力成本为代价,对项訂是否可着手实施做出有依据的判断,以避免因项LI实施条件不具备而造成的大量的人力、物力与时间的浪费。
可从技术、经济、应用等儿个方面进行可行性分析,分析结论则需要撰写成可行性分析报告,并提交给有关部门确认。
4・9如果软件开发所釆用的技术及先进又成熟,该技术是否一定具备可行性?
应用可行性需要考虑的是软件的可用性与适应性,所涉及的问题有:
法律条款对软件的限制、应用授权对软件的限制、业务规则对软件的限制。
显然,一个现行法律法规不允许使用的软件,或一个超越了使用授权范圉的软件,或一个与所处领域业务规则有冲突的软件,将不具备应用可行性。
由哪些方面的软件需求?
(1)软件需求,及用户对软件的要求。
(2)软件有来自多方面的用户需求,如功能需求、数据需求、性能需求、接
口需求等。
5・2软件往往因不能满足应用需求而遭到用户抱怨。
对此,如果
你是软件开发者,你有何看法,并有何解决措施?
5.3通常认为,系统分析师是需求分析专家。
那么作为专家,系
统分析师应该具有哪些素质?
系统分析师一般要求具有以下方面的素质:
(1)计算机系统知识体系。
(2)用户领域知识体系。
(3)工作责任心与认真态度。
(4)对具体事物进行抽象的能力。
(5)问题建模能力。
(6)沟通与协调能力。
(7)文档写作能力。
(1)获取用户需求
(2)建立需求模型(3)定义软件规格
如图所示:
需求框架——分析用户需求
需求规约L