朝夕勤习练,内外紧相连

软件工程是涉及软件生产各个方面的一门工程学科,软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。软件工程还涉及软件开发中的人为因数,如团队组织;经济因数,如成本估算;法律因数。

软件工程是一门工程学科,它把工程理论与技术应用于软件开发,规范软件的开发过程,提高软件的开发质量。它旨在生产无缺陷软件,既指导如何生产能够及时交付/成本不超预算并且满足用户需求的软件产品。软件工程人员应该采用系统的、有组织的工作方法。

1.软件过程
软件过程是指开发或制作软件产品的一系列活动及其成果。所有的软件过程中都包括四个基本活动
描述:系统应该提供的功能及其开发约束
开发:软件产品的生产过程
有效性验证:验证软件产品是否满足了客户的需要
进化:按照用户的变更要求不断地改进软件

讲到软件过程就不得不提到软件过程模型,一个软件过程模型是软件过程的一种抽象表示,它农场是对软件过程某一特定方向的抽象描述

瀑布模型。
瀑布模型分为以下的几个模块:需求定义与分析、系统和软件设计、实现和单元测试、集成与系统测试、运行和维护
这种模型生硬地把一个软件过程划分成几个界限清晰的阶段,而且这些阶段前都有严格的顺序,这导致它很难对用户的需求变更做出及时的调整。因此,瀑布模型只适合需求非常清楚和需求变更被严格限制的情况下。

进化式开发模型
基本思想:通过开发系统原型和用户反复交互,以明确需求,使系统在不断调整与修改中得以进化成熟。又叫做原型式开发方法。这种模型有两种基本类型:探索式开发和抛弃式原型法。

基于组件的软件工程

2.软件生存期

从理论上而言,软件生存期一般都可分为计划、需求分析、设计、编码、测试和运行维护六个步骤。根据软件工程实施过程中的各阶段活动,我们可以把它归结为不同的软件生存期模型,并归结出每一个阶段的实施的行为特征。在软件工程的实施过程中,需要制作相应的文档。

3.软件工程方法

软件声明周期中使用以整套技术方法的集合,包括系统模型描述、约束规则、设计建议和过程指南的组成元素。普遍采用的软件工程方法有结构化方法和面向对象方法。

4.软件工程目的
使软件开发非常规范地进行,它力求使一个软件开发团队或个人打下一个良好的基础,以便逐步成长为成熟稳定的团队或优秀的软件设计人员。
定义软件开发的流程
定义软件开发的文档格式
定义涉及的角色
定级涉及的信息

软件开发基本流程
项目启动
制定计划
计划实施
项目终止

项目启动和策划阶段
定义项目 估算工作量 制定详细计划

需求分析、设计、编码阶段
需求阶段:做出需求规格说明书
设计阶段:做出设计文档,总体设计,概要设计,数据库设计和详细设计
编码阶段:编码人员根据详细设计,设计单元测试用例,编写代码,进行单元测试
关键评审:SRS评审,设计评审,代码走查

提交测试阶段
生产发布、终测
发布后问题反馈修改过程

软件需求分析

什么是需求
用户需求:从用户角度来描述的系统功能需求与非功能需求,这样的描述可以使不具备专业技术知识的用户能够看明白
系统需求:相对于用户需求,系统需求是对系统功能、服务及约束的更详尽的描述

需求文档
需求文档是对系统开发者所提要求的正式的描述,也就是对要去开发者实现什么的规范地、准确的描述
需求文档应该包括系统的用户需求和详细的系统需求描述。IEEE为需求文档的内容提出了一个一般化的建议
引言
一般描述
专门描述
附录
索引

软件概要设计
概要设计说明书包括:引言、总体设计、接口设计、运行设计、系统数据结构设计、系统出错处理设计

软件详细设计
软件的详细设计就是对模块实现的过程设计(数据结构+算法)。从软件开发的过程化的观点来看,在进行程序编码以前,需要对系统所采用算法的逻辑关系进行分析,并给出明确,清洗的表述。
确定系统每一个模块所采用的的算法,并选择合适的工具给出详细的过程性描述
确定系统每一个模块使用的数据结构
确定系统模块的接口细节、包括系统的外部接口和用户界面、与系统内部其他模块的接口以及各种数据的全部细节
为系统每一个模块设计测试用例

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/81462023
今日推荐