博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程
阅读量:4039 次
发布时间:2019-05-24

本文共 2637 字,大约阅读时间需要 8 分钟。

总述:软件工程是从软件方面入手,以工程的方式作为实际处理的指导方式,本身是为了降低难度的。实际上书中这些理论上的描述离实际工程的操作还是有差别的,而且软件工程的职位门槛最起码是可以处理整个工程的,如果感觉到软件工程非常虚,基本上说明没有达到接触的门槛,等到慢慢到可以接收的情况就可以了。

 

1.软件工程

答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行、维护的全过程及上述方法的研究。软件工程由方法、工具、过程三个部分组成。软件生命周期在软件工程中占据非常重要的地位,根据国标可以划分为可行性研究、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用、维护、退役10个阶段。

 

2.软件开发方法

答:软件开发方法是指软件开发过程所遵循的方法和步骤,从开发风范上分为自顶向下和自底向上两种方法,从性质上分为形式化方法和非形式化方法,从适应范围上分为整体性方法和局部性方法。

形式化方法是建立在严格的数学基础上、具有精确数学语义的开发方法。广义形式化方法是软件开发过程中分析、设计、实现的系统工程方法,狭义形式化方法是软件规格和验证方法。形式化方法的主要优越性在于能够数学地表述、研究应用问题及软件实现。形式化方法近年来一方面同图形语言机制结合,另一个方面是CASE工具支持形式化软件开发。

净室软件工程(CSE)是一种软件开发的形式化方法,采用盒结构规约进行分析建模,以正月性验证作为发现和排除错误的主要机制,使用统计测试获取认证软件可靠性所需的信息。CSE的理论基础是函数理论和抽样理论,采用技术手段 主要有:统计过程控制下的增量式开发;基于函数的规范和设计;正确性验证;统计测试和软件认证。CSE的主要缺点有:对开发人员的要求比较高;正确性验证步骤比较困难且耗时;开发环境比较复杂。

软件的逆向工程是分析程序,试图在比源码更高抽象层次上建立程序的表示过程,是设计的恢复过程。既可以对竞争对手进行逆向工程,也可以对自己企业以前的应用进行逆向工程。

 

3.软件开发模型

答:软件开发模型是软件开发过程的概括,是软件工程的重要内容。软件开发模型大体分为三类:第一类是以软件需求完全确定为前提的瀑布模型;第二类是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式开发模型,如喷泉模型、螺旋模型、统一开发过程、敏捷方法等; 第三类是形式化开发方法为基础的变换模型。

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要描述面向对象的软件开发过程。该模型任务软件开发过程自下而上的各个阶段是相互重叠和多次反复的,就像水喷上去又落下来,类似一个喷泉。

变换模型是基于形式化规格说明语言和程序变换的软件开发模型,对形式化的软件规格说明进行一系列自动或半自动的程序变换,最后映射为计算机能够接受的软件系统。程序变换是软件开发的另一种方法,基本思想是把程序设计的过程部分分为生成阶段和改进阶段。变换模型解决了代码结构多次修改而变坏的问题,减少了中间步骤,受制于整套开发环境和变换模型的严格的数学理论。

智能模型也称为基于知识的软件开发模型,综合了上述若干模型,并把专家系统结合在一起。

V模型是在快速应用开发模型基础上演变而来,清楚描述了开发和测试的对应,强调软件开发的协作和速度,在保证质量情况下缩短开发周期。

快速应用开发(RAD)是一种比传统生命周期法快得多的开发方法,RAD模型是瀑布模型的一个高速变种。RAD的基本思想体现在:让用户主动参与系统分析、设计、构造中来;将项目开发组织成一系列重点突出的研讨会,研讨会需要让项目投资方、用户、系统分析师、设计人员、开发人员一起参与;通过迭代构造方法加速需求分析和设计阶段;让用户提前看到一个可工作的系统。RAD的流程依次是业务建模、数据建模、过程建模、应用生成、测试与交付。RAD的特点是通过大量使用可重复构件加快开发速度,局限性表现在:对模块化要求比较高;开发者和客户必须在很短时间内完成一系列的需求分析,任何一方配合不好就会GG;只能用于管理信息系统的开发,不适合技术风险很高的情况。

统一过程(UP)是一个通用过程框架,使用种类光放的软件系统、不同的应用领域、不同的组织类型、不同性能水平、不同项目规模。UP是基于构件的,存在三个显著特点:用例驱动、以架构为中心、迭代和增量。UP现有的实例是RUP,RUP中软件过程在时间上分为初始阶段、细化阶段、构件阶段、移交阶段。初始阶段的任务是建立系统业务模型并确定项目边界,实现过程:明确项目规模、评估项目风险、制定项目计划、阶段技术评审。细化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素,实施过程:确定架构、制定构件阶段计划、建立支持环境、选择构件、阶段技术评审。构件阶段是实施过程。移交阶段就是交付。

 

4.软件开发环境与工具

答:环境信息库是软件开发环境的核心,存储与系统开发有关的信息,支持信息交流和共享;过程控制与消息服务器是实现过程集成和控制集成的基础;环境用户界面是环境总界面和由它实现统一控制的各环境部件及工具界面。

软件开发工具在软件生命周期中按功能分为软件开发工具、软件维护工具、软件管理和支持工具三类。开发工具选择的关键因素是所开发系统的最终用户和开发人员。

 

5.软件过程管理

答:软件过程是软件生命周期中一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。软件能力成熟度模型CMM是一个概念模型,将软件过程改进的步骤组织成5个成熟度等级,分别是初始级、可重复级、已定义及、已管理级、优化级。能力成熟度模型集成(CMMI)融合多种模型,形成了组织范围内过程改进的单一集成模型,主要是消除不同模型之间的不一致和重复,降低基于模型改进的成本。CMMI的阶段式模型和CMM是一样的,连续式模型按照功能划分为过程管理、项目管理、工程、支持这四个过程组,连续式模型的过程域强调实践。

软件过程能力评估是根据过程模型或其他模型对组织的软件过程进行规范的评估。基于CMM的评估方法需要遵循以下操作步骤:成立评估小组;参评单位成熟度问卷调查及问题答复;评估小组分析调查问卷;评估小组现场访问、召开座谈会、审核过程文档,然后进行关键活动分析和评估;整理调查结果,编写调查报告;绘制KPA剖面图,显示是否达标,向有关部门提交评估的结论性意见。Trillum模型是主要用于嵌入式软件开发和支持的能力评估模型,以CMM模型为基础。

转载地址:http://xqpdi.baihongyu.com/

你可能感兴趣的文章
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>