当前位置:文档之家› 西安工业大学软件工程作业含答案

西安工业大学软件工程作业含答案

西安工业大学软件工程作业含答案
西安工业大学软件工程作业含答案

软件工程第一章作业

1.1什么是计算机软件?软件的特点是什么?

答:计算机软件指计算机系统中的程序及其文档。

软件的特点是:

A软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;

B软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;

C软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明。

答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。A系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。系统软件与具体的应用领域无关。例如:编译程序、操作系统等。

B支撑软件:支撑软件是支撑软件的开发和维护的软件。例如:数据库管理系统、网络软件、软件工具、软件开发环境等。

C应用软件:应用软件是特定应用领域专用的软件。例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.4什么是软件工程?

答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

1.5简述软件工程的基本原则。

答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:

第一条:围绕适宜的开发模型;

第二条:采用合适的设计方法;

第三条:提供高质量的工程支撑;

第四条:重视软件工程的管理。

1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。

答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。

B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。

C软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。

D编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。

E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。

F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。

1.9简述各类软件过程模型的特点。

答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。

A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:接受上一阶段活动的结果作为本阶段活动的输入;

依据上一阶段活动的结果实施本阶段应完成的活动;

对本阶段的活动进行评审;

将本阶段活动的结果作为输出。

B增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。

C原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一轮迭代中对原型进行改进。在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。

D螺旋模型将原型模型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点而且还增加了风险分析。

E喷泉模型是一种支持面向对象开发的过程模型。类及对象是面向对象方法中的基本成分。在分析阶段,标识类及对象,定义类之间的关系,建立对象-关系模型和对象-行为模型。在设计阶段,从实现的角度对分析模型进行调整和扩充。在编码阶段,用面向对象语言实现类及对象,通过消息机制实现对象之间的通信,完成软件的功能。在面向对象方法中,分析模型和设计模型采用相同的符号表示体系,开发的各个活动没有明显的边界,各个活动经常重复,迭代地交替进行。

F基于构件的开发模型,基于构件的开发是指利用预先包装的构建来构造应用系统。构件可以是组织内部开发的构建,也可以是商业化的、现存的软件构件。

G形式化方法是建立在严格数学基础上的一种软件开发方法。软件开发的全过程中,从需求分析、规约、设计、编程、系统集成、测试、文档生成,直至维护等各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。形式化方法用严格的数学语言和语义描述功能和设计规约,通过数学的分析和推导,易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。通过数学的演算,使得从形式化功能规约到形式化设计规约,以及从形式化设计规约到程序代码转换成为可能。

1.10敏捷软件开发的特点是什么?

答:敏捷软件开发的特点有4个:

A个人和交互高于过程和工具;

B可运行软件高于详尽的文档;

C与客户协作高于合同谈判;

D对变更及时做出反应高于遵循计划。

1.12简述敏捷软件开发的原则。

答:敏捷软件开发必须遵循的12条原则如下;

A最优先的是通过尽早地和不断地提交有价值的软件来使客户满意;

B欢迎变化的需求,即使该变化出现在开发的后期,为了提升对客户的竞争优势,Agile过程利用变化作为动力;

C以几周到几个月为周期,尽快、不断地发布可运行软件;

D在整个项目过程中,业务人员和开发人员必须天天一起工作;

E以积极向上的员工为中心建立项目组,给予他们所需要的环境和支持,对他们的工作予以充分的信任;

F项目组内效率最高、最有效的信息传递方式是面对面的交流;

G测量项目进展的首要依据是可运行的软件;

H敏捷过程提倡可持续的开发,项目发起者、开发者和用户应能长期保持恒定的速度;

I应该时刻关注技术上的精益求精和好的设计,以增强敏捷性;

J简单化是必不可少的,这是尽可能减少不必要工作的艺术;

K最好的构架、需求和设计出自于自我组织的团队;

L团队要定期反思怎样才能更加有效,并据此调整自己的行为。

第2、3章

2.1简述系统工程的任务。

答:系统工程是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。主要任务包括:(1)识别用户要求;(2)系统建模与模拟;(3)成本估算及进度安排;(4)可行性分析;(5)生成系统规格说明。

2.2基于计算机的系统由哪些元素组成?

答:组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程。

2.3简述可行性分析的任务。

答:可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。

(1)经济可行性主要进行成本效益分析,从经济角度,确定系统是否值得开发。包括成本、效益、货币的时间价值、投资回收期和纯收入。

(2)技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。

(3)法律可行性主要研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。

3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。答:重要性是应用已证实有效的技术、方法进行需求分析,确定客户需求、帮助分析人员理解问题,评估可行性,协商合理的解决方案,无歧视地规约方案,确认规约以及将规约转换到可行性的系统时的管理要求,通过合理的工具和符号系统地描述待开发系统以及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。因需求分析失败而造成项目失败例子如下:

项目名称:邮政资信管理系统

项目功能:管理邮政方面业务的监督和管理,提高邮政的服务效率。

失败原因:需求分析不足,需求内容不明确,把握不充分。

3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?

答:需求工程具体步骤包括:需求获取、需求分析与协商、系统建模、需求规约、需求验证以及需求管理六个步骤。

(1)需求获取

在需求获取阶段系统分析人员通过与用户的交流、对现有系统的观察以及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表以及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的原型。需求获取的工作产品为进行

需求分析提供了基础。

(2)需求分析与协商

此阶段的任务是对需求进行分类组织,分析每个需求与其他需求的关系以检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。

(3)系统建模

系统建模是为了在用户和系统分析人员之间建立统一的语言和理解的桥梁,系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确保需求分析文档正确反映用户的真实意图。

(4)需求规约

软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。需求规约作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要作用。

(5)需求验证

此阶段的任务是对功能的正确性、完整性和清晰性,以及其他需求给予评价,保证软件需求定义的质量。

(6)需求管理

软件需求管理是对需求工程所有相关活动的规划和控制。换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使用户与项目团队对不断变更的系统需求达成并保持一致的过程。

3.3一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

答:

(1)强烈的责任心和事业心

