免费智能真题库 > 历年试卷 > 程序员 > 2021年下半年 程序员 上午试卷 综合知识
  第50题      
  知识点:   软件生存周期   开发模型   用户需求
  关键词:   软件产品   软件开发模型   双向沟通   需求   样品   沟通   开发   开发模型   软件开发        章/节:   软件工程和项目管理基础知识       

 
软件开发模型是指软件开发全部过程、活动和任务的框架。 () 以软件产品的样品为基础,通过用户与开发者双向沟通,不断改进,反复迭代,逐步得到正式交付的软件产品。此模型适用于用户需求模糊或随时间变化的系统。
 
 
  A.  瀑布模型
 
  B.  原型模型
 
  C.  增量模型
 
  D.  螺旋模型
 
 
 

 
  第56题    2018年下半年  
   53%
云存储系统通过集群应用和分布式存储技术将大量不同类型的存储设备集合起来协调工作,提供企业级数据存储、管理、业务访问、高效..
  第55题    2019年上半年  
   35%
目前,云计算(cloud computing)已成为信息化建设的主要形态。以下关于云计算的叙述中,不正确的是( )。
  第55题    2012年下半年  
   47%
系统集成就是将各类资源有机、高效地整合到一起,形成一个完整的系统。信息系统集成包括网络集成、数据集成和应用集成等。其中,..
   知识点讲解    
   · 软件生存周期    · 开发模型    · 用户需求
 
       软件生存周期
        任何一个软件产品或软件系统都要经历软件定义、软件开发、软件维护直至被淘汰这样一个全过程,我们把软件的这一全过程称为软件生存周期。主要包括:可行性分析和项目开发计划、需求分析、软件设计(概要设计和详细设计)、编码、测试和维护6个阶段。
        1)可行性分析和项目开发计划
        可行性分析和项目开发计划阶段主要确定待开发软件的总目标,对其进行问题定义、可行性分析,制订项目开发计划。参加人员:用户、项目负责人、系统分析员。该阶段所产生的文档有可行性分析报告、项目计划书。
        2)需求分析
        需求分析阶段主要确定待开发软件的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。参加人员:用户、项目负责人、系统分析员。该阶段产生的文档有需求规格说明书。
        3)软件设计
        软件设计是软件工程的技术核心。软件设计通常还可分成概要设计和详细设计。概要设计的任务是模块分解,确定软件的结构、模块的功能和模块间的接口,以及全局数据结构的设计。概要设计阶段的参加人员有系统分析员和高级程序员。详细设计的任务是设计每个模块的实现细节和局部数据结构的设计。详细设计阶段的参加人员有高级程序员和程序员。软件设计阶段产生的文档有设计说明书,它也可分为概要设计说明书和详细设计说明书。根据需要还可产生数据说明书和模块开发卷宗。
        4)编码
        编码阶段主要用某种程序语言为每个模块编写程序。参加人员:高级程序员和程序员。产生的文档是源程序清单。
        5)测试
        测试阶段主要是发现软件中的错误,并加以纠正。参加人员:通常由另一部门(或单位)的高级程序员或系统分析员承担。该阶段产生的文档有软件测试计划和软件测试报告。
        6)维护
        软件开发阶段结束后,软件即可交付使用。软件的使用通常要持续几年甚至几十年,在整个使用期间,都可能因为某种原因而修改软件,这便是软件维护。引起修改软件的原因主要有以下3种。
        .在软件运行过程中发现了软件中隐藏的错误而修改软件。
        .为了适应变化了的环境而修改软件。
        .为修改或扩充原有软件的功能而修改软件。
        因此,软件维护的任务就是为使软件适应外界环境的变化、实现功能的扩充和质量的改善而修改软件。软件维护阶段的参加人员是维护人员,该阶段产生的文档有维护计划和维护报告。
 
       开发模型
        电子商务应用系统开发模型是描述系统开发过程中各种活动如何执行的模型。系统生命周期模型确立了开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。常见的生命周期模型有如下5个模型。
               瀑布模型(Waterfall Model)
               瀑布模型是将软件生命周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。
               瀑布模型为软件的开发和维护提供了一种有效的管理模式,根据这一模式制定开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,所以它是以文档作为驱动、适合于软件需求很明确的软件项目的模型。
               但是,瀑布模型在大量的软件开发实践中也逐渐暴露出它的严重缺点。它是一种理想的线性开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。
               快速原型模型(Rapid Prototype Model)
               快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么。
               第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。
               快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。
               增量模型(Incremental Model)
               增量模型又称演化模型。大量的软件开发实践表明,许多开发项目在开始时对软件需求的认识是模糊的,因此很难一次开发成功。为了减少因对软件需求的了解不够确切而给开发工作带来的风险,可以在获取了一组基本的需求后,通过快速分析构造出该软件的一个初始可运行版本,这个初始的软件通常称为原型,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进,获得原型的新版本。在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。增量模型特别适用于对软件需求缺乏准确认识的情况。
               螺旋模型(Spiral Model)
               对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型和增量模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。
               螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。在每个螺旋周期分为如下四个工作步骤。
               ①制订计划。确定软件的目标,选定实施方案,明确项目开发的限制条件。
               ②风险分析。分析所选的方案,识别风险,消除风险。
               ③实施工程。实施软件开发,验证阶段性产品。
               ④用户评估。评价开发工作,提出修正建议,建立下一个周期的开发计划。
               喷泉模型(Water Fountain Model)
               喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。迭代意味着模型中的开发活动常常需要重复多次,在迭代过程中不断地完善软件系统。无间隙是指在开发活动(如分析、设计、编码)之间不存在明显的边界,也就是说,它不像瀑布模型那样,需求分析活动结束后才开始设计活动,设计活动结束后才开始编码活动,而是允许各开发活动交叉、迭代地进行。
 
       用户需求
        收集用户需求是要找出用户需要的重要服务和功能。收集用户需求的机制主要包括与用户群的交流、用户服务和需求归档3个方面。
        收集用户需求最常用的方式有观察和问卷调查、集中访谈、采访关键人物。在整个设计和实施阶段,应始终保持与关键人员之间的交流,以确保网络工程建设不偏离用户需求。
        用户服务表用于表示收集和归档的需求信息,也用来指导管理人员和网络用户进行讨论。
   题号导航      2021年下半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第50题    在手机中做本题