软件工程面向对象部分作业题目及参考答案

第一题: 面向对象设计应该遵循哪些准则? 简述每条准则的内容,并说明遵循这条准则的必要性。

 

:面向对象设计准则:1、模块化;2、抽象;3、信息隐藏;4、弱耦合;5、强内聚;6、可重用。

(1)模块化

• 对象就是模块

• 把数据结构和操作这些数据的方法紧密地结合在一起

(2)抽象

• 过程抽象

• 数据抽象:类

• 参数化抽象:C++的“模板”

(3)信息隐藏

• 通过对象的封装性实现

• 类分离了接口与实现,支持信息隐藏

(4)弱耦合

• 耦合:一个软件结构内不同模块之间互连的紧密程度

• 弱耦合:系统中某一部分的变化对其他部分的影响降到最低程度

• 对象之间的耦合:交互耦合&继承耦合

(5)强内聚

• 内聚衡量一个模块内各个元素彼此结合的紧密程度

• 在设计时应该力求做到高内聚

• 面向对象设计的3种内聚:服务内聚、类内聚、一般\特殊内聚

(6)可重用

• 尽量使用已有的类

• 如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性

 

 

第二题: 下面叙述对一个计算机辅助设计(CAD)软件的需求:该CAD软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与CAD系统交互并控制它,该用户界面应该表现出良好的人机界面设计特征。几何图形数据及其他支持信息都保存在一个CAD数据库中。开发必要的分析、设计模块,以产生所需要的设计结果,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。进一步精化上述要求,把CAD软件的功能分解成若干个子功能于下表.;为了用代码行技术估算软件规模,应该针对每个子功能都分别估计出下述3 个值:乐观值(即最小规模a),悲观值(即最大规模b)和可能值(即最可能规模m)。分别算出这3种规模的平均值,然后用下式的加权平均法计算每个子功能规模,结果示于下表.

 代码行技术的估算表:

 

未调整的功能点数表 :

 

复杂性因素表:

 

 

要求:

(1)根據以上未调整的功能点数表和复杂性因素表,用功能点技术估算每个子功能的规模; 

(2)从历史数据得知,开发这类系统的平均生产率是620LOC/PM,如果软件工程师的平均月工资是8000元,请估算开发本系统的工作量和成本。

(3)如果从历史数据得知,开发这类系统的平均生产率是6.5FP/PM,请估算开发本系统的工作量和成本。

 

 

 

 

  1.  

由表可以计算技术复杂性因子:

TCF =0.65+0.01×DI 

=1.14

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼睡不醒_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值