系统分析师由于必须保证分析的准确性,尤其是需求,所以责任更为重大。一般来说,不应以用户表述不明确,无法得到需求,或者用户需求变化太多太快作为借口,更不能因为下面的研发技术人员技术水平不如自己而责备研发技术人员,同时也需要能够为保证企业利益而说服公司领导做出正确的决策;

(2)钻研精神

IT行业不同于其他行业,新理念新技术新方法层出不穷,系统分析师需要能够适时适当地引进新理念新技术新方法,为企业提高生产效率,为员工降低劳动强度,为客户提供更具竞争力和更加实用的产品和服务;

(3)优秀的协商谈判能力

复杂的系统有许多项目相关的人员,他们之间的需求必定会出现冲突,协商的过程就是讨论需求,找出每个人都满意的折衷方案。分析人员是参与这之中的重要一份子,需要协调这之中的各方利益,这就要求分析员必须要有优秀的协商谈判能力。

(4)广泛的知识面:

除了具备基本的IT技能、知识外,需要广泛涉猎其他行业其他学科的知识方法,以系统工程的理念,借鉴和利用其他行业的为IT行业所用,也可以把IT行业的理念应用到其他行业;

(5)精湛的技术能力:

系统分析员往往需要分析可行性和解决研发人员的技术问题,因此必须具备广泛的技术涉猎面和较强的技术能力;

(6)财务能力:

系统分析员往往需要参与项目的招投标分析,为了保证企业的利润和客户的利益,必须进行财务核算,需要具备会计、财务,成本计算等方面的能力;

(7)司法能力:

与其他大部分行业一样,IT行业也受到法律的约束,任何活动必须合情合理合法,任何违背法律的项目最终都会失败,违背伦理道德的事和人最终都将失去人心。

(8)超强超快的学习能力:

IT行业新技术层出不穷,同时其他相关必备知识、业务知识也是瞬息万变,系统分析师要能够快速学习并快速掌握和灵活应用;

(9)敏锐的观察力:

由于IT行业项目的特殊性,项目复杂多变,系统分析师要能够先于其他人员发现问题、发现隐患,并提前做出规避风险的策略。

3.4列出在制定需求获取策略时的3种主要考虑因素。

答:(1)能否建立起顺畅的通讯途径;(2)是否能够获取用户对系统的功能需求和非功能需求;(3)是否利于在可运行系统时的管理要求。

3.6举例说明一个系统的3个不同类型的非功能需求

答:非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品的非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。例如在银行管理系统中,由于银行数据量的庞大以及对银行账户的管理需求,用户对系统的性能、可靠性、可维护性要求很高。安全性是对银行用户个人信息保密的基本要求;在使用系统时,由于用户庞大,要求能快速安全的执行要求,这就对系统的性能有高需求;银行的用户的变动比较大,需求高要求的系统维护。

3.8软件需求分析的操作性原则和需求工程的指导性原则是什么?

答:(1)必须能够表示和理解问题的信息域;

(2)必须能够定义软件将完成的功能;

(3)必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节;

(4)分析过程应该从要素信息移向细节信息

3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

答:软件需求规约包括:引言、信息描述、功能描述、行为描述、检验标准、参考书目、附录。

3.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

答:参与人员:分析人员,用户,开发部门的管理者,软件设计、实现、测试的人员。

需求分析

分析人员用户

用户要求

获取系统系统

信息需求折衷方案

系统信息

开发部门管理者软件设计、实现、测试人员

系统需求

第4章

4.1简述软件设计阶段的基本任务

软件设计的输入是软件分析模型。使用一种设计方法,软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息被传送给设计阶段,产生数据/类设计、体系结构设计、接口设计、部件及设计。

?数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。

?体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和他们之间的

关系组成。

?接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。

?部件级设计将软件体系结构的结构性元素变换为对软件部件的过程性描述。

4.2软件设计与质量的关系是怎么样的?

设计是在软件开发中形成质量的阶段,设计提供了可以用于质量评估的软件表示,是将用户需求准确的转化为完整的软件产品或系统的主要途径。

4.4简述模块、模块化及模块化设计的概念。

在软件工程中模块是数据说明、可执行语句等程序对象的集合,具有名字、参数、功能等外部特征以及完成模块功能的程序代码和模块内部数据等内部特征。

模块化,即把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件,实际上是系统分解和抽象的过程。

模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。

4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。

所谓“耦合性”是指模块之间联系的紧密程度的一种度量,而软件的“可移植性”是指将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量的大小。可移植性是用一组子特性,包括简明性、模块独立性、通用性、可扩充性、硬件独立性和软件系统独立性等,来衡量的。如果一个软件具有可移植性,它必然耦合性低,这样模块独立性要强。例如,有一个图形处理软件,它应具有二维几何图形处理、三维几何图形处理、图形显示、外设控制、数据库管理、用户界面控制、设计分析等模块。如果这些模块之间都是通过参数表来传递信息,那么它们之间的的耦合就是数据耦合或标记耦合等,都是低耦合。将来如果想要把它们移植到另一个外部环境中,这些模块容易修改(功能内聚),且接口清晰,修改可局部化。反言之,如果这些模块都是功能内聚或信息内聚的模块,模块之间的耦合都是低耦合,也对可移植性有促进。但不能讲具有低耦合性模块结构的软件一定具有可移植性,因为是否具有可移植性还有其它因素的影响。

4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是透明的。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来实现,这些独立的模块彼此之间仅仅交换那些为了完成系统功能所必需的信息,而将那些自身的实现细节与数据“隐藏”起来。信息隐蔽为软件系统的修改、测试及以后的维护都带来好处。通过抽象,可以确定组成软件的过程实体。通过信息隐藏,可以定义和实施对模块的过程细节和局部数据结构的存取限制。模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。

4.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有

何优点?

(1)模块的独立性是模块化、信息隐藏和局部化等概念的直接结果。

(2)模块的独立性是很重要的:第一,功能被划分,并且接口被简化,所以具有有效模块化的软件易于开发。第二,由于因设计和编码修改引起的副作用受到局限,

