软件工程习题集_第1页
软件工程习题集_第2页
软件工程习题集_第3页
软件工程习题集_第4页
免费预览已结束,剩余74页可下载查看

下载本文档

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

文档简介

1、河南机电高等专科学校学校计算机规划教材软件工程习题集系别:计算机科学与技术系班级:软件102(对口)学号: 101012241姓名I目录第 1 章软件工程概述11.1软件的概念及其特点11.2按照功能层次软件可分为系统软件支撑软件应用软件11.3用户定制软件与通用商业软件的特点11.4软件工程的概念及其对软件产业化发展的积极意义21.5软件工程涉及过程方法工具三个方面的技术问题21.6软件工程管理主要体现在四个P 上21.7软件工程必须考虑工程目标以体现其工程价值31.8结构方法的特点、面向对象方法的特点、面向对象方法的优越性31.9Microsoft Visio的使用心得4第 2 章软件开发

2、过程模式52.1软件开发期的目标任务及概要设计需要完成的任务52.2瀑布模式的一大特点是里程碑管理机制52.3瀑布模式的局限性52.4抛弃型原型与进化型原型的异同62.5原型进化模式不能适应较大型软件项目的开发的原因62.6增量模式的优越性6第 3 章软件项目管理83.1软件开发机构内的质量控制部的作用83.2项目负责人必须是管理专家的原因83.3软件项目中文档的分类83.4软件开发需要有配置管理其主要包括哪些方面的管理83.5计算器程序93.6质量标准14第 4 章计算机系统工程154.1计算机系统的组成及特征154.2Client/Server 结构的系统扩充性154.3Browser/S

3、erver 结构的特点及优点弱点174.4网络游戏软件的体系结构174.5高层分析184.6软件项目实施前为什么要进行可行性分析194.7软件开发可行性的标准20第 5 章需求分析215.1软件需求215.2用户抱怨解决措施215.3系统分析师应该具有的素质215.4需求分析的基本过程225.5软件用户的种类225.6常用的调查手段235.7需求分析中需求模型的用途245.8泳道的含义265.9需求分析中涉及哪些方面的需求验证265.10 原型需求验证和评审需求验证26第 6 章结构化分析建模286.1学生管理系统建模286.2图书借阅管理系统建模286.3库房管理系统流程306.4入学管理系

4、统的数据流程316.5储蓄系统数据处理流图32第 7 章基于 UML 的面向对象分析建模347.1图书借阅管理系统347.2商品库存管理系统357.3银行储蓄系统36第 8 章概要设计368.1软件系统构架涉及因素368.2软件分层体系结构特点及优势368.3数据表及其关联与实体及其关系的不同378.4索引的作用378.5数据库设计建模388.6概要设计中要求对模块进行抽象的作用388.7模块抽象与信息隐蔽的作用388.8模块内聚度与耦合度398.9过程内聚与顺序内聚408.10 数据耦合与控制耦合的不同408.11 结构化程序控制的特点418.12 面向对象程序结构的类图及软件图的用途41第

5、 9 章结构化设计建模439.1自动阅卷系统439.2入学管理系统错误 ! 未定义书签。9.3储蓄系统449.4网上考试系统错误 ! 未定义书签。第 10 章基于 UML 的面向对象设计建模4410.1 面向对象设计建模的特点4510.2 设计类图和分析类图的区别4510.3 协作图与时序图的异同点4510.4 系统部署的因素4510.5 图书借阅管理系统设计类图4610.6 商品库存管理系统设计协作图4610.7 储蓄系统设计时序图46第 11 章用户界面设计4911.1 GUI 界面设计4911.2 GUI 界面设计4911.3 传统窗体和Web 页的比较4911.4 学生成绩查询窗体49

