软件项目管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三 实践
1 以下是某公司曾经开发的软件模块的详细信息。目前,某个新的软 件模块正在设计之中,通过分析,该模块有8个输入、5个实体类型访 问、7个输出。请问,该软件模块在欧几里得距离上离哪个模块最近
模块
输入
访问的 实体类型
输出
实际完 成天数
11
2
10 2.8
2 10
2
1 4.2
35
1
1 2.3
42
3
11 3.8
51
3
20 4.9
距离第2个模块最近
2 下图为某项目策划阶段绘制的正向遍历的优先网络图,请在图中完 成反向遍历的结果。同时,将剩下的“活动跨度”、“缓冲期”填入 活动跨度:最早开始 – 最迟完成 缓冲期:最早开始与最迟开始的差
活动标识
周期
最早开始 硬件 最早完成 最迟开始 选择 最迟完成
活动跨度
缓冲期
取票通知单
尊敬的XXX: 您预定的机票已经成功,出发日期X月X日,班次XXXXX,起飞
时间XX:XX,到达时间X月X日 XX:XX,请于X月X日取票。取票时 请携带本通知单,以及支付账单凭证。
祝 旅途愉快。
XXXX机票服务中心
软件项目管理
二 简答
1 简要阐述软件项目管理与常规项目管理(如建筑工程管理)在目标 和过程上的主要差异 目标:降低成本、提高质量、按时发布软件产品或部署软件在线服务, 以最小的代价、最大程度地满足客户或用户的 过程: 2 WBS是哪个阶段产生的?它受哪些其它阶段的影响 WBS项目工作量估算的方法,在工作量估算阶段产生。得到WBS首先 要把项目任务进行合理的细分,分解到可以确认的程度。 3 PERT技术输出的结果是什么?它对项目策划有何影响 PERT图,描绘了项目包含的各种活动的先后次序,标明每项活动的时 间或相关的成本。PERT可以标识出项目的关键路径,便于优化对项目 活动的资源分配,为缩短项目完成时间提供重要参考。
顾客Customer 姓名name 性别sex 身份证号CID 航班号FID 出发日期depDate 出发时间departure 目的地destination book();
航班Flight 航班号FID 出发地from 目的地destination 出发时间departure 到达时间arrival 次日到达isNextDay 座位数sites 剩余座位数sapces isFull(); book();
8 为方便顾客,某航空公司拟开发一个机票预定系统。机票售票点把 预定机票的顾客信息(姓名,性别,身份证号,出发时间和目的地
等)输入该系统,系统为顾客安排航班,打印出取票通知单和账单。 顾客在飞机起飞前一天凭取票通知单和账单缴款取票,系统核对无误 后立即打印出机票顾客。 请用数据流图或面向对象的需求分析方法画出该系统的需求模型。
A 6周
0 硬件 6 1 选择 7
7
1
B 4周
0 软件 4 2 设计 6
6
2
C 4周
6 安装 10 7 硬件 11
5
1
D 3周
4 软件 7 8 编码 11
7
4
E 源自文库周
4 资料 7 6 收集 9
5
2
F 9周
0 用户 9 0 手册 9
9
0
G 4周
9 用户 13 9 培训 13
4
0
H 2周 10 安装 12
<接口>航班预定Reservation book(Customer); query(CID); query(CID, FID) print(ID);
printNotice(ID);
机票Tickets 编号ID 身份证号CID 航班号FID 出发日期depDate 出发时间departure 目的地destination 姓名name 是否支付isPay isOut(); isPay();
功能需求来源于用户需求,而且必须和业务需求一致。 非功能需求描述了系统的用户接口行为和可能执行的操作等。
需求是关于系统将要完成什么工作的一段描述语句,它们必须经过所有 相关人员的认可,其目的是彻底地解决客户的问题。 需求可以划分成两种类型,功能性和非功能性需求。 功能性需求:描述系统应该做什么,即为用户或其他系统提供的服务。 功能性需求应该包括: (1)系统中的用户需要了解的该系统可以完成的所有事情 (2)涉及与本系统有接口的其他系统的所有事情。 非功能性需求:是开发过程中必须遵守的约束。它限制可以使用的资源 和软件质量的各个方面。非功能性需求最重要的事情就是它们是可验证 的。 3 试述快速原型开发模型的基本思想,然后说明快速原型开发模型对 瀑布式开发模型作了哪些改进 快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发 真实系统之前,构造一个在型,在该原型的基础上,逐渐完成整个系统 的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或 未来的用户与系统的交互,用户原型进行评价,进一步细化待开发软件 的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客 户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件 产品。 快速原型模型是以迭代的方式运用瀑布模型,侧重于短暂的开发周期, 适用于用户需求不明确的情况
测试
11
13
3
1
需求管理
1 什么是软件需求工程?请说明软件需求工程中各阶段的主要任务 需求工程提供了一个比较完善的流程和方法来解决如何定义一个待开发 的软件系统。需求工程的目标是:开发出符合客户要求的系统需求,包 括符合客户要求的界面;提供有效的解决方案以便确定软件系统中的主 要元素;将定义的需求分配给系统中的每个元素,了解软件需求受系统 的制约、对操作环境的影响;制定合适的软件版本发布策略,以确定系 统或软件需求实现的优先级;确定软件需求,并根据客户需求变化进行 必要的更新。需求工程过程分为5个阶段,各阶段任务如下: (1)需求获取:通过各种途径获取用户的需求信息,在开发之前更好 地理解通过软件解决用户什么样的问题,形成要构建的软件系统的用户 视图或用户需求说明书。 (2)需求分析:对获取的用户需求进行鉴别、综合和建模,清除用户 需求的模糊性、歧义性和不一致性,分析系统的数据要求。 (3)需求建模:为原始问题及目标软件建立逻辑模型。 (4)需求定义:根据需求调查和需求分析的结果,解释涉众需求,并 整理成规范的、清晰的产品需求规格说明书。 (5)需求确认:是指开发方和客户方共同对需求说明书进行评审,双 方对需求达成共识后作出承诺。
7 为什么要进行需求管理?通常需求管理应主要关注哪几个方面 需求定义了系统必须具有的能力,一个项目的成功与否往往取决于它是 否符合需求。因此,探讨需求的确切含义、把它们写下来、组织起来、 跟踪它们的变更就显得非常有意义。 需求管理可以进一步分为需求评审、需求跟踪和需求变更控制: (1)需求评审,是需求确认的主要手段,确认需求是否具有完整性、 可靠性、无歧义性和可验证性等特征。 (2)需求跟踪使得每一项需求均能追溯到相应的设计、代码和测试用 例。 (3)需求变更控制是指需求从提出变更申请到变更的具体实施进行控 制的过程。
2 什么是软件需求?软件需求有哪些类型,并分别给出它们的定义 需求就是对某种产品或服务的需要和要求。IEEE将需求定义为: (1)用户解决问题或达到目标所需的条件或性能 (2)系统或系统部件要满足合同、标准、规范或其他正式文档规定的 条件或性能 (3)一种反映上面(1)或(2)所描述的条件或性能的文档说明 需求分为业务需求、用户需求和功能需求(包括非功能需求)3种类 型。 业务需求反映组织机构或客户对系统、产品的概括性要求,包括所要达 到的业务目标,由项目视图与范围文档说明。 用户需求描述用户使用系统而要完成的各种任务,由用例文档或方案脚 本说明
4 请指出下列陈述属于哪种类型的软件需求: 功能性(1)系统必须用三个主要模块来实现,即检测、记录和统计分 析模块,每个模块各自实现一个主要功能 非功能(2)只有当电梯停在某一楼层时,电梯才能改变方向 非功能(3)当电梯在传感器额定位置的垂直方向(之上或之下)20cm范 围内,传感器发出一个high信号,否则发出一个low信号 功能性(4)每一个用户命令被确认后,该被系统接收执行,或显示出 错状态 功能(5)当用户输入他们的口令后,系统便自动从口令文件中检索他
6 下列需求是否含糊,如果含糊的话,请在说明给予修改 (1)编译系统应该能生出出错报告,这样就可使初学者能迅速地排错 应说明编译系统在什么情况下生出什么出错报告,改为: 编译系统应该能标识出错误,并在错误所在位置显示出错报告,这样就 可使初学者能迅速地排错 (2)软件系统应具有良好的反应时间和数据精度,且能由菜单方式驱 动 “良好的”应使用量化的语言叙述,改为: 软件系统的反应时间应小于1秒,数据精度为10-6
们的加密口令,并进行核对 非功能(6)系统必须用面向对象方法进行开发
5 什么是软件需求模型?软件需求模型是否就是软件需求规格说明? 请说明理由 需求建模代表了从用户视角反映软件系统结构和功能,如何将用户的具 体需求转化为软件系统的结构和功能。它不是需求规格说明,规格说明 描述用户使用系统要完成的各种任务,通常用用例场景描述,它不能体 现系统的结构。