搜索
您的当前位置:首页正文

软件工程非选择题

来源:哗拓教育
软件工程非选择题

1.

Capability Maturity Model Integration (CMMI)

能力成熟度模型集成,是一个过程元模型,定义了如何建立完整的软件过程,软件组织所应该具备的过程特征。分为不完全级、已执行级、已管理级、已定义级、已定量管理级、优化级。 2.

Use-Cases

指从系统外部可见的系统的一个功能,也就是描述系统应该完成什么功能。 3. Information Hiding

信息隐藏:这是把系统分解为模块时的思想,即模块内部的数据与过程,应该对不需

要了解这些数据与过程的模块隐藏起来。只有为了完成软件的总体功能而必须在模块间交换的信息,才允许在模块间进行传递。 4.

Waterfall model

是一种基于软件生存周期的线性开发模型。它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构件和部署的过程,最终提供一个完整的软件并提供持续的技术支持。 5.

Incemental model

增量模型:以迭代的方式运用瀑布模型。这种模型把软件看作是一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量。

Software engineering(17) 软件工程是:(1)将系统化的,规范化,可量化的方法应用于软的开发,运行和维护,即将工程化的方法应用于软件。(2)在(1)中所述方法的研究 7.

8. prototyping model 原型模型的思想是:先建立一个能够放映用户主要需求的原型,让用户实际看一下未来系统的面貌,以便判断哪些功能是符合需要的,哪些方面还需要改进,然后将原型反复改进,直至建立完全符合用户要求的新系统。

9. Software Architecture (200)

软件体系结构:一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件外部可见属性以及他们之间的相互关系。

问答题:5*6=30分

1. What is the difference between software and hardware? 1软件是设计开发的,而不是传统意义上生产制造的。 2软件部会“磨损”。

3虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。 2.

For the waterfall model, describe situations where this model can and cannot be used and why.(37)

Unified Modeling Language (UML)

统一建模语言,对软件进行可视化、规约、构造、文档化的一种语言。

6.

瀑布模型:通常用于需要对一个已有的系统进行明确定义的适应性调整或增强的时候;也可用于发生在一些新的开发项目上,但是需求必须是准确定义和相对稳定的。

在实际的不遵守瀑布模型的顺序,客户通常难以清楚描述所有的需求,以及软件工作是一个高速的,永不停止的变化流,特性,功能和信息内容都会变化的情况下不适合用瀑布模型(38) Describe the conditions under which Incremental models should be used and what an

“increment” means in terms of project work and delivery. 增量过程模型:初始软件需求有明确的定义,但是整个开发过程却不宜单纯用线性模型。同时,可能迫切需求为用户迅速提供一套功能有限的软件产品,然后再后续版本中再细化和扩展功能。在这种条件下,需要选用一种以增量的形式生产软件产品的过程模型。 4. Discuss the pros and cons of prototyping model and how it differs from the spiral model. 快速原型的优点在于尽可能快速地建造出软件原型,然后给用户评价,通过反馈可以确定客户的真正需求。缺点是:一一种可能来自用户,他们舍不得将“活生生”的原型废弃不用,要求开发者仅作“少量修改”就可以使用,这使得软件管理往往陷入失效。二对于开发者,当他们熟悉原型后,明知它有许多不足,却不愿全部推倒重来,宁可在最终系统中保留一部分不理想的程序,结果造成并不完美的选择变成了系统的组成部分。快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果,和瀑布模型不同的是,采用瀑布模型时候,软件的需求分析也可以再用户和系统分析员之间反复讨论,使之逐步趋于完善。但这种讨论始终是纸上谈兵,而原型模型则是“真枪实弹”,能够使用户立刻与想象中的目标系统作出比较。

5. List the key issues stressed by an agile philosophy of software engineering. Page71

软件工程的敏捷理念强调4个关键问题:具有控制力的自我组织团队对所展开工作的重要性;团队成员之间,开发参与者与客户之间的交流与合作;对“变更代表机遇”的认识;以及强调快速软件交付以让客户满意。

6. Describe the differences between software construction and software deployment.

软件的构造包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。部署则包括了三个动作:交付,支持和反馈。用于现代软件工程本质上是演变的,因此部署并不是只发生一次。两者都是软件工程的通用框架活动,但是构件肯定是发生在部署之前,部署是构件的下一个活动。