6、11.5 学生成绩管理系统5011.6 界面要求有一致的风格50第 12 章算法设计与编码5112.1 结构化流程控制的特点5112.2 程序流程图改用NS 图、 PAD 图、 PDL 伪码进行算法5112.3 查询从 1000 以内将能够被7 整除的数5112.4 零件库房管理系统52第 13 章软件测试5713.1 简述单元测试的对象、内容及方法5713.2 渐增集成的概念5713.3 确认测试的概念5713.4 面向对象单元测试的特点5713.5 回溯法程序调试的特点58第 14 章软件维护5914.1 软件可维护性5914.2 试说明软件维护实施过程5914.3 逆向工程61第 1 章

7、软件工程概述1.1 软件的概念及其特点软件的概念及其特点。答:( 1)软件是计算机系统中的逻辑成分,是程序、数据、文档等诸多逻辑元素的集合,需要有物理硬件的支持才能产生作用;( 2)软件的特点:软件有对硬件不可缺失的依赖;软件有不同于硬件的生产流程;软件有不同于硬件的生命过程。1.2 按照功能层次软件可分为系统软件支撑软件应用软件按照功能层次分,软件可分为系统软件、 支撑软件、应用软件。那么 SQL Server 是哪个层次的软件, ADO.NET 是哪个层次的软件, Visual C+ 是哪个层次的软件?答:( 1) SQL Server 是系统软件(系统软件:为计算机底层软件,如操作系统、

8、设备驱动程序、数据库引擎等) 。( 2)C+是支撑软件(支撑软件:介于系统软件与应用软件之间的支持软件开发的软件,最常用的是支持软件开发与维护的工具软件,如程序编译器、程序编辑器、错误检测程序、程序资源库等)。( 3) ADO.NET 是应用软件(应用软件:为最终用户提供应用服务的软件,通常有工具软件开发, 并依靠系统软件的支持运行, 如财务处理系统, 生产控制系统,办公自动化系统)。1.3 用户定制软件与通用商业软件的特点按照服务对象,软件可分为用户定制软件,通用商业软件。试举例说明这两类软件的特点。答:( 1)用户定制软件由特定用户独享,一次需要针对特定用户进行专门的需求分析,以满足特定用

9、户的特殊应用需要,例如:某特殊设备的控制系统、某企业的业务管理系统、某特定大厦的只能监控系统、某城市的交通监管系统。(2)通用商业软件是开发机构根据社会需求自主开发的软件,大多有广泛的用户1群,如通用办公系统、通用财务系统。为满足通用性,通用商业软件往往需要有面向用户的应用配置,以使软件能适应各种不同的工作环境和满足各种不同的应用需要。1.4 软件工程的概念及其对软件产业化发展的积极意义软件工程的概念及其对软件产业化发展的积极意义。答:软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持。软件工具也像工程方法一样,要求能够覆盖整个软件过程,如项目管理、 软件分析、软件设计、程序创建、

10、软件测试等,都要求有合适的软件工具的支持。1.5 软件工程涉及过程方法工具三个方面的技术问题软件工程涉及过程、方法、工具三个方面的技术问题,这三个方面存在什么相互关系?试举例说明它们之间的关系。答:软件过程是软件开发与维护的实施路线和具体步骤,并且是软件开发时的工程化框架,是工程方法与软件工具得以有效应用的基础;软件工程方法指的是开发与维护软件时应该 “如何做 ”的一系列技术性方法。工程方法涉及的内容有工程规范、工程策略、技术手段等。软件工程方法需要软件过程,因此也就需要考虑不同过程中工程方法的关联性。显然为使不同阶段的工程方法能有效的关联,工程方法需要形成体系,如结构化方法体系、面向对象方法

11、体系,即这样的工程方法体系可以支持从软件分析到软件设计、实现的全过程任务的开展。软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持。软件工具也像工程方法一样,要求能够覆盖整个软件过程,如项目管理、软件分析、软件设计、程序创建、软件测试等,都要求有合适的软件工具的支持。1.6 软件工程管理主要体现在四个P 上软件工程管理主要体现在四个P 上,即项目( Project),人员( People)、过程(Process)、产品( Product)。请简述这四个方面的管理,并谈一些自己的认识。答:( 1)项目是一个工程单位,软甲开发即以软件项目为单位实施。应该说,软件项目使软件开发中的各种因

