软件设计师考点——软件工程基础知识

软件工程概述

  • C/S(客户机/服务器)体系结构的优点:允许合理地划分三层的功能,使之在逻辑上保持相对独立性;允许各层灵活地选用平台和软件;各层可以选择不同的开发语言进行并行开发。
  • 软件工程的基本要素包括方法、工具和过程
  • 概要设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。
  • 某公司计划开发一种产品,技术含量很高,与客户相关的风险也很多,则最适于采用螺旋开发过程模型。
  • 增量模型的优点包括能在较短时间内向用户提交可完成一些有用的工作产品;用户有充裕的时间来学习和适应不断增加的产品功能;项目失败风险较低;优先级最高的服务首先交付,然后再逐步增加新的构件,这样最重要的构件被测试得最充分。
  • “软件产品必须能够在3秒内对用户请求作出响应”属于软件需求中的非功能需求
  • 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段的复审期间,应该从容易修改、模块化和功能独立的目的出发,评价软件的结构和过程。(可维护性是所有软件都应具有的基本特点,必须在开发阶段保证软件具有可维护的特点。在系统分析阶段的复审过程中,应该指出软件的可移植性问题以及可能影响软件维护的系统界面;在系统设计阶段的复审期间,应该从容易修改、模块化和功能独立的目的出发,评价软件的结构和过程:在系统实施阶段的复审期间,代码复审应该强调编码风格和内部说明文档这两个影响可维护性的因素。可测试性是可维护性的一个评价指标。)
  • 某开发小组欲为一公司开发一个产品控制软件,监控产品的生产和销售过程,从购买各种材料开始,到产品的加工和销售进行全程跟踪。购买材料的流程、产品的加工过程以及销售过程可能会发生变化。该软件的开发最不适宜采用瀑布模型,主要是因为这种模型难以适应变化的需求
  • 若用户需求不清晰且经常发生变化,但系统规模不太大且不太复杂,则最适宜采用原型化开发方法,对于数据处理领域的问题,若系统规模不太大且不太复杂,需求变化也不大,则最适宜采用结构化开发方法。
  • 某开发小组欲开发一个超大规模软件:使用通信卫星,在订阅者中提供、监视和控制移动电话通信,则最不适宜采用原型过程模型。(原型模型不适宜大规模软件的开发)
  • 喷泉开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法。
  • 某开发小组欲开发一个规模较大、需求较明确的项目。开发小组对项目领域熟悉且该项目与小组开发过的某一项目相似,则适宜采用瀑布开发过程模型。
  • 瀑布开发过程模型最不适用于开发初期对软件需求缺乏准确全面认识的情况。
  • 软件开发的增量模型是一种能够快速构造可运行产品的好方法
  • 假设某软件公司与客户签订合同开发一个软件系统,系统的功能有较清晰的定义, 且客户对交付时间有严格要求,则该系统的开发最适宜采用瀑布模型
  • 需求分析确定软件要完成的功能及非功能性要求;概要设计将需求转化为软件的模块划分,确定模块之间的调用关系;详细设计将模块进行细化,得到详细的数据结构和算法;编码根据详细设计进行代码的编写,得到可以运行的软件,并进行单元测试。
  • 喷泉模型是典型的面向对象生命周期模型,是一种以用户需求为动力,以对象作为驱动的模型。该模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。“喷泉” 一词本身体现了迭代和无间隙特性。迭代意味着模型中的开发活动常常需要重复多次,在迭代过程中不断地完善软件系统;无间隙是指在开发活动之间不存在明显的边界
  • 演化模型在获取一组基本的需求后,通过快速分析构造出该软件的一个初始可运行版本,然后逐步演化成为最终软件产品。针对需求不确定或者不清楚的情况下,进行项目开发建议采用的。
  • 若全面采用新技术开发一个大学记账系统,以替换原有的系统,则宜选择采用瀑布模型进行开发。
  • 为了有效地捕获系统需求,应采用原型模型(原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题。原型的用途是获知用户的真正需求,因此原型模型可以有效地引发系统需求。)
  • 基于构件的软件开发,主要强调在构建软件系统时复用已有的软件“构件”,在检索到可以使用的构件后,需要针对新系统的需求对构件进行合格性检验、适应性修改,然后集成到新系统中
发布了39 篇原创文章 · 获赞 66 · 访问量 6085
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章