文档库 最新最全的文档下载
当前位置:文档库 › 软件工程期末复习重点

软件工程期末复习重点

软件工程期末复习重点
软件工程期末复习重点

1需求分析

1需求分析的目标与任务

2结构化分析方法

数据流图(建模,分层,精化)画图,分0 ~ 3层,会模型语法(15’)3信息结构表示方法

【需求分析的目标】:明确性、完整性、一致性、可测试性

1.什么是需求分析?需求分析阶段的基本任务是什么?

答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。

【任务】:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作

2.什么是结构化分析方法?该方法使用什么描述工具?

结构化分析方法:是面向数据流进行需求分析的方法。

描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。2数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据流图的基本符号的意思:

1.矩形表示数据的外部实体;

2.圆角的矩形表示变换数据的处理逻辑;

3.少右面的边矩形表示数据的存储;

4.箭头表示数据流。

--------------------------------------------------------------------------------------------------------------------------------- 2 概要设计

1软件概要设计的基本任务

软件设计的基本任务

2软件设计的基本原理

模块化、抽象、信息隐藏、模块独立性、内聚性、耦合性

内聚性、耦合性的划分

3软件结构优化准则

软件结构、模块的影响范围,模块的控制范围

软件结构的优化

什么是概要设计?有哪些基本任务?

答:概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则

基本的任务:

设想供选择的方案。

推荐最佳方案。

功能分解,确定软件结构。

设计软件结构。

制定测试计划。

数据设计。

书写文档。(包括总体设计规格说明书、用户手册、测试计划)

设计审查和复审。

2.软件设计的基本原理包括哪些内容?

软件设计的基本原理:

(1)模块化(四个属性:接口、功能、逻辑、状态)

(2)抽象

(3)信息隐蔽

(4)模块独立性(两个定性的度量标准:耦合性与内聚性)

3.衡量模块独立性的两个标准是什么?它们各表示什么含义?

两个定性的度量标准:耦合与内聚性

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

6.什么是软件结构?简述软件结构设计优化准则。

软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

软件结构设计优化准则:

a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。

b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近

c.软件的深度、宽度、扇入、扇出应适当。

D.模块的大小要适中。

E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。

---------------------------------------------------------------------------------------------------------------------------------

3详细设计

1详细设计的基本任务

2图形设计工具

流程图

方块图

PAD图

详细设计的基本任务是什么?有那几种描述方法?

答:详细设计阶段的任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。主要方法有设计程序流程图,表格设计符号以及过程设计语言。

--------------------------------------------------------------------------------------------------------------------------------- 4软件测试

1测试完备性的由来(为什么不能证明测试无错)

2动态测试方法

白盒法

黑盒法

3测试用例的设计

逻辑覆盖、等价类划分、边界分析、错误推测

逻辑覆盖中各种覆盖间的区别(写清用例用哪种覆盖准则,用什么法)

用白盒法和黑盒法设计测试用例

什么是白盒测试?它适应哪些测试?

【答】:白盒测试也叫结构测试,测试者需要了解被测程序的内部结构。白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。

白盒测试适用与单元测试、集成测试、系统测试

1.采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?

答:黑盒测试设计测试用例的方法有

1)等价类划分法

特点是:a、测试的内容相同 b、一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现缺陷 c、一个等价类中的某个测试不能发现缺陷,那么这个等价类的其它测试也不能发现缺陷

2)边界值分析法

特点是:用边界值分析时时常收获较大,它是在等价类的边界上选择测试用例

3)错误推测法

特点是:没有确定的步骤,很大程度上是凭借经验进行的

4)因果图法

特点是:考虑输入条件间的组合关系;考虑输出条件对输入条件的信赖关系;测试用例发现错误的效率高;能查出功能说明中的某些不一致或遗漏

---------------------------------------------------------------------------------------------------------------------------------

5 UML建模

1面向对象概念

对象与面向对象

类与实例与继承

2 UML视图画法

类图、用例图、活动图、顺序图

[面向对象设计]:上层创建的抽象不依赖于任何细节,而细节则高度依赖于上层的抽象

活动图在分析阶段的作用?

【答】:活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。

顺序图在分析阶段的作用?

【答】:顺序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序

---------------------------------------------------------------------------------------------------------------------------------

6软件过程

1软件过程概念

软件过程的内容

软件过程与软件技术、工具的关系

2软件过程模型

瀑布模型

原型模型

形式化模型

演化模型:增量模型、迭代模型

什么是软件过程模型?