12、素集中到了一起,它使软件开发有了管理的必要,并使软件开发有了管理的便利。( 2)软件是智力劳动密集型产业,软件开发必须由人来完成。因此,开发人员,尤其是优秀技术人才,是决定软件能否成功开发的最关键因素之一。软件开发的人员组织结构是软件项目组,它是一个软件开发团队,其成员包括项目负责人、开发人员、资源管理员、软件测试员等。( 3)过程管理的第一项工作是选择一个与所承担的软件项目相适应的过程模式。可供选择的过程模式有瀑布模式、原型模式、增量模式、螺旋模式;过程管理的第二项工作室基于所选过程模式制订出更加详细的里程碑过程计划,以便于软件开发能基于各个里程碑获得有效的过程控制。( 4)产品管理包括产品

13、质量管理、产品配置管理;为了确保软件产品的质量,必须建立一个有效的产品质量保证体系。该体系有质量标准、质量计划、质量控制等要素组成;为使产品及其配套资源具有一致性,必须建立完善的配置管理,该项管理是一组针对软件产品的追踪和控制活动,其贯穿于整个软件生存周期,以确保软件开发中的各种输出信息都是一致的。1.7 软件工程必须考虑工程目标以体现其工程价值软件工程必须考虑工程目标,以体现其工程价值。一些主要的工程目标有降低成本、满足需求、改善性能、提高质量、及时交付。请按照你所认识的重要性,对上述工程目标进行优先级排序。答:满足需求、提高质量、改善性能、降低成本、及时交付。1.8 结构方法的特点、面向对

14、象方法的特点、面向对象方法的优越性结构化方法有什么特点?面向对象方法有什么特点?C 语言是结构化程序的代表, java 则是面向对象程序的代表,试以他们为依据说明结构化方法与面向对象方法的区别。答:( 1)结构方法的特点是以实现软件功能为基本目标;( 2)面向对象方法的特点是数据封装、类体继承、操作多态;( 3)与结构化方法相比,面向对象方法可体现以下几个方面的优越性:便利的由分析到设计的转换通道;更加接近现实环境;更加有效的程序复用手段;可使软件以迭代方式逐步完善。31.9Microsoft Visio的使用心得Microsoft Visio的使用心得。答:作为一个产品策划,能熟练的使用绘制

15、流程图的软件Visio 可以随心所欲的表达自己的想法。 作为一个辅助工具, Visio 的作用其实就是策划人员与技术人员之间的想法交流,以及策划人员对评审等人员的想法描述。所以流程图的明了严谨是需要具备的最基本条件。既然是“图 ”,简洁美观也可以更好的让工作进行,这就需要我们日常的多加练习了。其实在Visio 的使用中我们也能掌握一些小技巧,比如 F9 可以切换连接线的功能,在连接线上如何随意添加文字等。所以对一个策划人员来说,有时候画流程图可能也像画画一样,还是蛮有趣味的。这些虽然现在还不会用,我想以后我会努力学好这些的。第 2 章软件开发过程模式2.1 软件开发期的目标任务及概要设计需要完

16、成的任务软件开发期的目标任务是什么?概要设计需要完成什么任务?答:( 1)软件概要设计;( 2)软件详细设计;( 3)编码和单元测试;( 4)系统集成;( 5)系统验收。概要设计需要提交概要设计说明书,她将作为详细设计与系统集成的依据。2.2 瀑布模式的一大特点是里程碑管理机制瀑布模式的一大特点是里程碑管理机制。对此,你有什么认识?答:瀑布模式可带来基于阶段任务的里程碑管理。这是一种可量化的并能适应大型项目的管理机制,可以基于阶段设定和度量项目进程,可以按照阶段进行项目任务分配以及估算项目任务完成比例。通常,项目管理者可事先估算出每个阶段的任务量,并以此为依据规定每个阶段的任务时限,然后即可按

