软件工程简答题精.docx

上传人:b****1 文档编号:503375 上传时间:2022-10-10 格式:DOCX 页数:17 大小:402.29KB
下载 相关 举报
软件工程简答题精.docx_第1页
第1页 / 共17页
软件工程简答题精.docx_第2页
第2页 / 共17页
软件工程简答题精.docx_第3页
第3页 / 共17页
软件工程简答题精.docx_第4页
第4页 / 共17页
软件工程简答题精.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

软件工程简答题精.docx

《软件工程简答题精.docx》由会员分享,可在线阅读,更多相关《软件工程简答题精.docx(17页珍藏版)》请在冰豆网上搜索。

软件工程简答题精.docx

软件工程简答题精

第一章软件的定义

软件是:

(1)指令的集合(计算机程序),通过执行这些指令来满足预期的特征、功能和性能需求;

(2)数据结构,使得程序可以合理的利用信息;

(3)文档描述,用來描述程序操作和使川。

软件的特性

■软件是设计开发的,而不是传统意义上生产制造的。

-硬件可能会引入质量问题,但软件不会(或易于纠正)

-人员和工作成果之间的对应关系完全不同

-构建方法不同,软件产品成本主要在于开发设计

软件的特性(续1)

■软件不会“磨损”O

-硬件的失效率称为“浴缸曲线”O

早期具有相对较高的失效率(米自设计或生产缺陷),

缺陷被逐个纠正后,失效率随Z降低并在一段时间内保持平稳,

因灰尘、震动、不当使用、温度超限等问题所造成的硕件组件损耗累积的效果而再次升高。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPractttfomr'sApproach7/e

(McGraw-Hill2009).Slidescopyright2009byRogerPressman.3

软件的特性(续3)

■虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。

■交互式川户界而使川可复川构件构造图形窗口

、下拉菜单和各种交互机制。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPractttfomr'sApproach7/e(McGraw-Hill2009).Slidescopyright2009byRogerPressman.

遗留软件

为什么一定要变更?

■软件必须进行适应性调整,以满足新的计算环境和技术的需求。

■软件必须升级以实现新的商业需求。

■软件必须扩展使之具有与更多现代系统和数据库的互操作能力。

■软件必须进行改建使之能适应多样化的网络环

软件工程

■若干事实:

■在制定解决方案之前要理解问题

■设计是一项关键的软件工程活动

■软件必须保证高质量

■软件需具备可维护性

■种子定义(FritzBauer):

■(软件工程是)建立和使用一套合理的工程原则,以便经济地获得町靠的、可以在实际机2伙上高效运行的软件。

■未提及软件质量,直接谈到用八满意度或按时交付产品的要求、忽略了测量和度量的重要性和有效的软件过程的重要性。

软件工程

■IEEE定义:

■软件工程是:

(1)将系统化的、规范的、可量化的方法应用丁软件的开发、运行和维护,即将工程化方法应川丁-软件。

(2)在

(1)中所述方法的研究。

•需要规范,也需要可适应性和灵活性

一种过程框架

过不呈框架(processframework)框架活动

工作任务(task)

工作产品

里程碑和可交付成果QA检査点

普适性活动(umbrellaactivity)

框架包含的活动

■沟通

■策划

■建模

■需求分析

■设计

■构建

■代码生成

■测试

■部署

普适性活动

■软件项目跟踪和控制

■风险管理

■软件质量保证

■技术评审

■测量

■软件配置管理

■可复用管理

■工作产品的准备和生产

实践的精髓

■Polya的建议:

1•理解问题(沟通和分析)。

2.计划解决方案(建模和软件设计)。

3.实施计划(代码生成)。

4.检查结果的准确性(测试和质量保证)。

Hooker的一般原则

■1:

存在价值

■2:

保持简洁

■3:

保持愿景

■4:

关注使用者

■5:

而向未来

■6:

计划复用

■7:

认真思考

第二章通用过程模型

Softwareprocess软件过卅

Processframework过叫f

Umbrellaactivities“迢t%;・5

frameworkactiviiyM1粗架汕从>ac

.!

轶f

T«*»«<»任务叙

MftwareeqwvosrcQactionan丄・

To*Mt»

任务集

円涵劝袒.1

】.作任务匸作产品航后保证点flsumww

I円功ftifl.k

I作任务11作产品航欤保证点^IIT.WW

frameworkactivityunsoftwareenguxerin^*cuon«rt1软

MU

任务集

aoftwMeacUonme

动tn

If¥涵幼ftx1

T.fl

Afifit保址点

mas程碑

trwxftntn.il

i:

作任务匸作户阳

烦磧保证点

项mifw

过程流

■■■■■■■I

2

