四川大学软件工程考点(5)

2020-02-21 01:47

6.scenario-based testing(基于场景的测试,是一种面对对象测试方法) concentrates on what the user does,not what the product does。意味着捕获用户必须完成的任务,然后在测试时使用它们及其变体。

问答题:

1.What is the difference between software and hardware?

①软件是设计开发的,而不是传统意义上生产制造的。 ②软件部会“磨损”。

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

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

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

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

3.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.

21

快速原型的优点在于尽可能快速地建造出软件原型,然后给用户评价,通过反馈可以确定客户的真正需求。

缺点是:①一种可能来自用户,他们舍不得将“活生生”的原型废弃不用,要求开发者仅作“少量修改”就可以使用,这使得软件管理往往陷入失效。②对于开发者,当他们熟悉原型后,明知它有许多不足,却不愿全部推倒重来,宁可在最终系统中保留一部分不理想的程序,结果造成并不完美的选择变成了系统的组成部分。

快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果,和瀑布模型不同的是,采用瀑布模型时候,软件的需求分析也可以再用户和系统分析员之间反复讨论,使之逐步趋于完善。但这种讨论始终是纸上谈兵,而原型模型则是“真枪实弹”,能够使用户立刻与想象中的目标系统作出比较。

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?(P102)

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

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? 等价划分是一种黑盒测试方法,它将程序的输入划分为若干的数据类,从中生成测试用例。理想的测试用例是可以单独的发现一类错误,否者在观察到一般错误之前需要进行许多测试用例,等价划分试图定义一个测试用例以发现一类错误,由此减少所需测试用例的总数。 基于场景的测试:它关心的是用户做什么,而不是产品做什么,捕获用户完成的任务,然后在测试时候使用它们及其变体。场景用来发现交互错误。这种测试倾向于用单一测试检查多个子系统。

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

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

22

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)内聚性:指模块内部各个成分之间的联系,也称为块内联系。

16.What is the Unified Modeling Language (UML)?

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

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

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

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

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

19. 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?

Evaluate the use-cases to understand the interaction sequence within the system.

Identify events that drive the interaction sequence and how the events relate to specific objects. Create an event trace for each use-case. Build a state transition diagram for the system.

Review the object-behavior model to verify accuracy and consistency.

21. Describe the differences between black-box testing and white-box testing? 黑盒测试:(也叫功能测试)根据被测试程序的功能来进行的测试。

白盒测试:(也叫结构设计)是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正 确工作。

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

23


四川大学软件工程考点(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014七年级英语同步练习下册第一单元测试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: