欢迎来到天天文库
浏览记录
ID:7069408
大小:98.50 KB
页数:5页
时间:2018-02-04
《软件工程与uml建模》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程与UML建模复习题一:单选题(请将答案填入下表)ABCCD,BBBDC,AADAC1.在软件过程中,下列活动不属于辅助活动的是A).设计2.以下程序体现的是耦合publicPrintReport(Stringcommand){B).控制耦合3.以下各种图不是UML使用的图是C).数据流程图4.右边这个图是A).用例图的分层表示B).模块层次图C).数据流程图的分层表示D).系统的控制层次图5.甘特图是一种D).进度计划表达方式6.以下用例命名中,最合理的是B).查询宠物7.某系统中有两个用例:一个用例的参与者是用户,用例是“注
2、册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系?B).没有关系8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指B).扇入9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)3、中,下列活动属于辅助活动的是D).风险管理14.下面用例模型体现了用例间的关系5A).泛化、包含和扩展15.下图体现了面向对象中类的C).自反关联、选择题ABCCD,BBBDC,AADAC二、简答题1.请解释软件工程的含义。软件工程是以质量为核心,为了经济地开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的和可控制的工程原则、方法,涉及到软件过程、项目管理、开发方法、开发工具,甚至企业文化等各个方面。2.软件有哪些特征?为什么会出现软件危机?软件开发存在以下特性:1)软件具有难以描述性。2)软件开发缺乏可见性。3)4、软件开发具有复杂性。4)软件开发具有变化性。5)软件开发具有风险.6)软件开发具有强合作性。软件开发的这些特性使得人们深陷在软件的危机当中。所谓软件危机,是指在软件开发和维护过程中所存在的长周期、高成本、低质量等问题。3.请解释模块的概念。模块是具体的部件,是定义在程序设计语言级别上的构件,例如Java语言中的包、类和方法,C语言中的文件和函数,都是模块,只是粒度不同而已。模块具有有界性、可插拔性和可互换性,即:①对一个模块作某些改变,其变化影响不应该超出该模块的边界;②从系统中删除该模块,将仅仅影响它执行的功能;③用一个具有相同接口5、和功能的新模块代替就旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。54.请解释耦合和内聚的概念。内聚是一个模块内部各部件之间联系紧密程度的度量。分治将任务分解为若干个小的任务,内聚则强调分解时将相关的内容放到一起。内聚用于确定系统中的每个模块是否是一个合理的程序单元,即是否是一个合理的模块。一个模块内的各个部件联系越紧越好,说明它们应该一起构成这个模块。耦合是模块间相互联系强弱的度量,用于帮助设计者保证设计出的系统是由一系列松散耦合的模块组成。模块之间耦合的强弱取决于模块间传递数据的方式、接口复杂情况以及传递6、数据的类型。三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生学籍和成绩管理系统。这是一个在网络上运行的系统,学生处负责对学生信息的管理,学校的多个部门都可以查询到学生的信息,学生可以查询自己的成绩状况。1.您的开发团队需要哪些角色,请说明。•开发单位角色(管理角色)–企业级管理者–事业部经理–软件部长–项目经理–Team负责人•开发单位角色(项目主要技术角色)–系统分析师•需求阐释者–需求复审师–主构架师–系统构架师•构件设计师•数据库设计师•界面设计师–设计复审师–实施工程师•程序员•代码复审员•集成员–测试7、工程师•测试员–部署工程师•部署员•包装员•文档编写员•开发单位角色(项目辅助角色)–首席技术官–技术总监–主复用师–复用工程师–过程总监•过程管理师–SQA总监5•SQA工程师–领域专家–技术专家–风险管理师–变更控制授权人–配置管理师–人力资源总监–人力资源管理师–培训师–财务人员–市场/销售人员•开发单位角色(企业外部角色)–监理工程师–外包商–第三方商业构件提供商–软件服务提供商–客户方决策者–客户方业务阐释者–客户方IT工程师最终用户2.分析并描述这个系统的UseCase,包括用例模型和其中某一个用例的文档。可从Actor和8、用例之间的关系等方面进行评分。用例之间应该有3种关系。–UML中,一个用例模型可以由若干张用例图组成–Actor在系统边界外部–Actor直接与系统交互–Actor与系统的交互应该是有意义的–Actor可能是任何事物–一
3、中,下列活动属于辅助活动的是D).风险管理14.下面用例模型体现了用例间的关系5A).泛化、包含和扩展15.下图体现了面向对象中类的C).自反关联、选择题ABCCD,BBBDC,AADAC二、简答题1.请解释软件工程的含义。软件工程是以质量为核心,为了经济地开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的和可控制的工程原则、方法,涉及到软件过程、项目管理、开发方法、开发工具,甚至企业文化等各个方面。2.软件有哪些特征?为什么会出现软件危机?软件开发存在以下特性:1)软件具有难以描述性。2)软件开发缺乏可见性。3)
4、软件开发具有复杂性。4)软件开发具有变化性。5)软件开发具有风险.6)软件开发具有强合作性。软件开发的这些特性使得人们深陷在软件的危机当中。所谓软件危机,是指在软件开发和维护过程中所存在的长周期、高成本、低质量等问题。3.请解释模块的概念。模块是具体的部件,是定义在程序设计语言级别上的构件,例如Java语言中的包、类和方法,C语言中的文件和函数,都是模块,只是粒度不同而已。模块具有有界性、可插拔性和可互换性,即:①对一个模块作某些改变,其变化影响不应该超出该模块的边界;②从系统中删除该模块,将仅仅影响它执行的功能;③用一个具有相同接口
5、和功能的新模块代替就旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。54.请解释耦合和内聚的概念。内聚是一个模块内部各部件之间联系紧密程度的度量。分治将任务分解为若干个小的任务,内聚则强调分解时将相关的内容放到一起。内聚用于确定系统中的每个模块是否是一个合理的程序单元,即是否是一个合理的模块。一个模块内的各个部件联系越紧越好,说明它们应该一起构成这个模块。耦合是模块间相互联系强弱的度量,用于帮助设计者保证设计出的系统是由一系列松散耦合的模块组成。模块之间耦合的强弱取决于模块间传递数据的方式、接口复杂情况以及传递
6、数据的类型。三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生学籍和成绩管理系统。这是一个在网络上运行的系统,学生处负责对学生信息的管理,学校的多个部门都可以查询到学生的信息,学生可以查询自己的成绩状况。1.您的开发团队需要哪些角色,请说明。•开发单位角色(管理角色)–企业级管理者–事业部经理–软件部长–项目经理–Team负责人•开发单位角色(项目主要技术角色)–系统分析师•需求阐释者–需求复审师–主构架师–系统构架师•构件设计师•数据库设计师•界面设计师–设计复审师–实施工程师•程序员•代码复审员•集成员–测试
7、工程师•测试员–部署工程师•部署员•包装员•文档编写员•开发单位角色(项目辅助角色)–首席技术官–技术总监–主复用师–复用工程师–过程总监•过程管理师–SQA总监5•SQA工程师–领域专家–技术专家–风险管理师–变更控制授权人–配置管理师–人力资源总监–人力资源管理师–培训师–财务人员–市场/销售人员•开发单位角色(企业外部角色)–监理工程师–外包商–第三方商业构件提供商–软件服务提供商–客户方决策者–客户方业务阐释者–客户方IT工程师最终用户2.分析并描述这个系统的UseCase,包括用例模型和其中某一个用例的文档。可从Actor和
8、用例之间的关系等方面进行评分。用例之间应该有3种关系。–UML中,一个用例模型可以由若干张用例图组成–Actor在系统边界外部–Actor直接与系统交互–Actor与系统的交互应该是有意义的–Actor可能是任何事物–一
此文档下载收益归作者所有