(软考笔记)—— 系统架构设计师 - 系统开发基础知识笔记

系统开发基础知识笔记

软件开发方法

软件开发生命周期

     传统的软件生命期(software life cycle)是指软件产品从形成概念(构思)开始,经过定义、开发、使用和维护,直到最后被废弃(不能再使用)为止的全过程。按照传统的软件生命周期方法学,可以把软件生命期划分为软件定义、软件开发、软件运行与维护三个阶段。

软件定义时期

  1. 问题定义: 按照软件系统工程需求来确定问题空间的性质。
  2. 可行性研究: 确定问题是否有解,解决办法是否可行。
  3. 需求分析:需求分析的任务是确定软件系统的功能需求、性能需求和运行环境的约束,写出软件播求规格说明书、软件系统测试大纲、用户手册概要。

     需求分析该过程是非常重要的,应该由系统分析员、软件开发人员与用户共同完成,反复讨论和协商,并且逐步细化、一致化、完全化等,直至建立一个完整的分析模型。需求分析工作完成后要提交软件需求规格说明(Sofware Requirements Specification,SRS)。

软件开发时期

     软件开发时期就是软件的设计与实现,可分成:

  1. 概要(总体)设计: 是在软件需求规格说明的基础上,建立系统的总体结构(含子系统的划分)和模块间的关系,定义功能模块及各功能模块之间的关系。
  2. 详细设计: 对概要设计产生的功能模块逐步细化,把模块内部细节转化为可编程的程序过程性描述。详细设计包括算法与数据结构、数据分布、数据组织、模块间接口信息和用户界面等的设计,并写出详细设计报告。
  3. 编码: 又称编程,编码的任务是把详细设计转化为能在计算机上运行的程序。
  4. 测试: 分成单元测试、集成测试、确认测试和系统测试等。通常把编码和测试称为系统的实现,

软件运行和维护

     软件运行就是把软件产品移交给用户使用。软件投入运行后的主要任务是使软件持久满足用户的要求。
     软件维护是对软件产品进行修改或对软件需求变化做出响应的过程,也就是尽可能地延长软件的寿命。

软件开发模型

     软件生存周期模型又称软件开发模型(software develop model)或软件过程模型(software process mndel),它是从某一个特定角度提出的软件过程的简化描述。软件过程模型的基本概念;软件过程是制作款件产品的一组活动以及结果,这些活动主要由软件人员来完成,软件活动主要如下一些:

  1. 软件描述: 必须定义软件的功能以及使用的限制。
  2. 软件开发: 软件的设计与实现,软件工程人员制作出满足描述的软件。
  3. 软件有效性验证: 软件的有效性必须经过严格的验证,以保证能够满足客户的需求。
  4. 软件进化: 软件随着客户的需求变化而不断地改进。

瀑布模型

     瀑布模型(waterfall model)可以说是最早使用的软件生存周期模型之一。由于这个模型描述了软件生命的一些基本过程活动,所以它称为软件生命周期模型。

在这里插入图片描述

     瀑布模型的特点是因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入。或者说,每一个阶段都是建筑在前一个阶段正确结果之上,前一个阶段的错漏会隐鼓地带到后一个阶段。

     主要缺点:

  1. 软件需求分析的准确性很难确定,甚至是不可能和不现实的。
  2. 用户和软件项目负责人要相当长的时间才能得到初始版本,这时如果改变需求,将会带来巨大的损失(例如人力、财力、时间等)。该模型的应用有一定的局限性。

原型模型

     原型模型又称为快速模型。主要有以下两个阶段:

  1. 原型开发阶段: 软件开发人员根据用户提出的软件系统的定义,快速璃开发一个原型。该原型应该包含目标系统的关键问题和反映目标系统的大致面貌,展示目标系统的全部或部分功能、性能等。
  2. 目标软件开发阶段:在征求用户对原型的意见后对原型进行修改完普,确认软件系统的需求并达到一致的理解,进一步开发实际系统。

     原型模型的开发流程如图所示:
在这里插入图片描述

螺旋模型

     螺旋模型(Spiral Model)是在快速原型的基础上扩展而成。也有人把螺旋模型归到快速原型。实际上,它是生命周期模型与原型模率的一个结合,这种模型将软件开发流程分为多个阶段,每一个阶段由4部分组成:

  1. 目标设定;
  2. 风险分析;
  3. 开发和有效性验证;
  4. 评审;

     开发过程就是上面4个部分的迭代,每迭代一次,软件系统生成一个新的版本,这个版本实际上是对目标系统的的一个逼近。具体的过程如图:

在这里插入图片描述
     该模型支持大型软件开发,适用于面向规格说明、面向过程和面向对象的软件开发方法,也适用于集中开发方法的组合。

基于可重用构建的模型

     近几年来,出现了以组件为基础的软件工程方法,基于构件组装的软件过程模型也随之产生并被广泛使用。
在这里插入图片描述
     显然,一个系统将依赖构件的健壮性。但是毫无疑问,构件组装模型使软件可以重用,而重用给软件工程师提供了大量的好处。构件组装模型具有极其广阔的实用性和深远的意义。

基于面向对象的模型

     面向对象技术自从问世后,很快被人们所接受,并得到广泛的应用。面向对象技术确实有很多的优点,其中构件重用是非常重要的技术之一。对象技术强调了类的创肆与封装,一旦一个类创建与封装成功,就可以在不同的应用系统中被重用。在这个模型中,一个系统可以由重用构件组装而成,甚至通过组装可重用的子系统而创建更大的系统,模型结构如图所示:

在这里插入图片描述

基于四代技术的模型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值