管理软件需求分析篇

1. STL 类模板
标准库中容器和算法这部分一般称为标准模板库
 
2. 为什么定义虚的析构函数?
避免内存问题,当你可能通过基类指针删除派生类对象时。必须保证基类析构
函数为虚函数。
 
3. 项目管理怎么进行?
制定软件项目计划;
软件项目跟踪及监控。
软件项目计划(Software Project Planning)的目的是为了完成软件工
程和管理软件项目所制定的计划,其内容包括估计待完成的工作,建立必要的
约定和完成工作的计划。
软件项目跟踪和控制(Software Project Tracking and Oversighting)
的目的是对实际进展建立足够的可视性,使管理着能够在软件项目的执行明显
偏离软件计划时采取有效措施。 其内容包括将实际的完成情况及结果和已文档
化的估计、约定和计划进行对照,并且基于实际的完成情况和结果调整这些计

 
4. 单元测试如何进行?
单元测试主要编写驱动函数和桩函数,测试的目标是完成语句覆盖和路径
覆盖。驱动函数用于调用被测函数,传递测试参数给被测函数。桩函数用于模
拟被测函数调用的底层函数, 需要对被测函数传来的各种可能参数进行正确的
响应。
 
5. VSS 的三个核心操作是什么?
Check in、check out、get latest version。
 
6. USECASE图画到哪一级?
一般要提供用例图、行为图和交互图及各角色定义。
 
7. 在评审过程中应该做哪些工作?
以文档评审为例
文档评审电子流基本流程:
文档负责人创建文档评审电子流,指定评审专家和评审负责人->QA 经理
确认通过,通知文档作者->文档作者提交文档->评审专家提出评审意见->
文档作者修改文档再次提交评审->评审专家会签通过(可能需要召开评审会
议)->秘书进行文档归档
 
8. 提交配置管理前做哪些工作?
已经得到 QA 及配置管理委员会的确认。如果提交的是源代码,确认包括需求、详细设计等一系列文档都已做了相应的修改以及确认。
 
9. 概要设计文档如果到编码时发现问题怎么处理?
先提交问题报告单,经过软件经理审核,然后确认修改设计方案,修改代
码,测试通过后,提交到配置库,同时更新相关的概要设计文档和详细设计文
档。
 
10. 工作计划怎么制定?
根据项目总体计划落实到每个具体人员身上,按照月度和周来制度工作计
划。
 
11. Rose 的应用情况
Rose 作为一种建模语言工具可以应用于软件的需求分析、概要设计、详细
设计和测试阶段。
 
12. 软件开发模式包括哪些?
公司的主要开发模式包括面向对象、面向过程的开发模式,无论哪种方式都体
现模块组装的思想。
 
13. 设计的主要目标是什么?
逐步消化、细化需求,用程序的逻辑来表达文字性的描述。
 
14. 设计包含哪些方面?
概要设计、详细设计、接口设计。
 
15. 测试在设计阶段有没有活动要做?
在设计阶段要确定集成测试计划和单元测试计划。
 
16. 合作性质项目和传统项目方式有什么区别?
传统项目主要根据公司自己的开发流程进行项目管理,合作性项目则需要
接纳,有时甚至是按照合作方的开发模式进行项目管理,这主要由项目性质和
项目需求决定的。
 
17. 在项目启动时,如何制定项目计划?
如果是有规定交付日期的项目,就必须根据交付日期限定、项目需求、项
目组成员的素质(体现在代码生产率)来确定项目计划。在项目计划的基础上
可以作出月、周计划,计划执行时根据实际情况在不影响开发进度的前提下调
整计划。
 
18. 项目管理计划分为哪些类别?
粗的方面包括项目开发计划、质量计划、配置计划、测试计划。
 
19. 计划的制定过程中,需要由哪些人参与?
项目经理、开发经理、质量经理和配置经理均要参与项目计划的制定。 
20. 月度计划由哪些人参与?主要过程是什么?什么时候启动月度计划,如何
确定?
月度计划由项目经理、各小组负责人、质量经理、配置经理参与,主要是
根据上月工作完成情况和项目总体计划来确定本月度计划。 一般是在工作月的
最后 3 天启动,目的是给大家一个熟悉和工作安排的考虑。
 
21. 怎样对计划进行跟踪?
每周对计划完成情况进行审核和评估,及时进行反馈和调整。
 
22. CASE 管理在开发过程中的应用情况
 
23. JAVA 的缺陷有哪些?
代码运行效率低。
 