17、阶段部署任务与监督项目进程。2.3 瀑布模式的局限性为什么瀑布模式不能很好的适应用户需求变更?原型进化模式有为什么能很好地适应用户需求变更?答:瀑布模式的局限性,瀑布模式中的软件过程只能按规程推进,而且必须等到所有开发任务完成以后,才能获得可以交付使用的软件产品。因此,瀑布模式并不能获得对软件系统的快速创建,对于一些急于交付的软件系统开发,瀑布模式有操作上的不便。瀑布模式能够有效保证软件质量,对于需求明确的软件系统开发,瀑布模式是一种较好的过程模式。但是,瀑布模式的灵活性不是很好,如果已经开始设计,则来自用户的一个很小的需求变更请求,也可能会给软件项目带来大难题,由此导致5项目延期。实际上,大

18、多数应用系统在其开发初期用户的需求并不清晰,因此对于那些面向用户的应用系统的开发,瀑布模式有较大的不适应性。2.4 抛弃型原型与进化型原型的异同试说明抛弃型原型与进化型原型的异同?答:相同点:首先它们都是软件原型,软件原型是指对软件问题的直观模拟或仿真。原型可用于软件分析与设计分析阶段所建的原型叫做分析原型,通常用来解决用户对软件系统在需求上的而模糊认识;设计阶段所建的原型叫做设计原型,通常用来试探某种设计是否能够获得预期的效果。不同点:( 1)抛弃型原型是用了来对需求进行评鉴或对设计进行试探的, 为使需求与设计问题尽快确定下来,并尽量减少原型成本,抛弃型原型往往利用第四代语言或软件快速生成工

19、具创建。进化型原型由于将演变为可被用户使用的产品,因此一般要求在最终产品开发平台上创建。( 2)抛弃型原型不需要投入实际应用, 因此可以就针对某个专卖问题建立局部原型,而无需考虑完整性,抛弃型原型也可能是一个叫完整的系统,但却是一个无须投入实际应用的试验品。开发者大多选择可视化开发工具创建进化型原型,原因是这些可视化开发工具不仅能快速创建原型, 而且还能使原型投入实际应用, 并逐步演变为最终目标系统。2.5 原型进化模式不能适应较大型软件项目的开发的原因一般认为,原型进化模式不能适应较大型软件项目的开发,原因是什么?答:原型进化模式对于面向用户的中小型软件开发会有一定的优势,但却因为管理规程上

20、的不足,而不能有效保证软件质量,不能适应大型软件系统的开发。2.6 增量模式的优越性增量模式结合了瀑布模式与原型进化模式的特点,更具体地说,其可体现出哪些方面的优越性?答:(1)增量模式提供了基于增量的需求适应性,能面向用户需求进行系统开发;同时又具有良好的里程碑流程控制,能够基于里程碑管理软件项目,可是项目进程与任务量化,可提供有效的质量保证,因此能很好的适应大型应用软件系统的开发;( 2)增量模式中的软件规格细节定义是结合到在增量构件的开发中进行的,因此可通过增量构件而逐渐完善需求;( 3)增量模式在开发初期时需获得需求框架;( 4)软件开发可按照增量构件的功能价值安排优先顺序,并逐个实现

21、与交付;( 5)增量模式下的软件系统式基于增量构件逐渐扩充的,这种开发模式显然有利于开发者构件创建与系统集成的经验积累;( 6)增量模式还有利于从总体上降低软件项目的技术风险。7第 3 章软件项目管理3.1 软件开发机构内的质量控制部的作用软件开发机构内一般都设有质量控制部,并将其置于产品开发部、 服务部之上。对此,你有什么看法?答:质量控制部是提供软件质量标准,负责各阶段软件成果评审,负责软件开发过程质量控制以及产品服务质量监督。质量控制部大多设置于组织结构的较高层次,以获得对整个项目有效的质量监控。3.2 项目负责人必须是管理专家的原因通常认为项目负责人不一定是技术专家,但必须是管理专家。