又称:软件开发模型/软件生命周期模型

指软件生命周期内过程、活动和任务的结构框架

指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。

【答】:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试

瀑布模型的特点:

阶段间具有顺序性和依赖性、推迟实现的观点(目的是什么?)、质量保证的观点(怎样实现的?)、只适用于极小型的项目!(为什么?)

瀑布模型的精髓和内涵:

精髓:针对每一步骤的要求严格的验证

内涵:保证质量

瀑布模型的优缺点:

优点

可强迫开发人员采用规范的方法

严格地规定了每个阶段必须提交的文档

要求每个阶段的所有产品都必须经过质量保证小组的仔细验证

缺点

无法解决软件需求不明确或不准确的问题;可能导致最终开发的产品不能真正满足用户需要瀑布模型比较适合开发需求明确的软件(极少的情况)

不适应需求经常变化的软件开发

开发早期存在的问题往往要到交付使用时才发现,维护代价大

增量模型的精髓和内涵:

精髓:从最主要的需求开始进行增量开发,不断获得用户的使用反馈,上一次增量作为下一次增量的基础,从而使需求逐渐完善

内涵:通过多次增量,不断获得用户的反馈,并使需求逐步精化

---------------------------------------------------------------------------------------------------------------------------------

7软件配置管理

1基线

基线的概念

基于基线的变化控制

2配置管理技术

标识

版本控制

变化控制

配置审计

状态报告

什么是软件配置管理?什么是基线?

答:配置管理能够系统地处理变更,从而使得软件系统可以随时保持其完整性。配置管理又可成为变更控制,可以用来评估提出的变更请求,跟踪变更,并保持系统在不同时间的状态。软件配置管理是一套规范、高效的软件开发基础结构。

【基线】:已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变化控制过程改变。

---------------------------------------------------------------------------------------------------------------------------------

8风险管理

1软件风险概念

不确定性:刻划风险的事件可能发生也不可能发生。

损失:如果风险变成了现实,就会产生恶性后果或损失。

进行风险分析时,重要的是量化不确定性的程度及与每个风险相关的损失的程度2风险评估方法

过程: 定义项目的风险参考水平值。

建立每一组[r,l,x]与每一个参考水平值之间的关系。

预测一组临界点以定义项目终止区域。

预测什么样的风险组合会影响参考水平值。

风险管理方式:风险列表

1,风险管理意识:十大风险清单

管理的范围:四个P!

People

Product

Process

Project

---------------------------------------------------------------------------------------------------------------------------------

题型:

1简答

列举知识点就可以了

2论述

灵活运用有关只是点对具体问题展开分析

3计算与建模

2009年全真试题

1、简述软件需求分析中要解决哪些问题,如何解决。

2、简述在软件模块设计中出现的控制耦合对软件测试与维护的影响。

3、为什么大型软件系统需求分析阶段建立的原型系统在需求分析结束后应该

被抛弃?

4、简述瀑布式软件过程模型设计阶段要解决哪些问题、得到哪些结果、可以使

用那些工具。

5、简述如何解决软件开发过程中生成的文档发生变化所导致的问题。

6、结合统一建模语言UML简要论述怎样进行面向对象的建模。

7、简述软件配置项(Software Configuration Items)、基线(Baselines)、里程碑

(Milestones)各自在软件开发过程中所起的作用以及它们之间的关系。

解答示例

试论述为什么应用烟花式的开发方法可以提高测试的效率并降低开发的成本?思路:需结合增量开发的特点来回答

需针对每个特点,对照题目的要求进行展开分析

答:改善测试效果:

功能是分阶段开发的

测试工作量可以得到有效的控制

测试工作针对增量,有针对性

节约成本:

分批投入

边开发边回收成本

软件工程复习考试题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法?B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程 简答题复习题(带答案)

n n g a r 第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来 了解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过 程中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)预算,项目一再拖延。 2)需求,开发的软件不能满足用户的要求,项目成功率低。 3)软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软 件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法 做到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。

n d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实 施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开 发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向 对象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、 XP 模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征?

软件工程专业职业生涯规划

