版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南机电高等专科学校学校计算机规划教材软件工程习题集系别:计算机科学与技术系班级:软件102(对口)学号:101012241姓名I目录第1章软件工程概括11.1软件的观点及其特色11.2依照功能层次软件可分为系统软件支撑软件应用软件11.3用户定制软件与通用商业软件的特色11.4软件工程的观点及其对软件家产化发展的踊跃意义21.5软件工程波及过程方法工具三个方面的技术问题21.6软件工程管理主要表此刻四个P上21.7软件工程一定考虑工程目标以表现其工程价值31.8结构方法的特色、面向对象方法的特色、面向对象方法的优胜性31.9MicrosoftVisio的使专心得4第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/Server结构的特色及长处短处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入学管理系统的数据流程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第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.1GUI界面设计4911.2GUI界面设计4911.3传统窗体和Web页的比较4911.4学生成绩查问窗体4911.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章软件工程概括1.1软件的观点及其特色软件的观点及其特色。答:(1)软件是计算机系统中的逻辑成分,是程序、数据、文档等诸多逻辑元素的会合,需要有物理硬件的支持才能产生作用;2)软件的特色:①软件有对硬件不行缺失的依靠;②软件有不一样于硬件的生产流程;③软件有不一样于硬件的生命过程。1.2依照功能层次软件可分为系统软件支撑软件应用软件依照功能层次分,软件可分为系统软件、支撑软件、应用软件。那么SQLServer是哪个层次的软件,ADO.NET是哪个层次的软件,VisualC++是哪个层次的软件?答:(1)SQLServer是系统软件(系统软件:为计算机基层软件,如操作系统、设备驱动程序、数据库引擎等)。2)C++是支撑软件(支撑软件:介于系统软件与应用软件之间的支持软件开发的软件,最常用的是支持软件开发与保护的工具软件,如程序编译器、程序编写器、错误检测程序、程序资源库等)。3)ADO.NET是应用软件(应用软件:为最后用户供应给用服务的软件,通常有工具软件开发,并依靠系统软件的支持运行,如财务办理系统,生产控制系统,办公自动化系统)。1.3用户定制软件与通用商业软件的特色依照服务对象,软件可分为用户定制软件,通用商业软件。试举例说明这两类软件的特色。答:(1)用户定制软件由特定用户独享,一次需要针对特定用户进行特意的需求剖析,以知足特定用户的特别应用需要,比如:某特别设备的控制系统、某公司的业务管理系统、某特定大厦的只好监控系统、某城市的交通看管系统。(2)通用商业软件是开发机构依据社会需求自主开发的软件,大多有宽泛的用户1群,如通用办公系统、通用财务系统。为知足通用性,通用商业软件常常需要有面向用户的应用配置,以使软件能适应各样不一样的工作环境和知足各样不一样的应用需要。1.4软件工程的观点及其对软件家产化发展的踊跃意义软件工程的观点及其对软件家产化发展的踊跃意义。答:软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持。软件工具也像工程方法同样,要求能够覆盖整个软件过程,如项目管理、软件剖析、软件设计、程序创立、软件测试等,都要求有适合的软件工具的支持。1.5软件工程波及过程方法工具三个方面的技术问题软件工程波及过程、方法、工具三个方面的技术问题,这三个方面存在什么互相关系?试举例说明它们之间的关系。答:软件过程是软件开发与保护的实行路线和详细步骤,并且是软件开发时的工程化框架,是工程方法与软件工具得以有效应用的基础;软件工程方法指的是开发与保护软件时应当“怎样做”的一系列技术性方法。工程方法波及的内容有工程规范、工程策略、技术手段等。软件工程方法需要软件过程,所以也就需要考虑不一样过程中工程方法的关系性。明显为使不一样阶段的工程方法能有效的关系,工程方法需要形成系统,如结构化方法系统、面向对象方法系统,即这样的工程方法系统能够支持从软件剖析到软件设计、实现的全过程任务的睁开。软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持。软件工具也像工程方法同样,要求能够覆盖整个软件过程,如项目管理、软件剖析、软件设计、程序创立、软件测试等,都要求有适合的软件工具的支持。1.6软件工程管理主要表此刻四个P上软件工程管理主要表此刻四个P上,即项目(Project),人员(People)、过程(Process)、产品(Product)。请简述这四个方面的管理,并谈一些自己的认识。答:(1)项目是一个工程单位,软甲开发即以软件项目为单位实行。应当说,软件项目使软件开发中的各样因素集中到了一同,它使软件开发有了管理的必需,并使软件开发有了管理的便利。(2)软件是智力劳动密集型家产,软件开发一定由人来达成。所以,开发人员,特别是优异技术人材,是决定软件可否成功开发的最重点因素之一。软件开发的人员组织结构是软件项目组,它是一个软件开发团队,其成员包含项目负责人、开发人员、资源管理员、软件测试员等。3)过程管理的第一项工作是选择一个与所担当的软件项目相适应的过程模式。可供选择的过程模式有瀑布模式、原型模式、增量模式、螺旋模式;过程管理的第二项工作室鉴于所选过程模式制定出更为详尽的里程碑过程计划,以便于软件开发能鉴于各个里程碑获取有效的过程控制。4)产品管理包含产质量量管理、产品配置管理;为了保证软件产品的质量,一定成立一个有效的产质量量保证系统。该系统有质量标准、质量计划、质量控制等因素构成;为使产品及其配套资源拥有一致性,一定成立完美的配置管理,该项管理是一组针对软件产品的追踪和控制活动,其贯串于整个软件生计周期,以保证软件开发中的各样输出信息都是一致的。1.7软件工程一定考虑工程目标以表现其工程价值软件工程一定考虑工程目标,以表现其工程价值。一些主要的工程目标有降低成本、知足需求、改良性能、提高质量、实时交托。请依照你所认识的重要性,对上述工程目标进行优先级排序。答:知足需求、提高质量、改良性能、降低成本、实时交托。1.8结构方法的特色、面向对象方法的特色、面向对象方法的优胜性结构化方法有什么特色?面向对象方法有什么特色?C语言是结构化程序的代表,java则是面向对象程序的代表,试以他们为依听说明结构化方法与面向对象方法的差别。答:(1)结构方法的特色是以实现软件功能为基本目标;2)面向对象方法的特色是数据封装、类体继承、操作多态;3)与结构化方法对比,面向对象方法可表现以下几个方面的优胜性:①便利的由剖析到设计的变换通道;②更为靠近现实环境;③更为有效的程序复用手段;④可使软件以迭代方式逐渐完美。31.9MicrosoftVisio的使专心得MicrosoftVisio的使专心得。答:作为一个产品策划,能娴熟的使用绘制流程图的软件Visio能够为所欲为的表达自己的想法。作为一个协助工具,Visio的作用其实就是策划人员与技术人员之间的想法交流,以及策划人员对评审等人员的想法描绘。所以流程图的了然谨慎是需要具备的最基本条件。既然是“图”,简短雅观也能够更好的让工作进行,这就需要我们平时的多加练习了。其实在Visio的使用中我们也能掌握一些小技巧,比如F9能够切换连结线的功能,在连结线上怎样任意增添文字等。所以对一个策划人员来说,有时画流程图可能也像画画同样,还是蛮有兴趣的。这些固然此刻还不会用,我想此后我会努力学好这些的。第2章软件开发过程模式2.1软件开发期的目标任务及纲要设计需要达成的任务软件开发期的目标任务是什么?纲要设计需要达成什么任务?答:(1)软件纲要设计;2)软件详尽设计;3)编码和单元测试;4)系统集成;5)系统查收。纲要设计需要提交纲要设计说明书,她将作为详尽设计与系统集成的依照。2.2瀑布模式的一大特色是里程碑管理体制瀑布模式的一大特色是里程碑管理体制。对此,你有什么认识?答:瀑布模式可带来鉴于阶段任务的里程碑管理。这是一种可量化的并能适应大型项目的管理体制,能够鉴于阶段设定和胸怀项目进度,能够依照阶段进行项目任务分派以及估量项目任务达成比率。往常,项目管理者可预先估量出每个阶段的任务量,并以此为依照规定每个阶段的任务时限,而后即可按阶段部署任务与监察项目进度。2.3瀑布模式的限制性为何瀑布模式不可以很好的适应用户需求更改?原型进化模式有为何能很好地适应用户需求更改?答:瀑布模式的限制性,瀑布模式中的软件过程只好按规程推动,并且一定等到全部开发任务达成此后,才能获取能够交托使用的软件产品。所以,瀑布模式并不可以获取对软件系统的迅速创立,对于一些急于交托的软件系统开发,瀑布模式有操作上的不便。瀑布模式能够有效保证软件质量,对于需求明确的软件系统开发,瀑布模式是一种较好的过程模式。但是,瀑布模式的灵巧性不是很好,假如已经开始设计,则来自用户的一个很小的需求更改恳求,也可能会给软件项目带来大难题,由此致使5项目缓期。实质上,大多半应用系统在其开发早期用户的需求其实不清楚,所以对于那些面向用户的应用系统的开发,瀑布模式有较大的不适应性。2.4扔掉型原型与进化型原型的异同试说明扔掉型原型与进化型原型的异同?答:同样点:第一它们都是软件原型,软件原型是指对软件问题的直观模拟或仿真。原型可用于软件剖析与设计剖析阶段所建的原型叫做剖析原型,往常用来解决用户对软件系统在需求上的而模糊认识;设计阶段所建的原型叫做设计原型,往常用来尝试某种设计能否能够获取预期的成效。不一样点:(1)扔掉型原型是用了来对需求进行评鉴或对设计进行尝试的,为使需求与设计问题赶快确立下来,并尽量减少原型成本,扔掉型原型常常利用第四代语言或软件迅速生成工具创立。进化型原型因为将演变成可被用户使用的产品,所以一般要求在最后产品开发平台上创立。2)扔掉型原型不需要投入实质应用,所以能够就针对某个专卖问题成立局部原型,而无需考虑完好性,扔掉型原型也可能是一个叫完好的系统,但倒是一个不必投入实质应用的试验品。开发者大多项选择择可视化开发工具创立进化型原型,原由是这些可视化开发工具不单能迅速创立原型,并且还可以使原型投入实质应用,并逐渐演变成最后目标系统。2.5原型进化模式不可以适应较大型软件项目的开发的原由一般以为,原型进化模式不可以适应较大型软件项目的开发,原由是什么?答:原型进化模式对于面向用户的中小型软件开发会有必定的优势,但却因为管理规程上的不足,而不可以有效保证软件质量,不可以适应大型软件系统的开发。2.6增量模式的优胜性增量模式联合了瀑布模式与原型进化模式的特色,更详细地说,其可表现出哪些方面的优胜性?答:(1)增量模式供应了鉴于增量的需求适应性,能面向用户需求进行系统开发;同时又拥有优异的里程碑流程控制,能够鉴于里程碑管理软件项目,但是项目进度与任务量化,可供应有效的质量保证,所以能很好的适应大型应用软件系统的开发;(2)增量模式中的软件规格细节定义是联合到在增量构件的开发中进行的,因此可经过增量构件而渐渐完美需求;3)增量模式在开发早期时需获取需求框架;4)软件开发可依照增量构件的功能价值安排优先次序,并逐一实现与交托;5)增量模式下的软件系统式鉴于增量构件渐渐扩大的,这类开发模式明显有利于开发者构件创立与系统集成的经验累积;(6)增量模式还有益于从整体上降低软件项目的技术风险。7第3章软件项目管理3.1软件开发机构内的质量控制部的作用软件开发机构内一般都设有质量控制部,并将其置于产品开发部、服务部之上。对此,你有什么见解?答:质量控制部是供应软件质量标准,负责各阶段软件成就评审,负责软件开发过程质量控制以及产品服务质量监察。质量控制部大多设置于组织结构的较高层次,以获取对整个项目有效的质量监控。3.2项目负责人一定是管理专家的原由往常以为项目负责人不必定是技术专家,但一定是管理专家。对此,你有什么见解?答:软件是为用户开发的,在开发过程中从头至尾中一定获取用户的亲近合作和支持,作为项目负责人要特别注意与用户保持联系,掌握用户心理和动向,所以项目负责人不必定是技术专家,但一定是管理专家。3.3软件项目中文档的分类软件项目中文档的分类。答:(1)技术文档:软件开发人员的技术性工作成就,如需求规格说明书、数据库设计说明书、纲要设计说明书、详尽设计说明书;2)管理文档:软件开发人员的工作计划或工作报告,如项目开发计划、测试计划、开发进度月报、项目开发总结报告;3)用户文档:软件开发人员为用户准备的软件操作使用说明,如用户手册、操作手册、系统保护手册。3.4软件开发需要有配置管理其主要包含哪些方面的管理软件开发需要有配置管理其主要包含哪些方面的管理。答:软件配置管理需要成立三个配置库,开发库、基线库与产品库。1)开发库是一个面向开发人员的成就库,里面的成就一般是暂时的,大多是有待进一步完美的半成品。可经过开发库动向追踪开发人员的工作轨迹,或复原其从前的工作动向,实质上,因为有了开发库,开发过程中的软件更改会变得相对容易管理;2)基线库是一个面向项目组的成就库,用来保留被确认的基线成就。往常状况下,假如开发库中的软件半成品经过评审而确认达到了基线标准,便可从开发库移入基线库;3)产品库是一个面向软件开发机构的成就库,用来保留最后产品。产品库的管理权一般属于软件机构中的配置管理部门,只有该部门的工作人员才拥有操作权。3.5计算器程序编写一个计算器程序。用户输入运算数和四则运算符,输出计算结果。如图3-1“计算器”所示。图3-1计算器计算器代码以下:varForm1:TForm1;temp1:real;temp2:real;flag:integer;implementation9{$R*.dfm}procedureTForm1.FormCreate(Sender:TObject);begintemp1:=0;temp2:=0;flag:=0;end;procedureTForm1.N4Click(Sender:TObject);beginshowmessage('本程序用于对DELPHI编程进行基本练习');end;procedureTForm1.N2Click(Sender:TObject);beginclose;end;procedureTForm1.Button1Click(Sender:TObject);beginedit1.Text:=edit1.Text+button1.Caption;end;procedureTForm1.Button2Click(Sender:TObject);beginedit1.Text:=edit1.Text+button2.Caption;end;procedureTForm1.Button3Click(Sender:TObject);beginedit1.Text:=edit1.Text+button3.Caption;end;procedureTForm1.Button4Click(Sender:TObject);beginedit1.Text:=edit1.Text+button4.Caption;end;procedureTForm1.Button5Click(Sender:TObject);beginedit1.Text:=edit1.Text+button5.Caption;end;procedureTForm1.Button6Click(Sender:TObject);beginedit1.Text:=edit1.Text+button6.Caption;end;procedureTForm1.Button7Click(Sender:TObject);beginedit1.Text:=edit1.Text+button7.Caption;end;procedureTForm1.Button8Click(Sender:TObject);beginedit1.Text:=edit1.Text+button8.Caption;end;procedureTForm1.Button9Click(Sender:TObject);beginedit1.Text:=edit1.Text+button9.Caption;end;11procedureTForm1.Button10Click(Sender:TObject);beginedit1.Text:=edit1.Text+button10.Caption;end;procedureTForm1.Button11Click(Sender:TObject);beginflag:=1;temp1:=strtofloat(edit1.Text);edit1.Text:='';end;procedureTForm1.Button12Click(Sender:TObject);beginflag:=2;temp1:=strtofloat(edit1.Text);edit1.Text:='';end;procedureTForm1.Button13Click(Sender:TObject);beginflag:=3;temp1:=strtofloat(edit1.Text);edit1.Text:='';end;procedureTForm1.Button14Click(Sender:TObject);beginflag:=4;temp1:=strtofloat(edit1.Text);edit1.Text:='';end;procedureTForm1.Button16Click(Sender:TObject);beginedit1.Text:='';temp1:=0;temp2:=0;flag:=0;end;procedureTForm1.Button15Click(Sender:TObject);begincaseflagof1:temp2:=strtofloat(edit1.Text)+temp1;2:temp2:=temp1-strtofloat(edit1.Text);3:temp2:=strtofloat(edit1.Text)*temp1;4:temp2:=temp1/strtofloat(edit1.Text);end;或caseedit1.Text:=floattostr(temp2);end;procedureTForm1.Button17Click(Sender:TObject);beginedit1.Text:=copy(edit1.Text,1,length(edit1.Text)-1);end;end.133.6质量标准什么是质量标准?国际标准能否必定高于国家标准?软件公司能否能拟订自己的质量标准?答:软件质量标准是有关软件质量的大纲性规定,是成立有效的质量保证系统的基础,是评论软件质量利害的基本依照。有人以为国际标准必定高于国家标准,国家标准又必定高于地域标准,而实质情况可能恰好相反。状况常常是,鉴于国际标准成立,同时依据自己国家的特定需要,加进了一些特别限制,所以国家标准常常要高于国际标准。实质上,一些较大的软件开发机构也可依据自己特色,并参照国际标准、国家标准,拟订出有自己公司特色的质量标准。明显,这样的质量标准有更高的质量要求。第4章计算机系统工程4.1计算机系统的构成及特色计算机系统有哪些元素构成?其特色是什么?答:计算机系统的构成元素如图4-1计算机系统构成所示。计算机系统软件系统硬件系统应用系统工具系统操作系统网络系统数据库管理系图4-1计算机系统构成系统的最基本特色是拥有整体性,固然是由更小元素构成,但其作用仍表现为一个一致体。4.2Client/Server结构的系统扩大性例说明Client/Server结构的系统扩大性?答:Client/Server结构的系统扩大性如图4-2主机结构和图4-3C/S结构图所示。15终端1主机?扫描仪?画图仪图4-2主机结构通讯网络图4-3C/S结构图答:比如图4—3所示多媒体应用系统,也许早期应用只要要供应图片信息服务,所以早期系统只成立了图片服务器。但是,该系统扩大性好,固然早期系统中没有视频服务、目录服务,但却能够在系统后续完美建设中增添进来,以供应给更为全面的多媒体应用服务。4.3Browser/Server结构的特色及长处短处Browser/Server结构有哪些特色?与Client/Server结构对比,有哪些优势及弱点?答:(1)特色:B/S结构的核心是Web服务器,其鉴于IIS成立互联网信息服务,经过HTTP协议实现客户端与服务器的信息交互,并经过ASP、JSP等,实现Web动向服务。B/S结构可最大限度地减少客户端的计算负担。(2)与C/S对比较优弊端:在B/S结构有安装部署与前端接见的便利,但是在获取便利的同时,接见的快捷性与控制的灵巧性则降落了。实质上,在B/S结构中,客户端与Web服务器经过HTML协议间接地进行交互,并且客户端Web服务器之间是中断性连结。所以,这类结构的性能、稳固性、控制性都不如传统的C/S结构。也所以,实质应用中常常将传统的C/S结构与B/S结构相联合,以知足多方面的应用需求。如图4-4C/S结构和B/S结构所示。客户机1客户机4客户机5互联网4U内部局域网web服务器客户机2应用服务器数据库服务器客户机3图4-4C/S结构与B/S结构4.4网络游戏软件的系统结构答:如图4-5传统游戏结构流程图所示。17传统游戏结构流程图传统动作网游玩家任务玩家组队副本任务系统游戏交互系统游戏战斗系统认识其余玩家PVP剖析传统动作网游缺乏独立性和互动性,玩家一定先经过战斗或许战斗准备才能认识其余玩家,一般交互区好像虚设,系统更为显得苍白无力,这样看来传统动作游戏和能够联机游戏的单机游戏无异。传统MMORPG愤恨系统强迫PK刷怪升级玩家(种族对峙)游戏交互系统游戏战斗系统工会系统副本PVP工会对战(争工会性质的夺战)活动任务系统任务剖析传统MMORPG一以玩家为中心感觉系统相对于传统动作网游的一边倒的系统,来说更为完美,但是系统之间的均衡做的差强者意。单一的战斗系统其实不可以吸引玩家,复杂的交互聚烯烃和朝三暮四的任务也能够吓跑一群人图4-5传统游戏结构流程图4.5高层剖析软件开发为何要作高层剖析?需要进行哪些方面的高层剖析?答:软件开发需要立项,并需要有立项依照。诸多依照即来自系统高层剖析。系统高层剖析一般仅限于系统的基本特色,而其实不波及内部细节,所以被看做高层剖析。但是,需要注意的是,有待开发的软件不过计算机系统中需要增添的或需要改良的某种特定逻辑元素,她缺乏独立性,并依靠于硬件、基层软件、网络。实质上,对软件的剖析,需要以硬件、基层软件、网络、其余支撑软件为背景,并且越是早期阶段,越需要考虑基层环境的支持,越需要关注外面环境的影响。一般来说,可从以下方面对系统进行高层剖析:1)软件系统的业务领域,业务界限与业务流程;2)软件系统对硬件设备、网络环境、数据环境的依靠;3)软件系统的安全层级、举措、与防备体制;4)软件系统与其余有关系统之间的协作关系;5)软件系统与用户组织及其工作任务的协调性与适应性。4.6软件项目实行前为何要进行可行性剖析软件项目实行前为何要进行可行性剖析?波及哪些方面的可行性剖析。答:可行性剖析的目的是:以少许的时间及人力成本为代价,对项目时候可着手实行做出有依照的判断,以防止因项目实行条件不具备而造成的大批人力、物力与时间的浪费。项目正式启动前,一般应进行可行性剖析。因为技术与应用环境的复杂性,软件项目往常会有必定风险,其有可能达不到立项所希望的工程目标。所以,在然间项目正式实行之间,很有必需对其进行可行性剖析,以判断立项中所希望的工程目标能否能够达到。剖析时需要依据项目基本目标及条件限制,成立系统高层模型,即应在高层模型中表现出来,以方便对项目做出有依照的可行性判断。可行性剖析还将产生对软件的高层定义,其一般鉴于项目基本目标与用户直观需求产生,可作为框架用于需求剖析,能够方便后期软件规格的细节定义。可行性剖析包含下边几个方面内容:191)技术可行性:①技术自己的限制;②技术资源的限制。2)经济可行性:①项目成本估量;②项目效益剖析。(3)应用可行性。4.7软件开发可行性的标准假如软件开发所采纳的技术即先进又成熟,该技术能否必定拥有可行性?答:技术可行性剖析是对于软件项目技术问题的高层策略,需要对有待开发系统的高层技术构架进行探究。对技术可行性的判断是鉴于软件开发者可能采纳的技术而提出的,并需要从技术自己与技术资源这两个方面做出可行性评估。软件开发对技术的一半要求是:不只拥有先进性,并且已经获取较好的工程经验,有必定的成熟度,能够保证开发出来的软件系统在工能、性能、安全灯诸多方面都能达到预期的技术目标。明显,技术的先进性与成熟度是两个需要均衡考虑的技术因素。技术资源限制是指开发者对所采纳技术在掌握程度上的限制,如娴熟程度、资源丰富程度、技术支持等。毫无疑问的是,只管开发者准备采纳的技术史即先进有成熟的,但若是开发者对该技术缺乏经验,并且难以获取外面技术支持,则从工程角度考虑,该技术仍不具备可行性。项目还需考虑经济上的合理性,她应当是有经济支撑力的,并且可带来经济效益。往常,可从成本与效益这两个方面,对项目做出经济可行性评估。应用可行性需要考虑的是软件的可用性与适用性,所波及的问题有:法律条款对软件的限制、应用受权对软件的限制、业务规则对软件的限制。明显,一个先行法律法例不一样意使用的软件,或一个超越了使用受权范围的软件,或一个与所处领域业务规则有矛盾的软件,将不具备应用可行性。第5章需求剖析5.1软件需求什么是软件需求?有哪些方面的软件需求?答:软件需求,即用户对软件的要求。往常,用户会依据自己业务需要提出软件要求,如要求财务软件系统能够准时自动生成财务剖析报表,要求人力资源软件系统能够进行人力成本核算。软件需求的分类:功能需求、数据需求、性能需求、接口需求。5.2用户诉苦解决举措软件常常因不可以知足应用需求而受到用户诉苦。对此,假如你是软件开发者,你有何见解,并有何解决举措?答:可能是开发商专注于技术所致,开发者吧绝大多半精力放在软件技术上,如先进的系统结构、高效率的程序算法,而对用户需求不够重视,致使软件固然实现了,但却没能知足用户所需。也可能是开发者缺乏掌握软件需求的技术所致,固然开发者其实不缺乏对用户的热忱,但却不可以很好的与用户交流,不可以很好地理解用户企图,致使确立下来的软件规格与用户需求其实不一致。开发商在开发软件从前最好先把用户的企图理解清楚。5.3系统剖析师应当拥有的素质往常以为,系统剖析师是需求剖析专家,系统剖析师应当拥有哪些素质?答:(1)计算机系统知识系统;2)用户领域知识系统;3)工作责任心与仔细态度;4)对详细事务进行抽象的能力;5)问题建模能力;6)交流与协调能力;7)文档协作能力。21系统剖析师是需求剖析责任人,其任务是获取用户需求,并依据软件用户需求定义软件技术规格,以利于软件开发者实现软件需求,如图5-1系统剖析师的职责所示。软件用户需求软件技术规格用户系统剖析师技术人员图5-1系统剖析师的职责5.4需求剖析的基本过程试对需求剖析的基本过程进行说明。答:如图5-2需求剖析过程所示。需求框架剖析用户需求需求规约成立需求模型定义软件规格需求考证
软件规格说明需求规格说明书如图5-2需求剖析过程5.5软件用户的种类什么是软件用户?举例说明各不一样种类的软件用户。答:一般说来,用户即指软件的使用人。但是,当用户作为一个与软件有关的抽象观点出现是,则有这范围更广德外延,泛指系统之外可从软件获取服务的对象,包含软件使用机构,软件直接操作者,软件间接得益者以及需要从软件获取服务支持的其余系统或设备,如图5-3来自不一样领域的用户所示。软件销售机构软件使用机构软件配套设备供应者软件开发机构协作系统开发机构软件直接操作者软件间接得益者图5-3来自不一样领域的用户不一样阶层的用户会有不一样的软件需求:1)高层用户所关注的可能是鉴于系统的业务法杖,如新系统能否有益于提高工作效率,能否有益于拓宽业务面,能否有益于改良客户关系;2)中层用户所关注的可能是鉴于系统的业务运作,如新系统能否能保证现有业务模式的正常运行,能否能更方便,有效地供应她所需要的业务数据;3)低层用户所关注的则常常是实质操作,如新系统能否能供应更为人性化并更为方便快捷的操作界面,能否能很快学会新系统的使用;用户与软件系统的亲近关系对用户进行分类:1)软件系统管理员往常被当作是核心用户;2)软件系一致般操作者被当作是直接用户;3)与软件系统有关的部门负责人则是可能被当作是间接用户。5.6常用的检查手段检查还是采集用户需求的最主要门路,常用的检查手段有哪些?答:(1)访谈;(2)会谈;233)问卷;4)跟从作业;5)采集资料。5.7需求剖析中需求模型的用途需求剖析中可成立哪些方面的需求模型,分别有什么用途?答:业务树图是典型的结构化建模,用于睁开业务,但是水乳交融的系统业务被分解为诸多业务细流,由此可使大而模糊地用户业务被分解成很多小而精确的用户业务。如图5-4产品计划与生产管理系统业务树图所示。产品计划与生产管理系统产品计划管理生产流程管理制制制监定验定配订督产收材置生生品产料材产产计品计料计进划划划度图5-4产品计划与生产管理系统业务树图业务用例图是系统业务的用户应用举例。如图5-5产品计划与生产管理系统业务用例图所示。业务活动图是系统业务的工作流程建模,可说明系统中业务的进行步骤。如图5-6“产品计划与生产管理”业务活动图所示。拟订产品计划市场部
确认产品计划生产部拟订资料计划查收产品计划用例1拟订生产计划查收资料计划资料部确认资料计划图5-5产品计划与生产管理系统业务用例图市场部生产部资料部拟订产品计划确认产品计划制定资料计划确认资料计划制定生产计划配置资料查收资料计划达成产品计划生产进度监控查收产品计划图5-6“产品计划与生产管理”业务活动图255.8泳道的含义业务活动建模中,泳道代表了什么?答:活动履行者往常可与用例图中的参加者对应,活动图中一般使用泳道表示,如图5-6“产品计划与生产管理”业务活动图中的市场部,生产部,资料部。5.9需求剖析中波及哪些方面的需求考证?需求剖析中波及哪些方面的需求考证?答:(1)有效性考证;2)一致性考证;3)完好性考证;4)现实性考证;5)可查验性考证。5.10原型需求考证和评审需求考证怎样经过原型进行需求考证?怎样经过评审进行需求考证?答:鉴于原型的需求考证过程如图5-7鉴于原型的需求考证所示。先期需求规约创立原型用户体验经过修正的需求规约已知足用户需求改正原型图5-7鉴于原型的需求考证鉴于评审的需求考证过程有以下几方面:1)一致性;2)有效性;3)完好性;4)现实性;5)可查验性;6)可读性;7)可追踪性;8)可调理性。27第6章结构化剖析建模6.1学生管理系统建模某“学生管理系统”波及以下实体:1)学生(学号,姓名,性别,出诞辰期)2)班级(班号,班名,班长,限制人数)3)班主任(编号,姓名,学历,电话)4)卧室(卧室号,卧室长,限制人数)5)学生社团(社团号,社团名,限制人数,负责人)实体之间有以下关系:1)学生一定按班级上课。一个班可安排多个学生上课,但一个学生只好安排在一个班。2)学生一定按卧室住宿。一个卧室可安排多个学生住宿,但一个学生只好安排在一个卧室。3)学生可参加学生社团。一个社团可采取多个学生参加,一个学生可参加多个社团。为便于社团管理,学生入社时需要记录入社时间。4)班级一定由班主任管理。一个班只好由一个班主任管理,但一个班主任可管理多个班。依据上述的描绘,达成该问题的E-R建模。答:如图6-1学生管理系统建模所示。6.2图书借阅管理系统建模某“图书借阅管理系统”波及以下实体:1)书目(书目号,ISBN号,书名,作者,第一版商,第一版日期,书价)2)图书(图书表记码,寄存地点,目前状态,更改日期)3)图书管理员(管理员编号,姓名,职位,电话)4)读者(读者编号,姓名,电话,E-mail,身份证号)并有以下波及实体关系的业务说明:(1)图书应有书目,以供应图书检索的便利。一条书目可有多本同ISBN号的图书,每一本图书只好对应于一个书目。(2)图书可被读者借阅。读者在办理图书借阅时,管理员应记录借书日期,并记录商定还书日期,以敦促读者准时送还图书。一个读者可借阅多本图书,一本图书每次只好被一个读者借阅。3)图书将由管理员办理入库。图书入库时,应记录图书状态更改,如存库、外借,并记录更改日期。一个管理员可办理多本图书入出库,但一本图书的某次入出库办理一定由确立的管理员经手。依据上述描绘,达成该问题的E-R建模。答:如图6-2图书借阅管理系统建模所示。姓名限制人数班名性别学号班号学生N班级安排1NN班长N出诞辰期管理1姓名班主任安排编号电话参加学历1卧室卧室号N学生社团负责人限制人数社团名社团号
卧室长限制人数图6-1学生管理系统建模29书名ISBN号书目号书目作者1第一版商管理员编号职位1图书管理员姓名电话
书价读者编号姓名电话第一版日期身份证号读者1E-mail检索借阅更改日期NN图书办理目前状态图书表记码寄存地点图6-2图书借阅管理系统建模6.3库房管理系统流程某“库房管理系统”流程图如图6-3库房管理系统图所示。该系统波及多部门应用。此中,入库单将由采买部输入,出库单将由销售部输入,入出库统计剖析报表由计划部打印,采买订单由采买部打印,使用数据流图说明该系统的数据办理流程。采买订单生产采买计划入库单更新库存记录库存数据表出库单输入入出库单增添入出库入出库数记录据表入出库统计剖析入出库统计剖析报表图6-3库房管理系统图6.4入学管理系统的数据流程某培训机构“入学管理系统”有报名、交费、就读等多项功能,并有课程表(课程号,课程名,收费标准)、学员登记表(学员号,姓名,电话)、学院选课表(学员号,课程号,班级号)、账目表(学员号,收费金额)等诸多半据表。下边是对系统各项功能的说明。(1)报名:有报名处负责,需要在学员登记表长进行报名登记,需要查问课程表让学员选报课程,学员所报课程将记录到学员选课表。2)交费:由收费处负责,需要依据学员所报课程的收费标准进行收费,而后再项目表中记账,并打印收款数据给办理交费的学员。3)就读:由培训处负责,在考证学员收款数据后,依据学员所报课程将学员安排到适合的班级就读。依据上述描绘并使用数据流图分层说明该系统的数据办理流程。316.5积蓄系统数据办理流图某银行“积蓄系统”有开户、密码设置、身份考证、存款、取款等功能。下边是对这些功能的说明。1)开户:客户可填写开立账户申请表,而后交由工作人员考证并输入系统。系统会成立账户记录,并会提示客户设置密码(若客户未设置,则会有一个默认密码)。假如开户成功,系统会打印一本存折给客户。2)密码设置:在开户时客户即可设置密码。今后,客户在经过身份考证后,还可改正密码。3)身份考证:系统可依据客户的账户、密码,对客户身份进行考证。4)存款:客户可填写存款单,而后交由工作人员考证并输入系统。系统将成立存款记录,并在存折上打印该笔存款记录。5)取款:客户可按存款记录逐笔取款,由客户填写取款单,而后交由工作人员考证并输入系统。系统第一会考证客户身份,假如客户身份考证经过,系统将根据存款记录累计利息,而后注销该笔存款,并在存折上打印该笔存款的注销信息与利息累计。依据上述描绘并使用数据流图剖析说明该系统的数据办理流图。答:如图6-4存款和6-5取款所示。重填存款信息犯错储户存款单查对存款更新存款办理存款单信息信息储户存款清单打印存折图6-4“存款”数据流图重填查对存款查对密码储户取款单单密码单款余额信息取计算利息更新余额储户打印清单取款信息办理清单取款信息图6-5“取款”流程图33第7章鉴于UML的面向对象剖析建模7.1图书借阅管理系统某“图书借阅管理系统”需求说明以下:(1)管理员应成立图书书目,以供应图书检索的便利。一条书目可有多本同ISBN号的图书,每一本图书只好对应于一个书目。2)图书可被读者借阅。读者在办理图书借阅时,管理员应记录借书日期,并记录商定还书日期,以敦促读者准时送还图书。一个读者可借阅多本图书,一本图书每次只好被一个读者借阅。3)图书将由管理员办理入库。图书入库时,应记录图书状态更改,如存库、外借,并记录更改日期。一个管理员可办理多本图书入出库,但一本图书的某次入出库办理一定由确立的管理员经手。试以上陈述明为依照,对该问题进行用例建模、活动建模、类剖析建模。答:如图7-1“图书管理系统”活动图所示。显示系统管理界面显示系统信息扫描读者信息显示借阅信息录入图书信息显示图书查问界面输入查问信息显示图书信息图书信息入库输入查问信息插入图书信息更新库中信息节俭成功图7-1“图书管理系统”活动图7.2商品库存管理系统某“商品库存管理系统”需求说明以下:1)计划部、库房部、采买部、销售部将使用该系统。2)计划部负责编制商品库存计划,波及品名、库存上限、库存下限。3)采买部需要依照商品库存状况与商品库存计划编制商品订购单。4)销售部需要依照商品库存状况编制商品提货单。5)库存部负责商品进出库操作,并凭商品订购单入库,凭商品提货单出库。6)商品进出库时,需要写入出库记录到商品流通表,并更新商品库存量。假如某商品库存量低于计划下限,则会自动通知采买部订货。7)系统有针对部门的受权体制和针对工作人员的注册体制,并由系统管理员负责受权与注册。试以上陈述明为依照,对该问题进行用例建模、活动建模、类剖析建模。答:如图7-2“库存管理”用例图所示。库房管理员物质处采买处物质处退货调库领料审批报验入库库存综合出库库房管理员报检处库房管理员库房管理员物质处图7-2“库存管理”用例图357.3银行积蓄系统某“银行积蓄系统”需求说明以下:1)开户:客户可填写开立账户申请表,而后交由工作人员考证并输入系统。系统会成立账户记录,并会提示客户设置密码(若客户未设置,则会有一个默认密码)。假如开户成功,系统会打印一本存折给客户。2)密码设置:在开户时客户即可设置密码。今后,客户在经过身份考证后,还可改正密码。3)存款:客户可填写存款单,而后交由工作人员考证并输入系统。系统将成立存款记录,并在存折上打印该笔存款记录。4)取款:客户可按存款记录逐笔取款,由客户填写取款单,而后交由工作人员考证并输入系统。系统第一会考证客户身份,假如客户身份考证经过,系统将根据存款记录累计利息,而后注销该笔存款,并在存折上打印该笔存款的注销信息与利息累计。试以上陈述明为依照,对该问题进行用例建模、活动建模、类剖析建模。答:如图7-3“银行积蓄系统”活动图所示。存款选款务择存服退密码输入不正确择续出选继服择务密码输入正确选输入密码选择服务种类选务选择服继择出取续款服退务择选取款图7-3“银行积蓄系统”活动图第8章纲要设计8.1软件系统构架波及因素软件系统构架波及哪些因素?纲要设计中为何需要最初确立系统构架?答:系统构架设计用于确立系统的基础框架。对此,设计者能够从以下方面进行设计说明。1)软件系统构架波及的因素有:①系统支持环境,如硬件环境、软件环境、网络环境。②系统系统结构,如系统基本成分、系统各成分之间的关系。2)因为系统构架用于确立系统的基本框架,该项设计任务应当第一启动,并一定在其余设计启动从前达成,以使系统其余方面的设计可鉴于系统基本框架有效睁开。8.2软件分层系统结构特色及优势软件分层系统结构特色及优势答:(1)软件分层系统结构的特色是系统从上至下被区分为界面交互层、业务办理层、数据办理层、数据储存层,各层面内部由协作元素齐集,层面之间则依靠接口实现通讯。如图8-1软件系统分层系统所示。界面交互层界面程序1界面程序2业务办理层业务办理程序1业务办理程序2业务办理程序3数据办理层数据办理程序1数据办理程序2数据办理程序3数据储存层数据库1数据库2图8-1软件系统分层系统(2)分层系统的优势是系统可分层建立。各个层面有比较确立的功能目标,并有特色明确的结构元素与结构规则。比如:界面交互层的功能目标是系统与环境的交互,结构元素主若是界面控件,并需要面向用户确立操作规则;业务办理层则以业务办理为功能目标,结构元素是业务子系统,它们往常鉴于特定业务定义,结构元素则是功能构件欸乃,如DLL动向库,.exe可履行程序。8.3数据表及其关系与实体及其关系的不一样数据库设计中的“数据表及其关系”与数据库剖析中的“实体及其关系”有什么联系,有什么不一样?答:数据库结构设计时,最基本的模型元素就是数据表。能够从数据库分析模型中提取数据表。剖析模型中的实体、关系等能够依照以下规则,映照为设计模型中的数据表。1)实体可映照为一个实体数据表,实体表记码属性则映照为数据表主键字段。但假如实体之间是一对一关系,则两个有关实体可联合映照为一个数据表。2)实体之间的多对多关系,则需要映照为一个关系数据表。假如一个数据表中的数据会影响或限制到另一个数据表中的数据,则两个数据表之间存在主表到从表的关系。数据表之间的关系也能够从数据库剖析模型中提取。能够依照以下规则,将剖析模型中的实体关系映照为设计模型中的数据表主从关系。1)数据实体之间的一对多关系,可映照为主表到从表的关系,并且主表的主键字段需要引入从表作为外键,以知足成立主表到从表的关系需要。2)数据实体之间的多对多关系,则需要映照为两个实体数据表到关系数据表之间的主从关系。8.4索引的作用索引有益于提高数据检索速度,但却要求有克制地对数据表设置索引。为什么有这样的要求?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论