22、对此,你有什么看法?答:软件是为用户开发的,在开发过程中自始至终中必须得到用户的密切合作和支持,作为项目负责人要特别注意与用户保持联系,掌握用户心理和动态,因此项目负责人不一定是技术专家,但必须是管理专家。3.3 软件项目中文档的分类软件项目中文档的分类。答:(1)技术文档:软件开发人员的技术性工作成果,如需求规格说明书、数据库设计说明书、概要设计说明书、详细设计说明书;( 2)管理文档:软件开发人员的工作计划或工作报告,如项目开发计划、测试计划、开发进度月报、项目开发总结报告;( 3)用户文档:软件开发人员为用户准备的软件操作使用说明,如用户手册、操作手册、系统维护手册。3.4 软件开发需要

23、有配置管理其主要包括哪些方面的管理软件开发需要有配置管理其主要包括哪些方面的管理。答:软件配置管理需要建立三个配置库,开发库、基线库与产品库。( 1)开发库是一个面向开发人员的成果库, 里面的成果一般是临时的, 大多是有待进一步完善的半成品。可通过开发库动态追踪开发人员的工作轨迹,或还原其以前的工作动态,实际上,由于有了开发库,开发过程中的软件变更会变得相对容易管理;( 2)基线库是一个面向项目组的成果库, 用来保存被确认的基线成果。 通常情况下,如果开发库中的软件半成品经过评审而确认达到了基线标准,就可从开发库移入基线库;( 3)产品库是一个面向软件开发机构的成果库, 用来保存最终产品。 产

24、品库的管理权一般属于软件机构中的配置管理部门, 只有该部门的工作人员才具有操作权。3.5 计算器程序编写一个计算器程序。用户输入运算数和四则运算符,输出计算结果。如图3-1“计算器 ”所示。图 3-1 计算器计算器代码如下:varForm1: TForm1;temp1:real;temp2:real;flag:integer;implementation9$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);begintemp1:=0;temp2:=0;flag:=0;end;procedure TForm1.N4Click(Sender:

25、TObject);beginshowmessage('本程序用于对 DELPHI 编程进行基本练习 '); end;procedure TForm1.N2Click(Sender: TObject);beginclose;end;procedure TForm1.Button1Click(Sender: TObject);beginedit1.Text:=edit1.Text+button1.Caption;end;procedure TForm1.Button2Click(Sender: TObject);beginedit1.Text:=edit1.Text+button2

26、.Caption;end;procedure TForm1.Button3Click(Sender: TObject);beginedit1.Text:=edit1.Text+button3.Caption;end;procedure TForm1.Button4Click(Sender: TObject);beginedit1.Text:=edit1.Text+button4.Caption;end;procedure TForm1.Button5Click(Sender: TObject);beginedit1.Text:=edit1.Text+button5.Caption;end;pr

27、ocedure TForm1.Button6Click(Sender: TObject);beginedit1.Text:=edit1.Text+button6.Caption;end;procedure TForm1.Button7Click(Sender: TObject);beginedit1.Text:=edit1.Text+button7.Caption;end;procedure TForm1.Button8Click(Sender: TObject);beginedit1.Text:=edit1.Text+button8.Caption;end;procedure TForm1.

28、Button9Click(Sender: TObject);beginedit1.Text:=edit1.Text+button9.Caption;end;11procedure TForm1.Button10Click(Sender: TObject); beginedit1.Text:=edit1.Text+button10.Caption;end;procedure TForm1.Button11Click(Sender: TObject); beginflag:=1;temp1:=strtofloat(edit1.Text);edit1.Text:=''end;proc

29、edure TForm1.Button12Click(Sender: TObject); beginflag:=2;temp1:=strtofloat(edit1.Text);edit1.Text:=''end;procedure TForm1.Button13Click(Sender: TObject); beginflag:=3;temp1:=strtofloat(edit1.Text);edit1.Text:=''end;procedure TForm1.Button14Click(Sender: TObject); beginflag:=4;temp1:

30、=strtofloat(edit1.Text);edit1.Text:=''end;procedure TForm1.Button16Click(Sender: TObject); beginedit1.Text:=''temp1:=0;temp2:=0;flag:=0;end;procedure TForm1.Button15Click(Sender: TObject); begincase flag of1:temp2:=strtofloat(edit1.Text)+temp1;2:temp2:=temp1-strtofloat(edit1.Text);3:

31、temp2:=strtofloat(edit1.Text)*temp1 ;4: temp2:=temp1/strtofloat(edit1.Text);end;或 caseedit1.Text:=floattostr(temp2);end;procedure TForm1.Button17Click(Sender: TObject);beginedit1.Text:=copy(edit1.Text,1,length(edit1.Text)-1);end;end.133.6 质量标准什么是质量标准?国际标准是否一定高于国家标准?软件企业是否能制定自己的质量标准?答:软件质量标准是有关软件质量的纲

32、领性规定,是建立有效的质量保证体系的基础,是评价软件质量好坏的基本依据。有人认为国际标准一定高于国家标准,国家标准又一定高于地区标准,而实际情形可能刚好相反。情况往往是,基于国际标准建立,同时根据自己国家的特定需要,加进了一些特别限制,因此国家标准往往要高于国际标准。实际上,一些较大的软件开发机构也可根据自身特点,并参照国际标准、国家标准,制定出有自己企业特征的质量标准。显然,这样的质量标准有更高的质量要求。第 4 章计算机系统工程4.1 计算机系统的组成及特征计算机系统有哪些元素组成?其特征是什么?答:计算机系统的组成元素如图4-1 计算机系统组成所示。计算机系统软件系统硬件系统应用系统工具

33、系统操作系统网络系统数据库管理系图 4-1 计算机系统组成系统的最基本特征是具有整体性,虽然是由更小元素组成,但其作用仍体现为一个统一体。4.2Client/Server 结构的系统扩充性例说明 Client/Server 结构的系统扩充性?答:Client/Server 结构的系统扩充性如图4-2 主机结构和图4-3C/S 结构图所示。15终端 1主机?扫描仪?绘图仪图 4-2 主机结构通信网络图 4-3 C/S 结构图答:例如图 4 3 所示多媒体应用系统, 或许初期应用只需要提供图片信息服务,因此初期系统只建立了图片服务器。然而,该系统扩充性好,虽然初期系统中没有视频服务、目录服务,但却

34、可以在系统后续完善建设中添加进来,以提供给更加全面的多媒体应用服务。4.3 Browser/Server 结构的特点及优点弱点Browser/Server 结构有哪些特点?与Client/Server 结构相比,有哪些优势及弱点?答:( 1)特点:B/S 结构的核心是Web 服务器,其基于IIS 建立互联网信息服务,通过HTTP协议实现客户端与服务器的信息交互,并通过ASP、 JSP等,实现 Web 动态服务。B/S 结构可最大限度地减轻客户端的计算负担。( 2)与 C/S 相比较优缺点:在 B/S 结构有安装部署与前端访问的便利,然而在获得便利的同时,访问的快捷性与操控的灵活性则下降了。实际

35、上,在 B/S 结构中,客户端与 Web 服务器通过 HTML 协议间接地进行交互,并且客户端 Web 服务器之间是间断性连接。因此,这种结构的性能、稳定性、操控性都不如传统的C/S 结构。也因此,实际应用中经常将传统的C/S 结构与 B/S结构相结合,以满足多方面的应用需求。如图4-4C/S 结构和 B/S 结构所示。客户机1客户机4客户机5互联网4 U内部局域网web服务器客户机2应用服务器数据库服务器客户机3图 4-4 C/S 结构与 B/S 结构4.4 网络游戏软件的体系结构答:如图 4-5 传统游戏结构流程图所示。17传统游戏结构流程图传统动作网游玩家任务玩家组队副本任务系统游戏交互