错误传播被减小,并且模块复用成为可能,所以独立的模块更易于维护和测试。总的来说,模块独立是良好设计的关键,从而又是保证软件质量的关键。

(3)用内聚度与耦合度来度量独立性。内聚度度量同一个模块内部各个元素彼此结合的紧密程度,耦合度度量不同模块彼此间相互以来的紧密程度。

(4)模块功能独立的优点:系统容易开发,系统可靠性高,系统易于维护,软件结构清晰。

4.9软件设计规约主要包括哪些内容?

1.工作范围

2.体系结构设计

3.数据设计

4.接口设计

5.各部件的过程设计

6.运行设计

7.出错处理设计

8.安全保密设计

9.需求/设计交叉索引

10.测试部分

11.特殊注解

12.附录

第5章结构化分析与设计

5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

数据流图(DFD)描述输入数据流到输出数据流的变换(即加工),用于对系统的功能建模。

数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。

数据流图进行需求分析的过程:

1)画出系统的输入和输出

2)画出系统内部

3)画出加工内部

4)重复第三步,直至每个尚未分解的加工都足够简单(即不必再分解)

5.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。1)父图和子图平衡

2)数据守恒

3)局部文件

4)一个加工的输入数据流不能与该加工的输入数据流同名

5)每个加工至少有一个输入数据流和一个输出数据流。

6)在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件。7)分层数据流图中得每个数据流和文件都必须命名(除了流入或流出文件的数据流),并且与数据字典一致。

8)分层DFD中的每个基本加工(即不再分解子图的加工)都应有一个加工规约。

5.4在数据流图中,可否将两个加工用一个数据流相连?可否将两个源用一个数据流相连?为什么?

两个加工可以直接用数据流相连,两个源不能直接用数据流相连。因为数据流由一组固定成分的数据组成。在DFD中,数据流的流向可以有以下几种:从一个加工流向另一个加工,从加工流向文件(写文件),从文件流向加工(读文件),从源流向加工,从加工流向宿。

5.7

采用结构化分析方法写出书店管理系统的需求文档,包括数据流图及数据字典。看到这个题目,我想起了以前自己也在手机端Android平台写了一个书店的管理系统,不过那个时候根本没有什么需求分析,只是自己一厢情愿的模拟了一个简单的流程。也没有采用什么结构化分析方法,就仅仅描述了几个对象及其功能。所以我觉得可以对照着新学的软件工程的知识运用到自己的实际项目中去,

同时也可以完成这道相识的题目。

下图就是以前的功能结构图:

会员管理子系统

用户登录子系统超级管理员

仓库管理员

销售管理员

供应商信息管理子系统

仓库管理子系统进货

出货

销售管理子系统零售

批发

退货

书店销售管理系统

还有一些程序运行的界面:

利用结构化方法分析:

1、数据流程图第一,存书分数据流图:存书进货时间

店管理

员查询

存书情况

第二,

进货分数据流图:进货信息

进货信息进货信息

进货信息

第三,销售分数据流图:

销售信息销售信息第四,

会员分数据流图:会员信息

会员信息会员信息会员信息会员信息总数据流图:

已售信息

进货信息

进货信息销售

信息进货信息销售销售信息信息进货信息进货

信息

会员信息

会员信息会员信息存登记销售图书销售登记表登记进

登记销售查询销售存书查询会

记查询登记

书店管理员是否为新书进

记表查询

存书登记存书

登记销售图书销售登记表

查询销售管理员已售信息登记销售

会员

信息

登记

查询管理员登记

会员信息进

会员信息货

出版社数据字典:

属性名类型长度备注

出版社号char10出版社的编号

出版社名称char20出版社的名称

所在城市char10出版社所在的城市

电话char15出版社的联系电话

进货数据字典:

属性名类型长度备注

书号char10书的编号

进价smallmoney4书的进价

进货数量int4每本书的进货数量

日期datetime8进货的日期

销售数据字典:

属性名类型长度备注

日期datetime8售货的日期

书号char10书的编号

销售量int4售出的书本数量

销售金额money8销售金额=(单价*销售量)

会员信息数据字典:

属性名类型长度备注

客服号char8会员卡的卡号姓名char20会员的姓名

地址char50会员的家庭住址电话char15会员的电话号码购买书号char10书的编号

店内收出数据字典:

属性名长度备注

月份6

水电支出4水电费用

员工支出4员工的工资

其他支出4其他费用支出

结算8每月的总结算

2、数据结构

数据结构名组成

存书信息书号,书名,作者,简介,单价,店内位置,类型,现存数量,出版社号,特价书

出版社号出版社号,出版社名称,电话,所在城市

进货信息书号,进货数量,进价,进货日期

销售信息销售日期,书号,销售量,销售金额

会员信息购买书号,客服号,会员姓名,地址,电话

书店支出信

月份,水电支出,员工支出,其他支出,结算

3、数据流

数据流名数据流来源数据流去向组成

登记新书信息进货信息存书信息新书信息

查询新书信息新书登记信息管理员新书信息

登记打折书信息存书信息销售信息存书信息

查询打折书信息打折书登记信息管理员存书信息

.登记会员信息会员信息存书信息会员信息

查询会员信息会员登记信息管理员会员信息

4、数据存储

数据存储名输入的数据流输出的数据流组成

新书登记表进货信息,是否为新书存书信息进货信息,存书信息打折书登记表存书信息,是否为打折书销售信息存书信息,销售信息会员登记表会员信息,销售信息会员信息会员信息,销售信息第6\8章

6.1简述面向数据结构方法的特点

答:特点如下:

1以信息对象及其操作作为核心进行需求分析;

2认为复合信息对象具有层次结构,并且可按顺序,选择,重复3种结构分解为成员对象信息;

3提供由层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础。

6.2采用Jackson 图表示下面的文件结构:

8.1什么是构件?答:

根据pressman 书中的定义

构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某种清晰的功能。

根据brown 的定义

构件是一个独立发布的功能部分,可以通过其接口访问它的服务。

根据《计算机科学技术百科全书(第二版)》中的定义

软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。

