免费智能真题库 > 历年试卷 > 软件设计师 > 2022年上半年 软件设计师 上午试卷 综合知识
  第17题      
  知识点:   软件项目管理   面向对象系统设计
  关键词:   AC   关键路径   活动图   里程碑   软件项目        章/节:   软件工程基础知识       

 
一个软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑(17)在关键路径上。若在实际项目进展中,活动AD在活动 AC开始5 天后才开始,而完成活动 DF过程中,由于有临时事件发生,实际需要15天才能完成,则完成该项目的最短时间比原计划多了(18)天

 
 
  A.  E
 
  B.  F
 
  C.  G
 
  D.  H
 
 
 

  相关试题:软件工程基础知识          更多>  
 
  第18题    2018年上半年  
   26%
 某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续天数,则..
  第12题    2021年上半年  
   26%
根据《计算机软件保护条例》的规定,对软件著作权的保护不包括( )。
  第29题    2020年下半年  
   42%
喷泉模型是一种适合于面向(29)开发方法的软件过程模型。该过程模型的特点不包括(30)。
   知识点讲解    
   · 软件项目管理    · 面向对象系统设计
 
       软件项目管理
               软件项目管理涉及的范围
               有效的软件项目管理集中在4个P上,即人员(Person)、产品(Product)、过程(Procedure)和项目(Project)。
               软件项目估算
               软件项目估算涉及人、技术、环境等多种因素,因此很难在项目完成前准确地估算出开发软件所需的成本、持续时间和工作量。因此,需要一些方法和技术来支持项目的估算,常用的估算方法有下列3种。
               (1)基于已经完成的类似项目进行估算。这是一种常用的也是有效的估算方法。
               (2)基于分解技术进行估算。分解技术包括问题分解和过程分解。问题分解是将一个复杂问题分解成若干个小问题,通过对小问题的估算得到复杂问题的估算。过程分解是指先根据软件开发过程中的活动(分析、设计、编码、测试等)进行估算,然后得到整个项目的估算值。
               (3)基于经验估算模型的估算。典型的经验估算模型有IBM估算模型、CoCoMo模型和Putnam模型。
               进度管理
               软件开发项目的进度安排有两种方式:系统最终交付日期已经确定,软件开发部门必须在规定期限内完成;系统最终交付日期只确定了大致的年限,最后交付日期由软件开发部门确定。
               进度安排的常用图形描述方法有甘特(Gantt)图和计划评审技术(PERT)图。
               1)Gantt图
               Gantt图中横坐标表示时间,纵坐标表示任务,图中的水平线段则表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。
               Gantt图能清晰地描述每个任务从何时开始,到何时结束以及各个任务之间的并行性;但是它不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。
               2)PERT图
               PERT图是一个有向图,箭头表示任务,它可以表示完成该任务所需的时间;箭头指向节点表示流入节点的任务的结束,并开始流出节点的任务,这里把节点当成事件。只有当流入该节点的所有任务都结束时,节点所表示的事件才出现,流出节点的任务才可以开始。事件本身不消耗时间和资源,它仅表示某个时间点。一个事件有一个事件号和出现该事件的最早时刻和最迟时刻。每个任务还有一个松弛时间,表示在不影响整个工期的前提下,完成该任务有多少机动余地。
               PERT图不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系,即哪些任务完成后才能开始另外一些任务,以及如期完成整个工程的关键路径。松弛时间则反映了完成某些任务是可以推迟其开始时间或延长其所需的完成时间。但是PERT图不能反映任务之间的并行关系。
               软件项目组织
               开发组织采用什么形式组织,不仅要考虑软件项目的特点,还需要考虑参与人员的素质。在软件项目组织中,其组织原则有以下3条。
               (1)尽早落实责任。在软件项目开始组织时,要尽早指定专人负责,使他有权进行管理,并对任务的完成负全责。
               (2)减少交流接口。一个组织的生产率随着完成任务时存在的通信路径数目的增加而降低。要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失。
               (3)责权均衡。软件管理人员承担的责任不应比赋予他的权利还大。
               软件配置管理
               软件配置管理(Software Configure Management,SCM)用于整个软件工程过程。其目标是标识变更、控制变更、确保变更正确地实现、报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。
               1)基线
               基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此,基线作为一个检查点,在开发过程中,当采用的基线发生错误时,可以知道所处的位置,返回到最近和最恰当的基线上。
               2)软件配置项
               软件配置项(SCI)是软件工程中产生的信息项,它是配置管理的基本单位,对已经成为基线的SCI,虽然可以修改,但必须按照一个特殊的、正式的过程进行评估,确认每一处修改。
               3)版本控制
               表达系统不同版本的一种表示方法如下图所示。
               
               系统不同版本的一种表示方法
               4)变更控制
               变更控制是一项最重要的软件配置任务。为有效地实现变更控制,须借助配置数据库和基线的概念。
               配置数据库可以分为3类,即开发库、受控库和产品库。
               风险分析
               1)风险识别
               风险识别是试图系统化地确定对项目计划的威胁。风险识别的一个方法是建立风险条目检查表。该检查表可以用于识别风险,并使得人们集中来识别下列常见的、已知的及可预测的风险:产品规模、商业影响、客户特性、过程定义、开发环境等。
               2)风险预测
               风险预测又称为风险估算,它从两个方面评估一个风险:风险发生的可能性或概率;以及如果风险发生所产生的后果。通常项目计划人员与管理人员、技术人员一起,进行4种风险预测活动:建立一个尺度或标准,以反映风险发生的可能性;描述风险的后果;估计风险对项目和产品的影响;标注风险预测的整体精确度,以免产生误解。
               3)风险评估
               在进行风险评估时,建立了以下形式的三元组,即
               (ri,li,xi)
               式中:ri为风险;li为风险发生的概率;xi为风险产生的影响。
               一个对风险评估很有用的技术就是定义风险参照水准。对于大多数软件项目来说,成本、进度和性能就是3种典型的风险参照水准。
               在风险评估过程中,需要执行下面步骤:①定义项目的风险参考水平值;②建立每一组与每一个参考水平值之间的关系;③预测一组临界点以定义项目终止区域;④预测什么样的风险组合会影响参考水平值。
               4)风险控制
               一个有效的策略必须考虑3个问题:①风险避免;②风险监控;③风险管理及意外事件计划。如果软件项目组对于风险采取主动的方法,则避免是最好的策略。
 
       面向对象系统设计
        面向对象系统设计(OOD)阶段对分析阶段给出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。设计阶段主要包括用例设计、类设计和子系统设计等。
        用例设计
        用例设计的主要目的如下:
        .利用交互改进用例实现。
        .调整对设计类的操作需求。
        .调整对子系统和(或)它们的接口的操作需求。
        .调整对封装体的操作需求。
        用例设计通常使用交互(特别是序列图)来说明系统的行为。当系统或者子系统的行为主要通过同步消息传递来说明时,序列图非常有用。由于消息序列通常没有严格的定义,因此,尤其是在事件驱动系统中,异步消息传递更容易利用状态机和协作来进行说明。
        类设计
        类是设计工作的核心,系统的实际工作其实也是由类执行的。子系统、包、封装体以及协作关系等其他设计元素只是说明了类的组合方式或协同操作方式。
        类设计的主要目的如下:
        .确保类可为用例实现提供必需的行为。
        .确保提供充足的信息来明确无误地实施类。
        .处理和类有关的非功能性需求。
        .包含用于类的设计机制。
        子系统设计
        子系统是一种模型元素,它具有包(可包含其他模型元素)和类(具有行为)的语义。子系统的行为由它所包含的类或其他子系统提供。子系统实现一个或多个接口,这些接口定义子系统可执行的行为。
        子系统设计的主要目的如下:
        .用所包含类的协作来定义在子系统接口中指定的行为。
        .记录子系统的内部结构。
        .定义子系统接口和包含类之间的实现关系。
        .确定对其他子系统的依赖关系。
   题号导航      2022年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第17题    在手机中做本题