职业生涯规划是每个大学生的入学必须课,它就像指南针,为学生指明了航行的方向。 1.个人基本情况:在朋友看来,我是一个性格外向的人。但我知道,我只是在朋友面前性格外向,而在陌生人面前,我是内敛型的。比较胆怯和他人搭话,所以我的交际能力还是比较差劲的。我比较喜欢呆在图书馆学习,觉得一个人学习时,效率比较高。 2.职业兴趣:我这个人,虽然平时比较活泼。但我比较喜欢做枯燥的事情,不喜欢自己很闲,所以我觉得我很喜欢软件开发这个工作。 3.个人性格:我的性格还是比较好的,很容易与他人相处,不会和他人发生很大的矛盾。自我觉得比较善良,责任心比较强,不怕吃苦,做事呢,粗细有致,也能把握好分寸。 4.职业价值观:对于喜欢的职业,并不要求过高的物质要求。正常范围内可接受。另外,比较喜欢有团体活动的职业,劳逸结合。 5.优势分析:我处理事情比较理性,不会感情用事。我做事的态度比较好,不喜欢违背规则。做事比较有耐心,也很有责任心,喜欢把事情做好。相对来说比较勤劳。有时候也很固执,不会的东西,一定把它弄好,不会轻言放弃,很少半途而废。我这个人也比较耐得住寂寞,能够静下心来。另外,我的性格比较好,很好相处,不会招人嫌弃。我是一个擅长为别人考虑的人,不会伤害别人,所以我想我很适合团队合作。 6.劣势分析:我这个人缺乏自信。我很害怕各类考核。我害怕失败,即使我擅长那一方面。所以我很少参加竞赛。我的交际能力不行。和陌生人说话很紧张、很害羞。所以我的朋友并

不是很多,可以说人脉稀薄。我很容易被人打扰。因为我不擅长拒绝别人。另外,我这人没有主见,喜欢随大流,也时常优柔寡断。 自我分析小结:可以说,每个人都是优缺点集于一身。一个人要想进步,就必须不断地取长补短。而对于我个人来说,我的缺点是致命的。要想在这个社会上有所成就,自信和交际能力是不可或缺的。我必须改掉这些缺点,才能够胜任将来的工作,把事情做的更好。除此之外,我相信技术才是硬道理。所以,我会不断地学习,充实自身的专业知识和专业技能。 1.爱情规划:在大学期间我不打算谈恋爱。除非真的遇到了志同道合的并能够一起为梦想而努力的人,我可能会谈恋爱。我觉得大学生之间的恋爱不切实际,可能会耽误学习,同时浪费精力,浪费时间,所以我个人比较反对大学期间谈恋爱。 1.家庭环境分析:我的家庭条件很一般。父母长期做高强度的体力活供我读书。只能勉强 供我读个大学。可以说我身上的担子还是蛮重的。所以,我并不打算毕业后就考研。我会考虑先工作两年,再继续考研。 2.学校环境分析:学好的住宿环境还行,虽说交际能力不够好,但经过长期的相处,我和舍友们相处的也比较融洽。但是由于我所在的学校学习氛围不够浓郁,同学之间相互交流专业知识的情形比较少见。另一方面,学习被他人唠叨的情况时有发生,这可能降低一个学生的学习热情。 4.职业环境分析:可以说,信息化时代,在软件这个行业人才需求量很大。由于高校普遍开设这个

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 5.IPO 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7. 其中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、

单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和 社会效益可行性等方面研究。 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环 结构。 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功 能需求。

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

我的大学生职业生涯规划书(软件工程专业的职业生涯规划书)

我的大学生职业生涯规划书 姓名:*** 班级:软*** 学号:***** 在今天这个人才竞争的时代,职业生涯规划开始成为就业争夺战中的另一重要利器。对于每一个人而言,职业生命是有限的,如果不进行有效的规划,势必会造成时间和精力的浪费。作为当代的大学生,若是一脸茫然踏入这个竞争激烈的社会,怎能使自己占有一席之地?因此,我为自己拟定一份职业生涯规划。有目标才有动力和方向。所谓“知己知彼,百战不殆”,在认清自己的现状的基础上,认真规划一下自己的职业生涯。 一个有效的职业生涯设计必须是在充分且正确认识自身条件与相关环境的基础上进行的。要审视自己、认识自己、了解自己,做好自我评估,包括自己的兴趣、特长、性格、学识、技能、智商、情商、思维方式等。即要弄清我想干什么、我能干什么、我应该干什么、在众多的职位面前我会选择什么等问题。所以要想成功就要正确评价自己。 自我评价 1、个人性格:既有外向的一面,又有内向的一面。有时候只要有什么活动,大概都会看到我参加, 内向时,可以让人忽略我的存在。 2、个人兴趣:喜欢打乒乓球和网球,喜欢看书,喜欢一个人散步,喜欢写东西等。 3、个人特长:有坚持不懈的精神,有虚心问学的勇气,有有错必改的正气,最重要的是我有一颗忠 诚的心。 4、个人学识:本科在校生 5、个人志向:我想当一名出色的软件工程师。虽然说社会上的公种有几千多种,形形色色的,但我 就是喜欢这个职业。虽然它比不上医生救死扶伤那么神圣,但它也是可敬的,因为软件工程师能让我们体验世界的飞速发展。 对专业的认识 专业背景:随着计算机的普及应用,人们对计算机的要求越来越高,期望在硬件投入不大的 情况下计算机软件的功能越来越强,希望计算机软件的性能不断提升。然而,就是被人们广泛使用的比较成熟的软件,也难免有许多不尽人意之处,这是因为软件设计的缺陷、遗漏、错误所带来的后果。为此,人们越来越重视软件的开发过程、软件的维护以及软件项目的管理。 专业了解: 1)在内容组织上,以软件生存周期为主线,强调知识的系统性、实用性、新颖性和可操作性。对基本概念、开发方法、开发工具介绍由传统应用型到现代流行型展开,尤其是现在国内外大型软件企业经常使用的软件开发方法,如敏捷方法、精益方法等,予以重点探讨,以

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件专业大学生职业生涯规划书范文