24. CMMⅡ的主要 KPA 包括哪些?
包括 6 个关键过程域:软件配置管理、软件质量保证、软件子合同管理、
软件项目跟踪和监督、软件项目策划、需求管理。
 
25. 需求管理方面需要 QA做哪些工作?
需求管理(Requirement Management)的目的是在客户和将处理客户需求
的软件项目之间建立对客户需求的共同理解。
    需求管理包括和客户一起建立和维护有关软件项目需求的协议,该协议称
作“分配给软件的系统需求” , “客户”可解释为系统工程组、销售组、另一个
内部组织,或者一个外部客户, “协议”既包括技术需求,又包括非技术需求
(如交付日期) ,该协议形成估计,策划和跟踪整个软件生命周期内项目活动
的基础。
    将系统需求分配给软件、硬件和其它系统组成部分(如人力等)的工作可
能由软件工程组以外的组(如系统工程组)完成,软件工程组可能对此分配无
法直接控制,在项目约束范围内,软件工程可采取适当的步骤以确保软件的需
求已有相对应的定位,并且实现文档化并处于受控状态
 
26. 需求跟踪方面做哪些工作?可以跟踪到哪一步?谁来负责?
 
27. 在需求跟踪中做了哪些工作?
(1)定义对其他需求的连接链
   (2)定义对其他系统元素的连接链,这些元素可能包括软件计划、产品和
活动、需求和设计文档、代码。
  目的是它们与软件需求保持一致。
 
28. 为需求制定 CheckList 的目的,如何制定?如何使用 CheckList?
根据需求分析的功能模块确定里程碑,在每个里程碑要设定检查点和检查
方法,目的是在开发过程中及时发现和解决问题,而不是将问题遗留到后期的
测试阶段。可由 QA 执行。 
29. SEPG 有多少人员?主要负责哪些方面的工作?
软件工程过程小组包括项目经理和技术人员,主要负责推进组织所采用的
软件过程的定义、组织和改进工作。
 
30. 在实施 QA方面遇到过哪些问题?
 
31. 如何理解度量机制?
软件度量(Software Measurement)通过各种不同的量度(metric)对软件
生命周期中的各个元素进行度量(Measure),它能够为项目管理者提供有关项
目的各种重要信息,同时也是进行大多评估活动的基础
 
32. 需求度量包括哪些?
度量优秀的需求的标准为: (1)完整性(2)正确性(3)可行性(4)必
要性(5)划分优先级(6)无二义性(7)可验证性
 
33. 实施 QA 工作,核心工作还应该包括哪些?
 
34. 质量特性有哪些?
用户关注的:有效性、高效性、灵活性、完整性、互操作性、可靠性、健
壮性、可用性。
开发者关注的:可维护性、可移植性、可重用性、可测试性。
 
35. 评审过程中,QA 做哪些工作?审核包括哪些内容?
QA 确保软件过程的步骤和标准得到遵守。审核的对象包括文档、代码等。 
 
36. 其他角色在评审审核中的作用?
其他角色包括评审负责人,一般是项目经理,负责使评审活动正常有序的
进行,确保评审中发现的问题得到解决或者指定解决人。
包括评审专家,负责对评审对象提出问题,寻求解决的方法。
还包括讲解人和作者,他们要确保评审专家对评审材料的理解,并对评审
专家提出的问题进行解答。
最后还应该由会议记录员,负责对会议的议题和提出的问题及解决方法进
行记录。
 
37. 评审作者是否需要参加评审?
评审作者应该参加评审,它有回答评审专家提出的问题的责任,并且负责
解决这些问题。
 
38. 评审过程如何进行?
参见前面的文档评审流程。
 
39. 评审前后的工作包括哪些?
评审准备工作包括评审作者准备充分评审材料,确保评审专家理解评审材料,此外还包括确定讲解人、评审专家、填写电子流程申请召开评审会议等。 
评审完后,评审作者还要对评审专家提出的问题进行解决,如果所有问题
都得到解决,评审专家和评审负责人会签通过,则评审过程结束。
 
40. 如何保证专家已经很好地阅读了文档?
评审作者要负责准备充分的评审材料,对文档进行详细的说明,确保专家
能够理解文档;同时专家要拿出专门的时间来阅读文档。
 
41. 开发工具用过哪些?
VC:    MSDev      Case:    Rational Rose
Java: Jbuilder      Database:   PowerDesigner
 