36、系统游戏战斗系统认识其他玩家PVP分析传统动作网游缺乏独立性和互动性,玩家必须先通过战斗或者战斗准备才能认识其他玩家,普通交互区如同虚设,系统更加显得苍白无力,如此看来传统动作游戏和能够联机游戏的单机游戏无异。传统 MMORPG仇恨系统强制 PK刷怪升级玩家(种族对立)游戏交互系统游戏战斗系统工会系统副本PVP工会对战(争工会性质的夺战)活动任务系统任务分析传统 MMORPG 一以玩家为中心觉得系统相对于传统动作网游的一边倒的系统,来说更加完善,但是系统之间的平衡做的差强人意。单调的战斗系统并不能吸引玩家,复杂的交互聚烯烃和反复无常的任务也可以吓跑一群人图 4-5 传统游戏结构流程图4.5 高

37、层分析软件开发为什么要作高层分析?需要进行哪些方面的高层分析?答:软件开发需要立项,并需要有立项依据。诸多依据即来自系统高层分析。系统高层分析一般仅限于系统的基本特征,而并不涉及内部细节,因此被看做高层分析。然而,需要注意的是,有待开发的软件只是计算机系统中需要添加的或需要改善的某种特定逻辑元素,她缺乏独立性,并依赖于硬件、底层软件、网络。实际上,对软件的分析,需要以硬件、底层软件、网络、其他支撑软件为背景,并且越是早期阶段,越需要考虑底层环境的支持,越需要关注外部环境的影响。一般来说,可从以下方面对系统进行高层分析:( 1)软件系统的业务领域,业务边界与业务流程;( 2)软件系统对硬件设施、

38、网络环境、数据环境的依赖;( 3)软件系统的安全层级、措施、与防范机制;( 4)软件系统与其他相关系统之间的协作关系;( 5)软件系统与用户组织及其工作任务的协调性与适应性。4.6 软件项目实施前为什么要进行可行性分析软件项目实施前为什么要进行可行性分析 ?涉及哪些方面的可行性分析。答:可行性分析的目的是:以少量的时间及人力成本为代价,对项目时候可着手实施做出有依据的判断,以 避免因项目实施条件不具备而造成的大量人力、物力与时间的浪费。项目正式启动前,一般应进行可行性分析。由于技术与应用环境的复杂性,软件项目通常会有一定风险,其有可能达不到立项所期望的工程目标。因此,在然间项目正式实施之间,很

39、有必要对其进行可行性分析,以判断立项中所期望的工程目标是否能够达到。分析时需要根据项目基本目标及条件限制,建立系统高层模型,即应在高层模型中体现出来,以方便对项目做出有依据的可行性判断。可行性分析还将产生对软件的高层定义,其一般基于项目基本目标与用户直观需求产生,可作为框架用于需求分析,能够方便后期软件规格的细节定义。可行性分析包括下面几个方面内容:19( 1)技术可行性:技术本身的限制;技术资源的限制。( 2)经济可行性:项目成本估算;项目效益分析。( 3)应用可行性。4.7 软件开发可行性的标准如果软件开发所采用的技术即先进又成熟,该技术是否一定具有可行性?答:技术可行性分析是关于软件项目

40、技术问题的高层策略,需要对有待开发系统的高层技术构架进行探索。对技术可行性的判断是基于软件开发者可能采用的技术而提出的,并需要从技术本身与技术资源这两个方面做出可行性评估。软件开发对技术的一半要求是:不但具有先进性,而且已经获得较好的工程经验,有一定的成熟度,可以保证开发出来的软件系统在工能、性能、安全灯诸多方面都能达到预期的技术目标。显然,技术的先进性与成熟度是两个需要平衡考虑的技术因素。技术资源限制是指开发者对所采用技术在把握程度上的限制,如熟练程度、资源丰富程度、技术支持等。毫无疑问的是,尽管开发者准备采用的技术史即先进有成熟的,但假如开发者对该技术缺乏经验,并且难以获得外部技术支持,则