大学生职业生涯规划范文 一.大学毕业后的十年规划 (2005年-2015年,20岁至30岁) 美好愿望:有份稳定工作 方向:企业网络管理员 总体目标:完成学业,好好完成实习,提高自己的实践能力和实际工作能力,进入一 个正式企业工作 已进行情况:正在大学学习中 二.社会环境:现在网络发展迅速,网络安全问题日益严重,各个企业对网络管理的需 求越来越大,不过对网络管理的能力要求也越来越高,这既保证了我们的就业,又要求我 们有塌实的功底。既要求我们的专业知识过硬,又要求我们有丰富的实践能力。这对我们 也是个不小的挑战。 三.行业环境分析:从国家加入WTO开始,所有大型企业都开始建造智能建筑,所 有企业都需要网络人才来设计、管理,这就为我们的就业市场提供了广阔的场景。 四.个人分析与角色建议 1.个人分析:本人对电脑兴趣浓厚,但对英语天赋不高;具有较强的人际沟通能力;思维敏捷,表达流畅。 自身现状:本人对电脑兴趣浓厚,但对英语天赋不高;具有较强的人际沟通能力;思 维敏捷,表达流畅。 2.角色建议(周围的人给自己的评价及建议): 父母:“好好学习,增强自我控制能力”“工作要努力,有发展” 同学:“有较强的工作能力” …… 五.职业目标分解与组合 职业目标:正式企业的网络管理员 分阶段阐述 2006-2008 成果目标;完成学业,考取网络管理员证书,获得一定的工作经验 学历目标:大专毕业证 能力目标:能独立处理一些普通常见的网络问题

分阶段阐述 2008-2013 学历目标:自学考取本科证,网络工程师证书 职务目标:普通企业的网络管理员 能力目标:能独立处理各种网络问题,会设计一个中等的智能建筑,拥有了丰富的实际工作经验 经济目标:年薪3.6万 分阶段阐述 2013-2016 学历目标:考取系统分析师 职务目标:正式企业的网络管理员 能力目标:对于各种网络问题能非常迅速的解决,能和同事合作设计各种等级的智能建筑 经济目标:年薪6万 六.成功标准 我的成功标准是工作顺利稳定,家庭和谐,生活平坦。只要自己尽力了,能力得到了发挥,自己天天都能学到新的知识丰富自己,即使目标没有实现(特别是收入方面)我也不会觉得失败,给自己太多的压力本身就是一件失败的事情。 七.职业生涯规划实施方案 规划实施存在的障碍:计算机更新速度飞快,每日都有新的知识出现,这需要我们一直学习最新的网络知识,来保证自己不被淘汰。 八、缩小差距的方法:每天都要抽取一定的时间上网学习最新的网络知识,时时在网上与其他的IT人才交流 九、本人对于职业生涯规划的意义 我认为职业规划要有,但不能就将看做是自己的未来了,现在社会每天都在改变,我们为了适应社会也需要改变自己的方向,以便找到自己在社会中的正确位子,而职业规划则是让自己有个目标,不会迷失方向,不知道今后要干些什么。 大学生职业生涯规划范文——计算机专业

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

高级软件工程师月考试试题A卷带答案