42. 描述一下 Windows 的线程同步对象。
临界区、互斥、信号、事件
 
43. 类静态成员变量在什么范围内有效?
等同于全局变量
 
44. 面向对象的好处
继承性、多态性、封装性。
 
45. 在 C++中声明类,如何做到多个实例共享一个全局变量?
声明一个类静态成员变量。
 
46. 在编码过程中文档的书写情况
简单的是对函数的返回值、参数、用途以及关键技术做文档说明。基本上向
MSDN 靠拢。
 
47. 规范在自己日常工作中如何体现?
规范体现在:编程规范、文档模板、电子流程。
每天填写日志、每周作计划和总结,使用 PSP工具
 
48. 控件编写过没有
主要编写访问数据库的 COM 组件给前台程序调用。一般的 UI 控件是在 CWnd
的基础上编写的。
 
49. 调试代码过程中遇到困难如何解决?
多使用 Watch, Variable, Breakpoint, Stack 等观察窗口发现问题;
使用联机帮助系统;    想其它开发小组成员请教。
 
 
 
50. C++构造函数,抽象类
构造函数是类初始化第一个调用的函数,如果一个类中包括抽象函数,则该类为抽象类,抽象类不能实例化,主要是作为接口定义。
 
51. 介绍在项目开发中的角色
开发人员角色,负责详细设计、接口设计、单元测试计划和代码编写,一
般要负责自己开发模块的单元测试。
 
52. 接受过 CMM哪些方面的培训?
公司内部 CMM 培训,包括 KPA 及开发流程。
 
53. 评审如何进行?作为作者如何参与其中?
见前面 36。
 
54. 文档和代码不一致应如何处理?
确认文档是否存在错误和滞后,如果是则应该及时的更新文档,使之与代
码保存一致;反之如果代码没有按照正确的文档所描述的进行设计,则应该更
正代码,使之符合设计的要求。
 
55. 修改代码或文档后,应提交哪些信息?配置管理人员做哪些工作?
应该提交配置标识项和相关的代码和文档。
 
56. 使用过哪些配置管理工具?
Microsoft Visual SourceSafe 和Rational ClearCase
 
57. 配置管理人员的职责和主要工作内容
软件配置管理(Software Configuration Management)的目的是在整个
项目的生命周期建立和维护软件项目产品的完整性。  
    软件配置管理包括在给定的时间点上标示软件的配置(即选定的软件工作
产品及其描述) ,系统的控制对配置的更改,并在整个软件生命周期中维护配
置的完整性和可跟踪性。置于软件配置管理之下的工作产品包括需向客户交付
的软件产品(如软件需求文档和代码),以及与建立这些产品相关的项目(如
编译程序) 。
 
58. 需求跟踪方面所做工作的描述
 
59. C++ 中常用到的 this的含义
类中隐含的指向对象自身的指针,不用声明。 
 
60. 用过 stl 模板吗?
标准模板库包括容器、算法和迭代子,包括向量类、链表类。MFC 中常用
的为 Clist, Carray。
 
 
61. 构造函数与析构函数的功能?
构造函数用来初始化。析构函数用来做清除工作,一般包括内存释放。 
62. 缺陷跟踪流程
问题提交人提交问题报告单->软件经理或组长审核问题通过->开发人
员定位问题原因->软件经理或组长审核通过->配置库管理员修改配置库权
限->开发人员实施修改->开发人员实施测试通过->配置库管理员对修改代
码实施归档->测试人员实施回归测试通过->问题提交人关闭问题报告单
 
63. QA 的了解
确保软件过程的步骤和标准得到实施。
 
64. MFC 的熟悉程度,说明 CListView 和 CListCtrl 有什么不同。
ClistView 是从视图派生,ClistCtrl 是从控件类派生,在 ClistView 中
通过使用 GetListCtrl 可以获得 ClistCtrl 指针,将其作为一个 ClistCtrl
控件来使用。
 
65. Socket 通讯过程中如何保证连接正常。
一般通过握手机制来确定链接正常,即定时在客户和服务器之间发送连接
帧和确认帧来确定。如果是使用 MFC 的 Csocket,通过检测 OnClose事件和错
误处理可以确定连接是否正常。
 
66. 在华为工作期间有没有编写文档的经验。
 
67. 在开发过程中如何使用 SourceSafe。
主要在版本控制和配置管理过程中使用 SourceSafe。
 
68. 开发过程中的问题处理流程是怎样的。
参见 63。

你可能感兴趣的:(管理软件需求分析篇)