软件工程过程与方法

  • Post author:
  • Post category:其他


一、软件工程过程有哪些?

一般包括以下几方面内容:可行性分析、需求分析、设计、编码与实现、测试以及运行与维护

可行性分析:确定软件系统是否有价值做,是否能够以尽可能小的代价在尽可能段的时间内解决问题,一般考虑技术、经济效益、用户操作、法律和社会是否可行

需求分析:本阶段的任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可

设计:主要任务是将软件分解成模块,即能实现某个功能的数据和程序说明、可执行程序的程序单元

编码和实现:写成以某一程序设计语言表示的源程序清单

测试:软件测试贯穿软件开发的整个过程,它的目的是以较小的代价发现尽可能多的问题


白盒测试

:测试单元内部如何工作的方法,通过检查软件的内部逻辑结构,对软件中逻辑路径进行覆盖测试


黑盒测试

:不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例(

测试数据和预期的输出结果组成了测试用例

运行与维护:一般在交付后还需要不断进行再开发,维护是指在已完成对软件的研制工作并交付使用后,对软件产品进行一些软件工程的活动

二、常见的软件开发过程模型有哪些?

软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。


瀑布模型

:分阶段,各阶段完成后都有评审,允许反馈,要求预先确定需求,适用于需求定义完善、不易变更的系统



螺旋模型

:具有瀑布模型、快速原型模型的特点,并引进了风险分析活动,适用于需求难以获取和确定、开发风险较大的系统



原型模型

:不需要需求预先完备定义,支持用户参与,能够使用用户需求的变化,适用于需求复杂、动态变化、难以确定的系统。第一步是建造一个快速原型,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求




增量模型

:增量式开发,允许开发活动并行,增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。在使用增量模型时,第一个增量往往是实现基本需求的核心产品。



RUP模型

: RUP(Rational Unified Process)模型是Rational公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程。RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。

三、什么是敏捷开发?

敏捷开发是一种新型的软件开发方法,它以人为核心、迭代、循序渐进的进行软件开发,它具有应对需求变化的能力。具体而言就是,敏捷开发把一个大项目分为多个相互联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

四、UML一般有哪些图?

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的公用机制。

UML有3种基本的构造块:事物、关系和图。

事物是对模型中最具有代表性的成分的抽象,包括结构事物,如类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。

关系用来把事物结合在一起,包括依赖、关联、泛化和实现关系。

UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。

这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。

UML定义了5类,10种模型图

五种类图定义:

1.

用例图

:从用户角度描述系统功能,并指各功能的操作者。

2.

静态图

:包括类图,包图,对象图。

类图:描述系统中类的静态结构

包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构

对象图:是类图的实例

3.

行为图

:描述系统动态模型和对象组成的交换关系。包括状态图和活动图

活动图:描述了业务实现用例的工作流程

状态图:是描述状态到状态控制流,常用于动态特性建模

4.

交互图

:描述对象之间的交互关系

顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互

合作图:描述对象之间的协助关系

5.

实现图



配置图:定义系统中软硬件的物理体系结构

部署图:给出体系结构的静态实施视图



版权声明:本文为nawuyao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。