高级软件工程师考试试题(A卷)1、下哪种命名空间中的类型用于创建Windows GUI应用程序。(选择1项) D、 2、判断这PL/SQL 代码块:(选择1项) BEGIN FOR i IN 1..6 LOOP IF i = 2 OR i = 3 THEN null; ELSE INSERT INTO example(one) VALUES (i); END IF; ROLLBACK; END LOOP; COMMIT; END; 有多少行被插入到表 EXAMPLE ? A、0 B、1 C、2 D、3 3、链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 4、序列图描述对象是如何交互的并且将重点放在消息序列上。(选择1项) A、正确 B、不正确

5、一个XML必须有DTD或Schemas。(选择1项) A、正确 B、不正确 6、动态网站需要的技术为。(选择3项) A、CGI B、HTTP C、ASP D、PHP 7、Linux 文件名的长度不得超过( )个字符?(选择1项)。 A、64 B、128 C、256 D、512 8、在Struts中实现页面跳转主要通过什么方法来实现?(选择1项) A、 B、 C、 D、 9、EJB的优点有哪些?(选择2项) A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持 10、在使用匿名登录ftp时,用户名为( )? (选择1项) A、login users B、anonymous C、root D、guest 11、你判断下面语句,有什么作用?(选择1项)

软件专业大学生职业生涯规划

大学生职业生涯规划书 在今天这个人才竞争的时代,职业生涯规划开始成为就业争夺战中的另一重要利器。对于每一个人而言,职业生命是有限的,如果不进行有效的规划,势必会造成时间和精力的浪费。作为当代的大学生,若是一脸茫然踏入这个竞争激烈的社会,怎能使自己占有一席之地?因此,我为自己拟定一份职业生涯规划。有目标才有动力和方向。所谓“知己知彼,百战不殆”,在认清自己的现状的基础上,认真规划一下自己的职业生涯。 一个有效的职业生涯设计必须是在充分且正确认识自身条件与相关环境的基础上进行的。要审视自己、认识自己、了解自己,做好自我评估,包括自己的兴趣、特长、性格、学识、技能、智商、情商、思维方式等。即要弄清我想干什么、我能干什么、我应该干什么、在众多的职位面前我会选择什么等问题。所以要想成功就要正确评价自己。 自我评价 1、个人性格:既有外向的一面,又有内向的一面。有时候只要有什么活动,大概都会看到我参加,内向时,可以让人忽略我的存在。 2、个人兴趣:喜欢打乒乓球和网球,喜欢看书,喜欢一个人散步,喜欢写东西等。 3、个人特长:有坚持不懈的精神,有虚心问学的勇气,有有错必改的正气,最重要的是我有一颗忠诚的心。 4、个人学识:本科在校生 5、个人志向:我想当一名出色的软件工程师。虽然说社会上的公种有几千多种,形形色色的,但我就是喜欢这个职业。虽然它比不上医生救死扶伤那么神圣,但它也是可敬的,因为软件工程师能让我们体验世界的飞速发展。 对专业的认识 专业背景:随着计算机的普及应用,人们对计算机的要求越来越高,期望在硬件投入不大的情况下计算机软件的功能越来越强,希望计算机软件的性能不断提升。然而,就是被人们广泛使用的比较成熟的软件,也难免有许多不尽人意之处,这是因为软件设计的缺陷、遗漏、错误所带来的后果。为此,人们越来越重视软件的开发过程、软件的维护以及软件项目的管理。 专业了解: 1)在内容组织上,以软件生存周期为主线,强调知识的系统性、实用性、新颖性和可操作性。对基本概念、开发方法、开发工具介绍由传统应用型到现代流行型展开,尤其是现在国内外大型软件企业经常使用的软件开发方法,如敏捷方法、精益方法等,予以重点探讨,以便于读者深入学习了解。 2)在软件文档编写上,强调规范软件开发文档。针对软件开发生存周期的各个阶段,提供了相关的文档式样,使软件的整个开发进程是可以模拟的,也是可以操作的,学生能真正做到学以致用。 3)在知识表达风格上,贯彻软件瀑布模型的思想,即首先对知识进行概述,然后分解知识,简化知识,对知识进行详细描述,将理论、抽象问题具体化,复杂过程、方法简单化,技术、编程问题实例化,以提升学生的实践技能。 1、专业课程:C语言、C++、C#、离散数学、软件工程、面向对象编程原理、操作系统、计算机组成原理、数据库概论、微机原理与接口技术、计算机通讯网络技术、编译原理、UML 软件建模等 2、对就业环境的分析

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

相关文档
相关文档 最新文档