软件构件须承载有用的功能,并遵循某种构件模型。可复用构件是指具有可复用价值的构件。在基于构件的软件开发中经常会使用到的商用成品构件,是指由第三方开发的满足一定构件标准并且可组装的软件构件。

8.2简述基于构件的软件开发过程。

基于构件的软件开发过程:

领域工程的步骤:

1领域分析

2建立领域特定的基准体系结构模型

3标识候选构件

4泛化和可变性分析

5构件重构

6构件的测试

7构件的包装

8构件入库

应用系统工程的步骤:

1建立应用系统的体系结构模型;

2寻找候选构件;

3评价和选择合适的构件;

4构件的修改和特化;

5开发未被复用的不分;

文件

人员记录*

姓名工号地址办公室。工厂。

管理员。工作

6构件的组装;

7集成测试;

8评价被复用的构件,并推荐可能的新构件。

第11、13章

11.1

答:软件测试的目的是发现软件中的错误和缺陷,并加以纠正。

11.2

答:白盒测试又称结构测试,这种方法把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。白盒测试主要用于对程序模块的测试。包括:

●程序模块中的所有独立路径至少执行一次。

●对所有逻辑判定的取值(“真”与“假”)都至少测试一次。

●在上下边界及可操作范围内运行所有循环。

●测试内部数据结构的有效性等。

黑盒测试又称行为测试,这种方法把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符号它的功能需求。黑盒测试可用于各种测试,它试图发现以下类型的错误:

●不正确或遗漏的功能

●接口错误,如输入输出参数的个数、类型等。

●数据结构错误或外部信息(如外部数据库)访问错误。

●性能错误。

●初始化和终止错误。

11.3

解:判定覆盖:(1)X=85,Y=85

(2)X=70,Y=95

(3)X=30,Y=95

条件覆盖:(1)X=85,X=85

(2)X=70,Y=75

(3)X=95,Y=50

(4)X=50,Y=95

(5)X=40,Y=40

判定条件覆盖:(1)X=85,X=85

(2)X=70,Y=75

(3)X=95,Y=50

(4)X=50,Y=95

(5)X=40,Y=40

(6)X=20,Y=95

(7)X=95,Y=20

条件组合覆盖:(1)X=85,X=85

(2)X=65,Y=85

(3)X=85,Y=65

(4)X=70,Y=75

(5)X=95,Y=50

(6)X=50,Y=95

(7)X=40,Y=40

路径覆盖:(1)X=85,Y=85

(2)X=70,Y=95

(3)X=30,Y=70

11.5分别简述单元测试、集成测试、确认测试和系统测试的任务。

单元测试:

又称模块测试,着重对软件设计的最小单元——软件构件或模块进行验证。

单元测试根据设计描述,对重要的控制路径进行测试,已发现构建或模块内部的错误,通常采用白盒测试,并且多个构件或模块可以并行测试。

单元测试的主要内容:接口、局部数据结构、边界条件、独立路径和错误处理路径。

集成测试:

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。

目的:是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。

确认测试:

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

系统测试:

将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。

11.6什么是α测试?什么是β测试?

α测试:

α测试是由一个用户在开发者的场所进行的测试,软件在开发者对用户的“指导下”进行测试。经过α测试后的软件称为β测试。

β测试:

β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善。β测试也是黑盒测试。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。11.7什么是回归测试?

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择

正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

●观念:

1.回归测试是指重复以前的全部或部分的相同测试。

2.新加入测试的模组,可能对其他模组产生副作用,故须进行某些程度的回归测试。

3.回归测试的重心,以关键性模组为核心。

●测试策略:

对于一个软件开发项目来说,项目的测试组在实施测试的过程中会将所开发的测试用例保存到“测试用例库”中,并对其进行维护和管理。当得到一个软件的基线版本时,用于基线版本测试的所有测试用例就形成了基线测试用例库。在需要进行回归测试的时候,就可以根据所选择的回归测试策略,从基线测试用例库中提取合适的测试用例组成回归测试包,通过运行回归测试包来实现回归测试。保存在基线测试用例库中的测试用例可能是自动测试脚本,也有可能是测试用例的手工实现过程。

回归测试需要时间、经费和人力来计划、实施和管理。为了在给定的预算和进度下,尽可能有效率和有效力地进行回归测试,需要对测试用例库进行维护并依据一定的策略选择相应的回归测试包。

●测试过程

有了测试用例库的维护方法和回归测试包的选择策略,回归测试可遵循下述基本过程进行:

(1).识别出软件中被修改的部分;

(2).从原基线测试用例库T中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库T0。

(3).依据一定的策略从T0中选择测试用例测试被修改的软件。

(4).如果必要,生成新的测试用例集T1,用于测试T0无法充分测试的软件部分。

(5).用T1执行修改后的软件。

第(2)和第(3)步测试验证修改是否破坏了现有的功能,第(4)和第(5)步测试验证修改工作本身。

11.8简述边界值分析方法的作用

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

边界分析是指对输入或输出的边界值进行测试的一种测试方法。所说的边界值是指输入等价类和输出等价类的边界值。

经验证明大量的程序错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

13.1请讨论使软件维护成本居高不下的因素。如何尽可能降低这些因素的影响?

软件维护的代价是生产率惊人下降。维护费用只不过是软件及维护最明显的代价,起一些隐性的代价将更为人们关注。

软件维护除费用外的无形代价包括:

1.维护活动占用了其他软件开发可用的资源,使资源的利用率降低

2.一些修复或修改请求得不到及时安排,使得客户满意率下降

3.维护的结果把一些新的潜在的错误引入软件,降低了软件质量

4.将软件人员抽调到维护工作中,使得其它软件开发过程受到干扰

影响维护工作量的因素主要有以下六种:

1.系统的规模:系统规模越大,其功能就越复杂,软件维护的工作量也随之增大

2.程序设计语言:使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性也越好

3.系统年龄:老系统比新系统需要更多的维护工作量。

4.数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量

5.先进的软件开发技术:在软件开发过程中,如果采用先进的分析设计技术和程序设计技术,如面向对象技术、复用技术等,可减少大量的维护工作量

