软件工程简答

  • 格式:doc
  • 大小:18.00 KB
  • 文档页数:4

Please explain how object-oriented paradigm has more advantage than structured paradigm does.
1
structured paradigm只能是面向行为的或者是面向数据的,但不可以同时面向数据和行为。

object-oriented paradigm把数据和行为看的同等重要。

看一个对象的最简单的方法就是统一软件的组件,将数据和行为结合起来。

2. object-oriented paradigm可以更快更容易进行维护
3. object-oriented paradigm使开发更容易
4.好的设计对象有独立的模块。

object-oriented paradigm用封装体现了独立性。

信息隐藏保证了执行的细节被隐藏了,此对象以外的不可以访问,唯一允许进行通信的方式就是给一个对象的方法传递message。

5. structured paradigm是一个单一的单元,所以不适合大型产品开发,相反,object-oriented paradigm把产品分成更小的独立的单元,减少软件产品的复杂性,更容易开发维护
6. object-oriented paradigm可重用性强,因为对象是独立的实体,所以他们可以在未来的产品中重用,减少了开发和维护的时间和开销。

7.用object-oriented paradigm,对象从很早就进入的生命周期。

在分析阶段提取对象,在设计阶段设计,在执行阶段编码。

在阶段之间的转换更顺利,减少了开发时发生的错误。

二.
Please explain why maintenance is necessary.
对产品的改变有3个原因:
1.产品有错误,或者是分析错误,或者是设计错误或者是编码错误
或者是文档错误。

这是纠错性维护,占17.5%
2.大多数时间,占60.5%是完善性维护。

因此,改变代码来提高产品
的效率。

例如,增加产品功能,修改产品使其运行的更快。

提高产品的可维护性。

3.第三种改变是因为产品运行的环境改变。

例如,产品移植到新的
编译器,操作系统或硬件下。

或者是税率的改变,则产品中用到税率的也要相应的改变。

占18%
4.剩余4%的维护时间用于其他类型的维护。


Please list three recommendations on good coding style, and explain them briefly.
1.用一致的变量名。

2.少用Self-documenting code。

这样需要写许多序元注释和行间注
释。

3.使用参数(变量)。

很少有真正的常量。

多用参数,当值改变的
时候,改变可以快速有效地执行。

4.代码布局增强可读性。

多使用空行。

每行尽量语句不超过一句。

大块代码之间使用空行,增强可读性
5.if嵌套不超过3层。

If-if,和if-else-if都降低了可读性。

Please list the advantages and disadvantages of top-down implementation.
优点:错误隔离
主要的设计错误可以尽早的发现
缺点
可重用的模块不能充分测试
What is Sandwich integration? And its strengths or weaknesses?
逻辑模块用integrated top down,主要的设计错误可以尽早的发现。

操作模块用integrated bottom up,可重用的模块可以进行充分的测试,不用有错误防御的程序调用它们,因此重用性很好。

然后将2组的接口一个一个地进行测试。


优点:错误隔离
设计错误可以尽早的发现
可重用模块得到充分测试
2.Do you agree with the following statement? And why? Please explain
or discuss. (9 marks)
It is the code/program which is executable and used by the uerse finally. So, as long as we do a good job in implementation phase, we can guarantee the success of a software product.
这个观点是错误的
尽管用户最终使用的是可执行的代码,开发人员需要尽力一系列的阶段去实现他。

包括,需求,分析,设计,执行与集成和维护。

每阶段的结果都会整个软件是否成功
需求阶段的目标:获取用户需要什么
分析阶段目标:分析用户的需求,进行重定义,完成需求的细节理解,使可以正确开发和容易维护
设计阶段目标:产品怎么样可以完成这些功能
执行:用计算机语言执行目标产品。

一旦产品交给用户,知道产品彻底废弃,都要进行维护。

以上任何单一阶段的成功都不能保证产品的成功。

Code/program只是产品的执行阶段,所以不可能保证产品的成功开发。