(“线性ilWii

wwrwcevsn»w

(0并triiWi*

 

小型项目的获取需求任务集

1•制定项目的利益相关者列表

2.邀请所有的利益相关者参加一个非正式会议。

3.征询每一个人对于软件特征和功能的需求。

4.讨论需求,并确定最终的需求列表。

5.划定需求优先级。

6.标出不确定领域。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPractttfomr'sApproach7/e

(McGraw-Hill.2009).Slidescopyright2009byRogerPressman.15

大型项目的获取需求任务集

1•制定项目的利益相关者列表

2和利益相关者的每一个成员分別单独讨论,获取所冇的要求。

3•基于任务集2中的调查,建立初步的功能和特征列表。

4•安排一系列促进需求获取的会议。

5.组织会议。

6•在每次会议上建立非正式的用户场景,

7•根据利益相关者的反馈,进一步细化用户场景。

8.建立一个修正的需求列表。

9•使用质量功能部署技术,划分需求优先级。

10.将需求打包以便软件可以增量交付。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPracttitomfsApproach7/e

(McGraw-Hill.2009).Slidescopyright2009byRogerPressman.16

大型项目的获取需求任务集(续)

11•标注系统的约束和限制。

12.讨论系统验证方法。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPractittomfsApproach7/e

(McGraw-Hill.2009).Slidescopyright2009byRogerPressman.17

过程模式类型

■步骤模式一定义了与过程的框架活动相关的问题。

例如“建立沟通”,它可能包括需求获取等任务模式■任务模式一定义了与软件工程动作或是工作任务相关、关系软件工程实践成败的问题。

例如“需求获取”

■阶段模式一定义在过程中发生的框架活动序列,即使这些活动流本质上是迭代的。

例如“螺旋模型”和“原型开发”

瀑布模型

Communication

projectinitiationrequirementgatheri

沟通项IE动需求快取

Planning

estimatingschedulingtrodcing

策划

项11估舁进度计划项n跟踪

Modelinganalysisdesign

Constructiocodetest

建模分析设汁

构建

编码

Deploymentdeliverysupportfeedback

交何

支持

反馈

19

 

使用中遇到的问题

■实际的项冃很少遵守瀑布模型提出的顺序。

■客户通常难以清楚地描述所有的需求。

■客户必须要有耐心。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPractitfonsr'sApproach7/e

(McGraw-Hill.2009).Slidescopyright2009byRogerPressman.21

适用情形

■当需求确定、工作采川线性方式完成时。

增量模型

23

projectcalendartime

顶n时何

适用情形

■初始的软件需求明确,但是整个开发过程却不宜单纯运川线性模型。

同时,可能迫切需要为川户迅速提供一套功能有限的软件产品,然后在后续版本屮再进行细化和扩展功能。

例如第一个增量往往是核心产品,附加功能进入下个增量计划。

特点

■综合了线性过程流和并行过程流的特征。

■每个增量都提交一个可以运行的产品。

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPraclttton^sApproach7/e(McGraw-Hill.2009).Slidescopyright2009byRogerPressman.

演化模型:

原型开发

适用情形

■客户提出了一些基木功能,但没有详细定义功能和特性需求

■开发人员町能对算法的效率、操作系统的兼容性和人机交互的形式等情况并不确定

TheseslidesaredesignedtoaccompanySoftwareEngineeringAPradtttonifsApproach7/e

(McGraw-Hill・2009).Slidescopyright2009byRogerPres&man.27

特点

■很少是好川的,可能太慢太大,难以使川。

■一般作为被丢弃的系统。

特点

■采用循环的方式逐步加深系统定义和实现的深度,同时降低风险。

■确定一系列里程碑,确保利益相关者都支持可行的和令人满意的系统解决方案。

演化模型:

协同

特点(以建模活动为例)

■在某一特定时间,建模活动可能处于图中所示的任何一种状态中。

其他活动、动作或任务,可以川类似的方式表示。

■所有的软件丄程活动同时存在并处于不同的状态。

其他过

■基于构件的开发——这个过程模型能够使软件复用,是一个发展目标

■形式化方法——强调需求的数学规范说明

一个变型是净室(cleanroom)软件工程。

■面向方而的软件开发(AOSD)—为定义、说明、设计和构建方面提供过程和方法

如果某个关注点涉及系统多个方面的功能、特性和信息,可称为横切关注点,宙方面性需求來定义。

■统一过程——一种“用例驱动,以架构为核心,迭代

并且增量”的软件过程与统一建模语言的紧密结合

统一过程(UP)

production

生产

UP阶段

UPPhases呼阶段

Workflov^

Requirements

3;求

Analysis

分析

Design

设计

Inplefnontation

Test

测诚

Support

支持

Iterations

达代

UP工作产品

Inceptionphase

(始阶段

VtfionOocumont

InitlaiusecasemodolinKlaiprojectglossaryIMI*bu$»

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1