6.其它一些因素:如应用的类型、数学模型、任务的难度、IF嵌套深度、索引或下标数等,对维护工作量也有影响

为了有效的进行软件维护,尽可能降低这些因素的影响,应事先就开始做组织工作:

1.首先建立维护的机构

2.申明提出维护申请报告的过程及评价的过程

3.为每一个维护申请规定标准的处理步骤

4.建立维护活动的登记制度以及规定评价和评审的标准

13.3软件维护的过程是如何进行的?为什么要进行软件可维护性分析?

1.对于非纠错性维护,则首先判断维护类型,对适应性维护,按照评估后得到的优先级放入队列

2.对于改善性维护,则还要考虑是否采取行动,如果接受申请,则同样按照评估后得到的优先级放入队列,如果拒绝申请,则通知请求者,并说明原因

3.对于工作安排队列中的任务,由修改负责人依次从队列中取出任务,按照软件工程方法学规划、组织、实施工程。

4.每种维护请求都要进行同样的一系列技术工作:修改软件需求说明、修改软件设计、设计评审、必要时重新编码、单元测试、集成测试(包括回归测试)、确认测试等

5.维护工作最后一步是复审

维护过程图:

进行可维护性分析的原因:

软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。一个中等规模的软件,如果其开发过程需要一二年时间,则它投入使用以后,其运行时间可能持续5~10年之久。在这个维护阶段中,人们需要着手解决开发阶段尚未解决的问题,同时,还解决维护工作本身所产生的问题。做好软件的维护工作不仅能够排除软件中存在的错误,使它能够正常工作,而且还可以使它扩充功能,提高性能,为用户带来新的效益。软件的可维护性是指维护人员为纠正软件系统出现的错误或缺陷,以及为满足新的要求而理解、修改和完善软件系统的难易程度。可维护性是所有软件系统都应具备的特点。在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。维护阶段的花费约占整个软件生命期花费的67%。因此,应充分认识到维护现有软件的重要意义。

3.7在重构和正向工程之间存在的细微不同是什么?

当某应用的基本体系结构是坚固的时候发生重构,即使技术的内部细节需要修改。当软件的大部分是有用的,仅仅部分模块和数据需要扩展性修改时,启动重构活动。正向工程是通过到实现语言的映射而把模型转换为代码的过程。正向工程过程应用软件工程的原理、概念、技术和方法来重新开发某个现有的应用系统。

软件工程作业及参考答案(版)

软件危机与软件工程 3. 软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分, 其期望达到的最终目标是 ()。 A ?消除软件危机 B ?软件开发工程化 C ?程序设计自动化 D ?实现软件重用 4?软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。 A .工程管理 B .成本核算 C .人员培训 D .工具开发 5?软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。 A ?设计人员和用户 B ?分析人员和用户 C .分析人员和设计人员 D .编码人员和用户 6 .软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的 逻辑模型形成 于( )。 A .开发阶段 B .计划阶段 C .分析阶段 D .设计阶段 7 .在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。 通常,计划时期包括问题定义、可行性研究和 ①,开发时期包括 ②、详细设计、编码以及 ③。 ① A . 需求分析 B . 可行性研究 C . 经费预算 D . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

2015软件工程期末复习题(答案).doc

北方工业大学 《软件工程》课程期末复习题(答案) A 卷 2014年春季学期 开课学院:信息工程学院 考试方式:闭卷 考试时间:120 分钟 班级 姓名 学号 一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。 答: ● 是指导计算机软件开发和维护的一门工程学科; ● 采用工程的概念、原理、技术和方法来开发和维护软件; ● 把证明正确的管理技术和最好技术综合运用到软件开发中; ● 研究经济地开发出高质量的软件方法和技术; ● 研究有效维护软件的方法和技术。 (2) 简述软件危机的原因。 答: ● 缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。 ● 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误 。 ● 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 ● 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作, 不仅涉及技术问题,更重要的是必须有科学严格的管理。 ● 缺少有效的软件评测手段,提交用户的软件质量不能完全保证。 订 线 装

(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。 (4) 画出软件生存周期的增量模型的示意图,并简述其优点。 优点: ●可强迫开发人员采用规范化的方法。 ●严格地规定了每个阶段必须提交的文档。 ●要求每个阶段交出的所有产品都必须是经过验证 的。 缺点 ●由于瀑布模型几乎完全依赖于书面的规格说明,很 可能导致最终开发出的软件产品不能真正满足用户 的需要。如果需求规格说明与用户需求之间有差异, 就会发生这种情况。 ●瀑布模型只适用于项目开始时需求已确定的情况。 1-2 瀑布模型示意图 ●能在较短时间内向用户提交可完成一些有用的工作产 品,即从第1个构件交付之日起,用户就能做一些有用 的工作。 ●逐步增加产品的功能可以使用户有较充裕的时间学习和 适应新产品,从而减少一个全新的软件可能给用户组织 带来的冲击。 ●项目失败的风险较低,虽然在某些增量构件中可能遇到 一些问题,但其他增量构件将能够成功地交付给客户。 ●优先级最高的服务首先交付,然后再将其他增量构件逐 次集成进来。因此,最重要的系统服务将接受最多的测 试。

河南工业大学15-16-1计算机网络试卷A卷

2015 至 2016 学年 第 1 学期 《计算机网络》 试卷 A 卷 适应年级专业: 2013级计算机科学与技术、2013级软件工程、2013 级空间信息与数字技术 考核方式: 闭卷 班 级: 学 号: 姓 名: 复查总分: 成绩比例:本试卷考试分数占总评成绩的 70 % 一、选择题(共 20 题,每题 1 分,共 20 分,请把答案写入答题框中) 1. 人们将网络层次结构模型和各层协议定义为网络的 。 A )拓扑结构 B )协议集 C )体系结构 D )开放 系统互联模型 2. TCP/IP 参考模型的网络层提供的是 。 A )无连接不可靠的数据报服务 B )无连接可靠的数据报服务 C )有连接不可靠的虚电路服务 D )有连接可靠的虚电路服务 3. 网络协议的核心要素是指 。 A )数据格式、编码、信号表示 B )数据、控制、速率 C )语义、语法、同步 D )地址、端口、复用。 4. IEEE802.3标准的以太网的物理地址长度为 。 A )8bit B )32bit C )48bit D )64bit 5. 以下关于网桥不正确的是 。 A )网桥在数据链路层实现互连 B )网桥根据MA C 地址转发数据帧 C )网桥能够识别一个完整的帧 D )网桥能够实现局域网和广域网的互连 6. IP 服务的3个主要特点是 。 A )不可靠、面向无连接和尽最大努力投递 B )可靠、面向连接和尽 最大努力投递 D )可靠、面向无连接和 的说法不正确的是 。 IPv4地址耗尽的问题 B )IPv6解决IPv4无法 支持无线传输的问题 C )IPv6提供了安全增强功能 D )IPv6地址使用冒号十六进制记法 8. 主机甲向主机乙发送一个(FIN =1,seq =11220)的TCP 报文段,期望与主机乙释放TCP 连接,主机乙收到连接释放报文段后发出确认。则主机乙回复 的正确的TCP 连接释放应答报文段可能是 。 A )(FIN =0,ACK =1,seq =11221,ack =11221) B )(FIN =1,ACK =0,seq =11220,ack =11221) C )(FIN =1,ACK =1,seq =11221,ack =11220) D )(FIN =0,ACK =0,seq =11220,ack =11220) 9. 主机甲与主机乙间建立了一个TCP 连接,主机甲向主机乙发送了两个连续的TCP 段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收两个段后,发送给主机甲TCP 段中的确认序列号是 。 A )500 B )700 C )800 D )1000

软件工程复习题及答案

一、画出实际的瀑布模型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 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

2019 北京邮电大学 807《软件工程专业综合》 考试大纲

2019年北京邮电大学807《软件工程专业综合》考试大纲 第一部分数据结构(90/150) 一、考试要求 要求考生比较系统地理解数据结构的基本概念和基本理论,掌握各种数据结构的特点和基本方法,着重考察考生综合运用所学知识分析问题和解决问题的能力。要求考生能够用C/C++语言描述数据结构中的算法。 二、考试内容 (一)绪论 数据结构的基本概念,数据的逻辑结构、存储结构; 算法的定义和应具有的特性,算法设计的要求,算法的时间复杂度分析和算法的空间复杂度分析。 (二)线性表 线性结构的特点、线性表的定义,线性表的基本操作; 线性表的顺序存储结构,对其进行检索、插入和删除等操作; 线性表的链式存储结构,单链表、双向链表和循环链表这三种链表形式的存储结构和特点以及基本操作。 (三)栈和队列,递归算法 栈的定义、结构特点及其存储方式(顺序存储与链接存储)和基本操作的实现算法; 队列的结构、特点及其存储方式(顺序存储与链接存储)和基本操作的实现算法。 递归的基本概念和实现原理以及用递归的思想描述问题和书写算法的方法; 用栈实现递归问题的非递归解法。 (四)数组和串 串的基本概念、串的存储结构和相关的操作算法; 数组的存储结构,在顺序存储的情况下,数组元素与存储单元的对应关系;

稀疏矩阵的存储结构和特点以及基本操作。 字符串匹配算法(例如KMP算法)。 (五)树和森林 树的结构和主要概念,各种二叉树的结构及其特点; 二叉树的三种遍历方法的实现原理和性质,能将二叉树的遍历方法应用于求解二叉树的叶子结点个数、二叉树计数等问题,遍历的非递归实现方法; 线索化二叉树的结构和基本操作; 森林的定义和存储结构,森林的遍历等方法的实现; 基于霍夫曼树生成霍夫曼编码的方法; AVL树的定义和特点以及AVL树调整操作的实现原理; 最优二叉树的构造原理和相关算法。 (六)图 图的各种基本概念和各种存储方式; 图的两种搜索方法和图连的连通性; 两种最小生成树的生成方法; 各种求最短路径的方法; 用顶点表示活动和用边表示活动的两种网络结构特点和相关操作的实现算法。 (七)排序 插入排序法(含折半插入排序法)、选择排序法、泡排序法、快速排序法、堆积排序法、归并排序、基数排序等排序方法排序的原理、规律和特点; 各种排序算法的时空复杂度的简单分析。 (八)索引结构与散列 线性索引结构、倒排表、静态搜索树的结构和特点; B树的结构;

河南院校往年各校各专业分数线

河南大学2011年河南省各批次录取最低分

2010年河南城建本科各专业录取统计专业(文)最高分最低分平均分 法学524 489 499 英语524 489 497 工程管理520 496 502 市场营销538 489 498 旅游管理523 489 500 劳动与社会保障523 489 499 房地产经营与管理524 489 498 财务管理523 489 499 预科班 467 426 449 (文) 专业(理)最高分最低分平均分 生物工程541 500 511 工程管理520 500 505 工程造价532 502 510 市场营销535 501 512 旅游管理525 500 510 无机非金属材料工程543 500 513 自动化542 500 512 土地资源管理543 501 512 信息管理与信息系统543 500 507 高分子材料与工程543 502 513 数字媒体技术524 500 504 园林540 501 511 预科班(理484 421 445 专业(理)最高分最低分平均分 数学与应用数学547 500 519 生物技术542 501 517 地理信息系统535 503 524 环境科学535 500 513 勘查技术与工程541 500 514 热能与动力工程543 500 515 电气工程及其自动化551 500 508 房地产经营与管理534 500 511 财务管理543 500 512

计算机科学与技术550 500 513 建筑学546 506 514 城市规划543 500 513 土木工程556 513 519 建筑环境与设备工程544 500 514 给水排水工程543 500 513 测绘工程540 500 512 环境工程538 500 515 安全工程540 501 516 化学工程与工艺549 500 511 交通工程550 500 516 电子信息工程542 500 513 道路桥梁与渡河工程541 500 511 专科一批 各专业录 取统计 专业(理)最高分最低分平均分计划数录取数建筑工程 496 467 480 60 60 技术 城市燃气 489 445 457 60 60 工程技术 煤炭深加 498 445 453 60 60 工与利用 道路桥梁 497 460 475 60 60 工程技术 专科二批 各专业录 取统计 专业(理)最高分最低分平均分计划数录取数软件技术475 201 296 98 98 计算机网 438 202 287 98 41 络技术 计算机信 443 204 313 98 33 息管理 动漫设计 413 200 285 98 59 与制作

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

北京工业大学全日制硕士研究生公共课课程安排

北京工业大学全日制硕士研究生公共课课程安排 2018~2019学年第一学期 星期/节次 1—4节 5—8节 9—12节 数据分析方法与R 软件1班 2—15周 三教401 硕士研究生英语1—10班 2—17周 自然辩证法13班 2—7周 四教 812 自然辩证法14班 2—7周 三教 501 星期一 中国特色社会主义理论与实践研究7班 9—17周 三教102 数据分析方法与R 软件2班 2—15周 三教402 数学模型 2—15周 信北阶 自然辩证法7班 2—7周 三教 501 自然辩证法9班 2—7周 四教 812 自然辩证法8班 2—7周 四教 812 自然辩证法10班 2—7周 三教 501 星期二 中国特色社会主义理论与实践研究4班 9—17周 三教102 中国特色社会主义理论与实践研究5班 9-17周 三教102 硕士研究生英语21—30班 2—17周 自然辩证法3班 2—7周 四教 812 数值分析1班 2—15周 三教 501 自然辩证法4班 2—7周 三教 501 数值分析2班 2—15周 四教812 自然辩证法15班 2—7周 三教421 星期三 中国特色社会主义理论与实践研究8班 9—17周 三教102 中国特色社会主义理论与实践研究2班 9—17周 三教102 数据分析方法与R 软件3班 2—15周 四教812 应用泛函分析 2—15周 三教401 数据分析方法与R 软件4班 2—15周 三教413 自然辩证法5班 2—7周 四教 812 数据分析方法与R 软件5班 2—15周 三教412 数据分析方法与R 软件6班 2—15周 四教214 星期四 自然辩证法6班 2—7周 三教 501 数据分析方法与R 软件7班 2—15周 信北阶

软件工程试题A

《软件测试技术基础》课程试卷 A卷 2011~2012学年第一学期 考试方式:闭卷考试时间:120 分钟 班级姓名学号 一、单项选择(每一个小题2分,共20,) (1)软件缺陷、软件错误和软件失败的关系?() (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)单元测试的对象是软件设计的最小单位—模块,所以该测试的目标是…?()(a)模块的性能(b)模块的功能 (c)模块实现与设计的一致性(d)模块与模块的兼容性 (8)综合测试是把通过单元测试的各个模块组装起来进行测试,所以测试的目标是…?()(a)系统的性能(b)系统的功能 (c)各模块接口的一致性(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)TTCN测试套(b)等价分类法 (c) 测试(d)边界值法

河南工业大学封面个人简历模板

……………………….…………………………………………………………………………………姓名:杜宗飞专业:计算机科学与技术 学院:数理信息学院学历:本科……………………….…………………………………………………………………………………手机:×××E – mail:×××地址:河南工业大学

自荐信 尊敬的领导: 您好!今天我怀着对人生事业的追求,怀着激动的心情向您毛遂自荐,希望您在百忙之中给予我片刻的关注。 我是河南工业大学计算机科学与技术专业的2014届毕业生。河南工业大学大学四年的熏陶,让我形成了严谨求学的态度、稳重踏实的作风;同时激烈的竞争让我敢于不断挑战自己,形成了积极向上的人生态度和生活理想。 在河南工业大学四年里,我积极参加各种学科竞赛,并获得过多次奖项。在各占学科竞赛中我养成了求真务实、努力拼搏的精神,并在实践中,加强自己的创新能力和实际操作动手能力。 在河南工业大学就读期间,刻苦进取,兢兢业业,每个学期成绩能名列前茅。特别是在专业必修课都力求达到90分以上。在平时,自学一些关于本专业相关知识,并在实践中锻炼自己。在工作上,我担任河南工业大学计算机01班班级班长、学习委员、协会部长等职务,从中锻炼自己的社会工作能力。 我的座右铭是“我相信执着不一定能感动上苍,但坚持一定能创出奇迹”!求学的艰辛磨砺出我坚韧的品质,不断的努力造就我扎实的知识,传统的熏陶塑造我朴实的作风,青春的朝气赋予我满怀的激情。手捧菲薄求职之书,心怀自信诚挚之念,期待贵单位给我一个机会,我会倍加珍惜。 下页是我的个人履历表,期待面谈。希望贵单位能够接纳我,让我有机会成为你们大家庭当中的一员,我将尽我最大的努力为贵单位发挥应有的水平与才能。 此致 敬礼! 自荐人:××× 2014年11月12日 唯图设计因为专业,所 以精美。为您的求职锦上添花,Word 版欢迎 下载。

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

河南工业大学软件工程期末考试

2010-2011 河南工业大学期末软件工程考试 适合年级:计科09级 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.软件开发环境按解决的问题分类包含() A.程序设计环境B.工具箱环境 C.基于方法的环境D.以语言为中心的环境 2.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是() A.容错技术B.避开错误技术 C.检测技术D.排错技术 3.软件复杂性的常用度量方法包括() A.BOEHM度量法B.可扩充度量法 C.线性度量法D.代码行度量法 4.面向对象的要素包含() A.对象的唯一性B.抽象 C.继承性D.分类性 5.构造原型时,主要考虑() A.全部功能B.原型要体现的特征 C.全部细节D.全部要求 6.维护中,因修改文件的打开或关闭而引起的错误是() A.文档副作用B.数据副作用 C.编码副作用D.设计副作用 7.诊断和消除程序在使用过程中发生错误的过程称为() A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 8.在白盒技术测试用例的设计中,以下覆盖标准中发现错误能力最强的是() A.语句覆盖B.判定/条件覆盖 C.条件组合覆盖D.判定覆盖 9.软件调试技术包括() 1

A.回溯法调试B.循环覆盖调试 C.边界值分析调试D.集成测试调试 10.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为() A.确认测试B.系统测试 C.渐增式测试D.非渐增式测试 11.源代码的可维护性表现了程序设计语言的() A.心理特性B.工程特性 C.技术特性D.传统特性 12.至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。以下语言中较适用于数值计算的语言是() A.BASIC B.SQL C.LISP D.FORTRAN 13.在JSP方法中解决结构冲突的具体办法是() A.引入中间数据结构或中间文件B.删除某个输入数据结构 C.删除某个输出数据结构D.增加某个输入或输出数据结构 14.模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高 ....的正确次序是()A.偶然内聚,时间内聚,逻辑内聚 B.通信内聚,时间内聚,逻辑内聚 C.逻辑内聚,通信内聚,顺序内聚 D.功能内聚,通信内聚,时间内聚 15.以下软件生存周期的活动中,要进行软件结构设计的是() A.测试用例设计B.概要设计 C.程序设计D.详细设计 16.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是() A.结构化语言B.PAD图 C.判定表D.程序流程图 17.需求分析方法必须能够表达和理解问题的数据域和() A.数据流B.用户类型 C.功能域D.应用领域 18.以用户需求为动力,以对象作为驱动的模型是() A.瀑布模型B.基于知识的模型 C.喷泉模型D.增量模型 2

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

北工大考研复试班-北京工业大学软件工程考研复试经验分享

北工大考研复试班-北京工业大学软件工程考研复试经验分享北京工业大学(Beijing University of Technology),简称"北工大",是中国北京市人民政府直属的一所以工为主,理、工、经、管、文、法、艺术等学科门类相结合的全国重点大学,是国家"211工程"重点建设院校,入选"卓越工程师教育培养计划"、"111计划",设有研究生院和国家大学科技园。 北京工业大学创建于1960年,初设机械、电机、无线电、化工、数理5个系,历经多次整合兼并,逐渐形成了理工、经管、文法相结合的多科性体制;学校于1981年成为第一批硕士学位授予单位,1985年成为博士学位授予单位。 启道考研复式班根据历年辅导经验,编辑整理以下考研复试相关内容,希望对广大考研复试学子有所帮助,提前预祝大家复试金榜题名! 专业介绍 软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。 软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。 招生人数与考试科目

复试时间地点 3月22日 各学院(部、所)复试安排(含相关学科/专业调剂系统开通时间、信息公示栏等)各学院(部、所)复试时间如有微调,以学院(部、所)通知为准。 复试内容 复试内容包含外语、专业课与综合面试三个方面: 外语:所有复试考生均需参加外语听、说能力的测试。测试均由各学院(部、所)、学科/专业结合专业知识在复试时进行。 专业课:专业笔试科目考生可登录我校研招网查阅。专业课全面考核考生对本学科(专业)理论知识和应用技能掌握程度,利用所学理论发现、分析和解决实际问题的能力(有条件的可测试考生实验和操作技能)。 综合面试:包括专业素质与综合素质,具体包括大学阶段学习情况及成绩、对本学科发展动态的了解、在本专业领域发展的潜力,以及分析问题能力、实际经验、人文素质、举止及礼仪、心理状况等。 每名考生面试时间不少于20分钟。

河南工业大学软件工程考点

1软件危机产生原因: 用户需求描述不准确、开发人员对需求的理解差异、大型项目管理经验缺乏、开发人员素质与经验、缺乏有力的方法学与工具技术、软件本身的复杂性 2软件工程的概念 是用工程、科学和数学的原则与方法研制、维护计算机软件有关技术及管理方法。 软件工程三要素:方法、工具和过程 软件工程方法为软件开发提供了“如何做”的技术,软件工程方法分两类:传统方法和面向对象方法 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境 3 软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑 4.软件工程的基本活动: 需求、设计、实现、确认、支持 5原型模型具有较大的灵活性,适合于软件需求不明确,设计方案有一定风险的软件项目。其主要优点是能统一客户和开发人员对软件项目需求的理解,有助于需求的定义和确认。 6螺旋模型:新增加了新的成分:风险分析(需求定义,风险分析,工程实现,评审) 软件开发项目力图在以上目标的冲突中取得一定程度的平衡:成本,质量,工期 1软件项目管理任务: 制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务。 成本管理主要任务:估算软件项目的成本;质量管理:指定软件质量保证计划,对阶段性的软件产品进行评审;对最终产品进行验证和确认。软配置管理:制定配置管理计划,对程序文档和数据的各种版本进行管理,确保软件的完整性和一致性。 2面向功能的度量优点 与程序设计语言无关;功能点度量能用于软件项目的开发初期。 缺点:它涉及到的主观因素比较多,如各种权函数的取值;信息领域中的某些数据有时不容易采集;FP的值没有直观的物理意义。 3软件质量要素: 软件的运行特征:正确性可靠性有效性完整性可用性 软件承受修改的能力:可维护性灵活性可测试性 软件对新环境的适应程度:可移植性可重用性连接性 4风险分为项目风险、技术风险和商业风险。软件开发项目的进度是任务、人力、时间的组5.CMM把企业控制软件过程的能力成熟度分五级1初始级(自发过程成功靠员工努力)2可重复级(建立基本管理,参照成功的项目重复)3已定义级(所有管理、工程两方面的活动均文档化并纳入有组织的软件过程,新的项目按定义的过程开发和管理)4已管理级(软件过程可量化管理,可制定产品度量标准第三级除外)5优化级(可从实施过程的反馈中改进过程第四级除外) 1软件需求:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望 软件需求分析三个主要阶段(任务):问题分析、需求描述、需求评审(正确性、无歧义性、完全性、可验证性、一致性、可理解性、可修改性、可追踪性、必要性、可实现性、确定优先级)结构化分析的分析模型:实体关系:数据对象描述。数据流:加工规格说明。状态-迁移图:控制规格说明(中间是数据字典) 1UML图1用例图2静态图(类图、对象图、包图)3行为图(交互图、状态图、活动图)4实现图(构件图、部署图)

相关主题
文本预览
相关文档 最新文档