对经典面试题的部分回答


Common Tech

你认为的重用有哪些

谈谈Framework的作用

谈谈UML图的种类,画一个关联类的例子

谈谈组件以及业界流行的组件规范

Analyst

谈谈需求的3个层次以及你工作中的运用

非功能需求有哪些种类以及如何采集

当你采集需求时,客户说“我要求将来的系统要快”,你将如何

谈谈原型法的分类以及你工作中的运用

你工作中如何运用用例的,用例能覆盖所有需求吗

“用例之于场景正如类之于对象”什么意思

谈谈Business ModelingDomain Model以及你工作中的运用

Architect

谈谈OO原则以及你工作中的运用

谈谈Architectural Pattern以及你工作中的运用

J2EE用到了哪些架构模式

你是如何来设计Architecture的,RUP又是如何推荐的

概念完整性的重要性以及如何设计和维护Architecture的概念完整性

谈谈GOF设计模式以及你工作中的运用

Template Method Strategy的相似和相异点,以及构造函数对它们的影响

Observer模式的pull模型和push模型

结合你做过的具体项目谈几个模式的应用

谈谈数据驱动以及你工作中的运用

Project Manager

谈谈RUP以及你工作中的运用

谈谈软件过程剪裁以及你工作中的运用

CMM是软件过程的需求”什么意思

项目管理中的4个变量的把握上,对项目型和产品型公司会有哪些不同

谈谈风险的种类以及你在实际项目中的体验

你会采用Agile吗,你认为采用Agile的先决条件有哪些

谈谈迭代开发以及迭代开发下的项目计划

你是如何跟踪进度的,对需求和计划有什么要求

 

你认为的重用有哪些:

1: 代码重用,2 : 组件重用,3: 设计模式重用,
4: 流程重用,5: 分析,设计级别重用,6:软件文档重用

谈谈Framework的作用

我认为 Framework的作用是
承接应用程序和硬件的一个中间层 ,相当于一个框架,
或者说一些功能的集合

 

谈谈UML图的种类,画一个关联类的例子
 
这个应该没有问题,,比较简单

谈谈组件以及业界流行的组件规范


现在我认为 都是基于组件的软件工程 ,或者大型软件,系统的开发 主要以 开发组件为主,便于软件的重用性,
通过定制和更换组件来实现维护和更新

组件最重要的特征是具有独立于应用的接口
组件采用了面向对象原则的方法和数据封装的原理。

谈谈需求的3个层次以及你工作中的运用


需求的3个层次: 业务需求,用户需求,功能需求
工作中的运用主要有:对业务需求 我们应该用可以建模,然后画UML图与业务沟通,对用户需求,我们应该使用挖掘法和脑力击荡法,充分理解和 挖掘潜在需求,
功能需求 : 我们应该在需求分析时候,画出模拟系统功能界面,并以用列图,时序图等来充分描述特定的业务需求。 和充分反映构成系统的功能特点。,是实现业务需求和用户需求的载体。

非功能需求有哪些种类以及如何采集


非功能需求是 :除功能性以外的需求
非功能需求包括:可靠性,可用性,有效性,可维护性,可移植性等。
如何采集 : 这个? 应该这样说,有些需求虽然不是功能需求,但却是非常必要的,比如可用性和可维护性 等,这是在软件系统的一些附加要求里面。当然也可以参考专业级别的系统,看它们是如何实现的,也可以与用户沟通等

当你采集需求时,客户说“我要求将来的系统要快”,你将如何:

这个直接回复 : 一定快,而且稳定。否则人家如何要买你的系统。然后 在与他仔细讨论,要如何快,快到什么程度,与现有系统的对比等,。。。呵呵

谈谈原型法的分类以及你工作中的运用

原型法:凭借着系统分析人员对用户要求的理解,在强有力的软件环境支持下,快速地给出一个实实在在的模型(或称原型、雏形),然后与用户反复协商修改,最终形成实际系统

原型法可表现为不同的运用方式,一般可分为以下三种类型:

(1)探索型(Exploratory  Prototying)主要是针对开发目标模糊、用户和开发人员对项目都缺乏经验的情况,其目的是弄清对目标系统的要求,确定所期望的特性并探讨多种方案的可行性。

(2)实验型(Experimental Prototying)用于大规模开发和实现之前考核、验证方案是否合适,规格说明是否可靠。

 (3)演化型(Evolutionary Prototying) 其目的不在于改进规格说明和用户需求,而是将系统改造得易于变化,在改进原型的过程中将原型演化成最终系统。它将原型方法的思想贯穿到系统开发全过程,对满足需求的改动较为适合。

工作中的应用‘: 如 开发纸品系统,了解到与零件系统差不多,如果参考零件系统,是否可行,这个就是实验型。

如开发 电镀厂生产系统,目标模糊,也没有经验然后选择不停的去电镀厂,了解,而且要求快速开发的情况霞这就是探索型(

演化型 :开发散料单时我们 先做好 零件的申请,基本的功能完成,然后开发可以申请领用原料 ,然后不停的修改和满足,然后完成混料单的申请,,最后到现在这个程序功能