软件工程是计算机软件的一个重要分支,主要应掌握软件工程的基本原理以及软件设计与测试方法。软考中每次考的题量虽然不多,但如果考生没有全面复习掌握软件工程的知识点,要想答对题不是件容易的事。如果考生只是一味的记住软件工程中的条条框框,而不去理解理论背后的含义,复习过程枯燥无味如同嚼蜡。只要考题陈述形式一变,许多考生就会无所适从。不过学软件工程的第一步,还是要先记住理论。建议考生参考Roger S.Pressman的《软件工程——实践者的研究方法》,考试中的许多知识点的叫法与解释都是来源于该书。
1.系统中模块的____不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。
A. 可分解性 B. 保护性 C. 可理解性 D. 连续性
答案:D
解析:在考虑模块化时,有一个重要问题:如何定义给定大小的一个合适模块?Meyer定义了五个标准:可分解性、保护性、可理解性、连续性、可组装性。模块可分解性是指如果一种设计方法提供了将问题分解成子问题的系统化机制,它就能降低整个系统的复杂性,从而实现一种有效的模块化解决方案。模块保护是指如果模块内出现异常情况,并且它的影响限制在模块内部,则错误引起的副作用就会被最小化。模块可理解性是指如果一个模块可以作为一个独立的单位(不用参考其他模块)被理解,那么它就易于构造和修改。模块连续性是指在程序中进行小的修改的能力以及使这些修改在仅仅一个或很少的几个模块中发生对应修改下的反应,则修改引起的副作用就会被最小化。模块可组装性是指如果一种设计方法使现存的(可复用的)设计构件能被组装成新系统,它就能提供一种不一切从头开始的模块化解决方案。由于本题设计到系统的小变动与规格说明的小变动将带来什么结果,根据题意应选D。
2.下面关于面向对象方法中消息的叙述,不正确的是______。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
C. 应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同
答案:B
解析:消息是对象间互相联系的手段,消息刺激接收对象产生某种行为,通过操作的执行来完成相应行为。操作系统与应用程序之间可以互相发送消息,所以B是错误的。