7. What is the goal of business process engineering?(102)

业务过程目标是定义一个能有效利用信息进行业务活动的体系。是一种系统工程方法,用以确定能够有效使用信息的业务架构。业务过程工程的目的是提供易于理解的数据结构,应用架构,还有满足业务战略和每个业务领域目标的基础设施。

8. In the context of systems engineering what is product engineering?

产品工程的目的是将用户期望的已定义的一组能力转变成真实产品。产品工程是从系统分析开始的系统工程,系统工程师确认用户需求,确定经济和技术可行性,将功能和性能分配到软件,硬件,人员,数据库等关键工程构建中。

9. What are the six steps for requirements engineering?

需求工程的六个步骤是:起始,导出,精化,协商,规格说明,确认和管理 10.

What is equivalence partitioning as it applies to software testing? What is scenario-based testing?

等价划分是一种黑盒测试方法,它将程序的输入划分为若干的数据类,从中生成测试用例。理想的测试用例是可以单独的发现一类错误,否者在观察到一般错误之前需要进行许多测试用例,等价划分试图定义一个测试用例以发现一类错误,由此减少所需测试用例的总数。

基于场景的测试:它关心的是用户做什么,而不是产品做什么,捕获用户完成的任务,3.

然后在测试时候使用它们及其变体。场景用来发现交互错误。这种测试倾向于用单一测试检查多个子系统。 11.

Describe the general process of creating a data flow diagram (DFD).

从系统的基本功能模型(把整个系统看成是一个加工)开始,逐层地对系统进行分解。没分解一次,系统的加工数量就增多一些,加工的功能也具体一些。继续重复这种分解,直到所有的加工都足够简单为止。最终为待开发的系统画出一组分层的数据流图,以替代一张含有系统全部加工的包罗万象的总数据流图。 12.

Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling?

静态图:用例图,类图,对象图,构件图,部署图。 动态度:状态图,时序图,协作图,活动图。 13.

List the four design models required for a complete specification of a software design and the role of each.

14. How is a transaction center different from a transform center in a data flow diagram?

(问题翻译:在数据流图中,事务中心和变换中心怎么样不同的呢)

答案:变换型结构由传入路径、变换中心和传出路径3部分组成,变换中心在其中起

中间转换作用。事务型结构是指当外部信息沿着接受路径进入系统后,经过事物中心获得某一个特定值,就能据此启动某一条动作路径的操作。 15.

Describe the differences between the software engineering terms coupling and cohesion? (coupling)耦合性:指一个模块与其他模块间的联系,也称为块件联系。 (cohesion)内聚性:指模块内部各个成分之间的联系,也称为块内联系。 What is the Unified Modeling Language (UML)?

统一建模语言,对软件进行可视化、规约、构造、文档化的一种语言。

What’s a Use-Case Diagram? Please give an example in UML.

用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于描述软件系统和外部参与者之间的交互,由系统边界、用例、参与者和关联等符号组成。 18. 19.

What’s an Activity Diagram? Please give an example in UML.

活动图显示动作流程及其结果,阐明了业务用例实现的工作流程。

16. 17.

What’s a Sequence Diagram, Collaboration Diagram respectively? What’s the difference between them?

Sequence Diagram(顺序图):也叫时序图,用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。以垂直轴表示时间,水平轴表示不同的对象。

(Collaboration Diagram)协作图:用于描述相互协作的对象间的交互和链接。

二则区别是:顺序图(时序图)着重体现交互的时间顺序,而协作图着重体现交互间的静态链接。 20.

What are the steps needed to build an object-behavior model?

21. Describe the differences between black-box testing and white-box testing? 黑盒测试:(也叫功能测试)根据被测试程序的功能来进行的测试。 白盒测试:(也叫结构设计)是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

区别:黑盒测试:主要从用户的输入和系统输出进行软件外部的测试。 白盒测试:主要对软件内部的逻辑业务进行测试。

分析题 2*10=20分

V(G)=3

Basic Path: ace, abce, acde Test case:

ace: i=1,j=0,X=1 Expected result: X=1 abce: i=1,j=1,X=1 Expected result: X=1 acde: i=2,j=1,X=1 Expected result: X=2

因篇幅问题不能全部显示,请点此查看更多更全内容

Top