41、从工程角度考虑,该技术仍不具备可行性。项目还需考虑经济上的合理性,她应该是有经济支撑力的,并且可带来经济效益。通常,可从成本与效益这两个方面,对项目做出经济可行性评估。应用可行性需要考虑的是软件的可用性与实用性,所涉及的问题有:法律条款对软件的限制、应用授权对软件的限制、业务规则对软件的限制。显然,一个先行法律法规不允许使用的软件,或一个超越了使用授权范围的软件,或一个与所处领域业务规则有冲突的软件,将不具备应用可行性。第 5章需求分析5.1 软件需求什么是软件需求?有哪些方面的软件需求?答:软件需求,即用户对软件的要求。通常,用户会根据自身业务需要提出软件要求,如要求财务软件系统能够按时自动

42、生成财务分析报表,要求人力资源软件系统能够进行人力成本核算。软件需求的分类:功能需求、数据需求、性能需求、接口需求。5.2 用户抱怨解决措施软件往往因不能满足应用需求而遭到用户抱怨。对此,如果你是软件开发者,你有何看法 ,并有何解决措施?答:可能是开发商专注于技术所致,开发者吧绝大部分精力放在软件技术上,如先进的体系结构、高效率的程序算法,而对用户需求不够重视,以致软件虽然实现了,但却没能满足用户所需。也可能是开发者缺乏把握软件需求的技能所致,虽然开发者并不缺少对用户的热情,但却不能很好的与用户沟通,不能很好地理解用户意图,以致确定下来的软件规格与用户需求并不一致。开发商在开发软件之前最好先把

43、用户的意图理解清楚。5.3 系统分析师应该具有的素质通常认为,系统分析师是需求分析专家,系统分析师应该具有哪些素质?答:( 1)计算机系统知识体系;( 2)用户领域知识体系;( 3)工作责任心与认真态度;( 4)对具体事务进行抽象的能力;( 5)问题建模能力;( 6)沟通与协调能力;( 7)文档协作能力。21系统分析师是需求分析责任人,其任务是获取用户需求,并根据软件用户需求定义软件技术规格,以利于软件开发者实现软件需求,如图5-1 系统分析师的职责所示。软件用户需求软件技术规格用户系统分析师技术人员图 5-1 系统分析师的职责5.4 需求分析的基本过程试对需求分析的基本过程进行说明。答:如图

44、 5-2 需求分析过程所示。需求框架分析用户需求需求规约建立需求模型定义软件规格需求验证软件规格说明需求规格说明书如图 5-2需求分析过程5.5 软件用户的种类什么是软件用户?举例说明各不同种类的软件用户。答:一般说来,用户即指软件的使用人。然而,当用户作为一个与软件相关的抽象概念出现是, 则有这范围更广德外延, 泛指系统以外可从软件获得服务的对象,包括软件使用机构,软件直接操作者,软件间接受益者以及需要从软件获得服务支持的其他系统或设备,如图5-3 来自不同领域的用户所示。软件销售机构软件使用机构软件配套设备提供者软件开发机构协作系统开发机构软件直接操作者软件间接受益者图 5-3 来自不同领域的用户不同阶层的用户会有不同的软件需求:( 1)高层用户所关注的可能是基于系统的业务法杖, 如新系统是否有利于提高工作效率,是否有利于拓宽业务面,是否有利于改善客户关系;( 2)中层用户所关注的可能是基于系统的业务运作, 如新系统是否能确保现有业务模式的正常运转,是否能更方便,有效地提供她所需要的业务数据;( 3)低层用户所关注的则往往是实际操作, 如新系统是否能提供更加人性化并更加方便快捷的操作界面,是否能很快学会新系统的使用;用户与软件系统的亲密关系对用户进行分类:( 1)软件系统管

温馨提示

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

评论

0/150

提交评论