天津理工大学-软件工程期末考试考点教学提纲

发布时间:2020-07-14 10:15:11   来源:文档文库   
字号:

天津理工大学-软件工程期末考试考点



大学啊不错啊,好好学习,不要耽误了青春,但是是这个专业坑爹啊,,找好自己的方向不要被这个专业误导了啊,,

理工的学妹,学弟们,你说呢,,哈哈哈哈,嘿嘿联系http://fruitonline.sinaapp.com/

填空10个, 选择10个,名词解释5个,简答题2个,画图题2

第一章

一、 FAQs about software engineering软件工程中常见的问题

1、 software Computer programs and associated documentation

软件是计算机程序和所有使程序正确运行所需要的相关文档和配置信息

Software products软件产品分为:Generic通用、Bespoke (custom)定制

2Software engineering is an engineering discipline that is concerned with all aspects of software production.软件工程是一门工程学科,涉及软件生产的各个方面

Software engineers should adopt a systematic and organised approach 软件工程人员运用的是系统的、有组织的工作方法。

3difference between software engineering and computer science:系统工程和计算机科学的区别Software engineering is an engineering discipline that is concerned with all aspects of software production.计算机科学侧重于理论和基础,而软件工程侧重于软件开发和交付的实际活动。

4 the difference between software engineering and system engineering

软件工程和系统工程的区别:System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process系统工程侧重基于计算机系统开发的所有方面,包括硬件、软件和处理工程。软件工程只是它的一部分。

5、 software process A set of activities whose goal is the development or evolution of software. 软件工程是以软件开发和进化为目的的一系列活动

Generic activities in all software processes:件过程的基本活动

a) Specification 软件描述

b) Development 软件开发

c) Validation软件有效性验证

d) Evolution 软件进化

6software process model:软件过程模型

A simplified representation of a software process, presented from a specific perspective.

从特定角度提出的软件过程的简化表示形式

Examples of process perspectives are

Workflow perspective 工作流模型

Data-flow perspective 数据流或活动模型

Role/action perspective角色/动作模型

Generic process models 通用过程模型

Waterfall瀑布型开发方法

Iterative development迭代式开发方法

Component-based software engineeringCBSE)基于组件的软件工程

7the costs of software engineering软件工程的成本

Roughly 60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs. 软件开发成本约占60%,测试成本占40%。对于定制软件而言,进化成本常常高于开发成本。

8software engineering methods软件工程方法:

Structured approaches to software development which include system models, notations, rules, design advice and process guidance.软件开发的结构化研究方法,包括:系统模型、标记法、规划、设计忠告和过程指南

9CASE (Computer-Aided Software Engineering)计算机辅助软件工程are intended to provide automated support for software process activities. CASE systems are often used for method support. 旨在使软件过程活动自动化的软件系统。CASE常用作方法支持

10the attributes of good software优良软件的特点The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable.软件应具有用户所需的功能与性能,而且应该可维护、可靠、可用

11key challenges facing software engineering软件工程面临的主要挑战:

Legacy遗留 Heterogeneity多样性挑战 delivery交付上的挑战 trust信任的挑战

第二章

一、system engineering process系统工程过程(填空)

二、 System modelling系统建模

在系统需求和设计活动中,系统被建模成一系列组件和组件间的关系。通常是以图的形式描述在系统结构模中,以便给读者一个系统组织的总体概念。

Usually presented as a block diagram以方块图来描述,展现一些主要的子系统以及子系统之间的关联。

三、System evolution系统进化

Large systems have a long lifetime. They must evolve to meet changing requirements.大型和复杂的系统都会有一个非常长的生存期。在整个生存期内,必须改进原有的系统需求中的错误进而满足出现的新需求。

四、 system procurement process系统采购过程:(考填空)以最佳方式获得系统做出决策并决定系统的最佳供应商。

第四章

一、软件工程模型software process modelis an abstract representation of a process. It presents a description of a process from some particular perspective.

二、(1waterfall model瀑布模型Separate and distinct phases of specification and development. One phase has to be complete before moving onto the next phase.直到上一阶段完成,下一阶段才能启动

劣势:The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements

2Evolutionary development进化式开发Specification, development and validation are interleaved.

优势:描述可以不断补充完善

劣势:

a) Lack of process visibility;过程不可见

b) Systems are often poorly structured;系统结构通常较差

Applicability适用于:

a) For small or medium-size interactive systems;

b) For parts of large systems (e.g. the user interface);

c) For short-lifetime systems.

进化式开发的两种基本类型:Exploratory development 探索式开发、Throw-away prototyping抛弃式原型

3Component-based software engineering基于组件的软件工程(Reuse-oriented development

面向复用的软件开发方法)其过程模型如下图:

Spiral development螺旋式开发

1Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process.它不是将软件过程用一系列活动和活动间的回溯来表示,而是将过程用螺旋线表示。每个回路表示软件过程的一个阶段。

No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.

Risks are explicitly assessed and resolved throughout the process.

2四部分:Objective setting目标设置、Risk assessment and reduction风险评估和规避、Development and validation开发和有效性验证、Planning规划.

四、Software validation软件有效性验证is intended to show that a system conforms to its specification and meets the requirements of the system customer.是要看系统是否符合它的描述以及系统是否符合客观的预测目标。

Involves checking and review processes and system testing.

System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system

6、 测试过程的阶段Component or unit testing组件测试System testing系统、Acceptance testing接收测试

五、Activities in CASE (Computer-aided software engineering)

Graphical editors for system model development;

Data dictionary to manage design entities;

Graphical UI builder for user interface construction;

Debuggers to support program fault finding;

Automated translators to generate new versions of a program.

六、CASE classification分类:Functional perspective从功能角度看; Process perspective从过程角度看;Integration perspective从集成角度看

Fuggetta提出的分类Tools,工具, workbenches工作平台, environments环境

第五章

一、 Management activities管理活动(6

Proposal writing.提出书面建议

Project planning and scheduling.项目规划和调度

Project costing.项目成本

Project monitoring and reviews.项目监督和审评

Personnel selection and evaluation.人员选择和评价

Report writing and presentations.写作并称述工作报告

二、 Types of planning计划的类型

Quality plan质量计划、validation plan有效性验证计划、configuration management plan配置管理计划、maintenance plan维护计划、staff development人员开发计划

三、 Milestones in the requirements process需求过程里程碑:Milestones are the end-point of a process activity.

四、 Project scheduling process项目调度

五、 three main project managementProject risks 项目风险Product risks产品风险Business risks 业务风险

六、 types of risk in project managementTechnology risks.技术风险、People risks人员风险、Organisational risks机构风险、Requirements risks需求、Estimation risks估算.

七、 Risk factors in risk monitoring p685-7

第六章

一、functional requirements and examples 功能需求和例子

l Functional requirements

Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.

2 例子:图书馆系统p73

二、Non-functional requirements and examples非功能需求:constraints on the services or functions offered by the system such

例子:图书馆系统实例:

1Product requirement产品需求:The user interface for LIBSYS shall be implemented as simple HTML without frames or Java applets.

2Organisational requirement机构需求;The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95.

3 External requirement外部需求:The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system.

三、types of Non-functional requirement

四、metrics in Non-functional requirement Requirements measures非功能需求度量p76

度量方法

速度

每秒处理的事务

用户/事件响应时间

屏幕刷新时间

规模

K字节

RAM芯片数

易用性

培训时间

帮助画面数

可靠性

失败平均时间

无效的概率

失败发生率

有效性

鲁棒性

失败之后的重启次数

事件引起失败的百分比

失败中数据崩溃的可能性

可移植性

依赖于目标的语句百分比

目标系统数

五、The requirements document需求文档: is the official statement of what is required of the system developers. Should include both a definition of user requirements and a specification of the system requirements.

第七章

一、The requirements engineering process需求工程过程

the main content of feasibility studies可行性研究主要内容:

A feasibility study decides whether or not the proposed system is worthwhile.

A short focused study that checks

If the system contributes to organisational objectives;

If the system can be engineered using current technology and within budget;

If the system can be integrated with other systems that are used.

三、Process activities in requirements Elicitation and analysis需求导出和分析的过程活动

Requirements discovery

Requirements classification and organisation

Prioritisation and negotiation

Requirements documentation

四、Requirements validation techniques需求有效性验证的技术(考填空)Requirements reviews需求评审 Prototyping原型建立、Test-case generation测试用例生成

五、Requirements Change management需求变更管理

第八章

一、principle system models

二、example of system models系统模型实例:Data processing model .数据流模型、Composition model 组成模型、Architectural model 体系结构模Classification model 分类模型、Stimulus/response model 激励-响应模型

三、definition of data-flow model数据流模型的定义show how data is processed as it moves through the system;用来描述系统中的数据处理过程。

第十一章

一、content of Architectural models体系结构模型的内容

Static structural model静态结构模型、Dynamic process model 动态结构模型、Interface model 接口模型、Relationships model 关系模型、Distribution model 分布模型

二、Major component of Client-server model客户机/服务器模型的主要组成部分:

1Set of stand-alone servers which provide specific services 一组给其他子系统提供服务的单机服务器;

2Set of clients which call on these services.一组向服务器请求服务的客户机;

3Network which allows clients to access servers.一个连接客户机和服务器的网站

第十七章

一、 describe incremental development and prototyping by figure用图形描述增量式开发和原型构造p242 17-2

二、 tools included in a rapid application development快速应用开发的工具:数据库编程语言、界面生成器、与办公应用的连接、报告生成器

第二十三章

一、 model if the software testing process软件测试过程的模型【p33123-2】(考填空)

二、structural testing结构化测试:是根据软件的结构知识和实现知识导出测试的测试用例设计方法,又称“白盒测试”。【p34223-11

课件重点知识点

一、软件需求分析

1需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的做什么的问题。

2、结构化分析方法(填空)

面向数据流进行需求分析的方法

结构化分析方法适合于数据处理类型软件的需求分析

具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止

3数据流图(考画图)

数据流图中的主要图形元素: 数据加工(数据交换) 数据源点或终点(外部实体) 数据流 数据存储文件

描述银行取款过程的数据流图:

4结构花英语(大题):是一种介于自然语言和形式化语言之间的语言,语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示

其基本控制结构有三种:

简单陈述句结构:避免复合语句;

重复结构:while_do repeat_until 结构。

判定结构:if_then_else case_of 结构;

例子:商店业务处理系统中检查发货单

if 发货单金额超过$500 then

if 欠款超过了60 then

在偿还欠款前不予批准

else (欠款未超期)

发批准书,发货单

else (发货单金额未超过$500

if 欠款超过60 then

发批准书,发货单及赊欠报告

else (欠款未超期)

发批准书,发货单

5判定表(大题)如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适。 例子:以检查发货单为例

二、软件设计方法

1、 软件设计的目标和方法

根据用信息域表示的软件需求,以及功能和性能需求,进行数据设计、系统结构设计、过程设计。

软件设计任务:从工程管理角度来看,软件设计分两步完成

概要设计,将软件需求转化为数据结构和软件的系统结构。

详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法

2、 软件设计过程

制定规范

软件系统结构的总体设计

处理方式设计

数据结构设计

可靠性设计

编写概要设计阶段的文档

概要设计评审

3、 信息隐藏是指每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。

4、 模块独立性是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的

例如, 若一个模块只具有单一的功能且与其它模块没有太多的联系, 则称此模块具有模块独立性

一般采用两个准则度量模块独立性。即模块间耦合和模块内聚

耦合是模块之间的互相连接的紧密程度的度量。

内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。

模块独立性比较强的模块应是高内聚低耦合的模块。

5、 变换型系统结构:变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。相应于取得数据、变换数据、给出数据,变换型系统结构图由输入、中心变换和输出等三部分组成。

6、 事务性系统结构:它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。各事务处理模块并列。每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模块。

7、 变换分析方法由以下四步组成:

重画数据流图;

区分有效(逻辑)输入、有效(逻辑)出和中心变换部分;

进行一级分解,设计上层模块;

进行二级分解,设计输入、输出和中心变换部分的中、下层模块。

8、 文件设计(只考类型,不考具体解释)

文件设计过程主要分为两个阶段。第一个阶段是文件的逻辑设计,主要在概要设计阶段实施。一般要根据文件的特性,来确定文件的组织方式。

顺序文件:连续文件、串联文件。

直接存取文件无关键字直接存取文件、带关键字直接存取文件、桶式直接存取文件

索引顺序文件其基本数据记录按顺序文件组织,记录排列顺序必须按关键字值升序或降序安排,且具有索引部分,也按同一关键字进行索引。 分区文件这类文件主要用于存放程序。它由若干称为成员的顺序组织的记录组和索引组成。

9、 (大题)程序流程图使用五种基本控制结构是:

程序流程图的标准符号

10N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。

实例

11问题分析图(PAD)种基本控制结构的图式,并允许递归使用

PAD描述的示例

三、 程序编码

1、 结构化程序设计

结构化程序设计主要包括两方面:

在编写程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。

在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。

2、程序设计风格程序实际上也是一种供人阅读的文章,有一个文章的风格问题。应该使程序具有良好的风格。

源程序文档化、 数据说明、 语句结构、 输入/输出方法

3、程序复杂性度量

程序复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少,开发周期的长短和软件内部潜伏错误的多少。

减少程序复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜藏错误减少。

四、 软件测试

1、 软件测试目

基于不同的立场,存在着两种完全不同的测试目的:

用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。

软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。

测试的目的是

想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。

测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。

实施测试收集到的测试结果数据为可靠性分析提供了依据。

测试不能表明软件中不存在错误,它只能说明软件中存在错误

2、 测试与软件工程各阶段的关系

n 软件开发过程是一个自顶向下,逐步细化的过程

n 软件计划阶段定义软件作用域

n 软件需求分析建立软件信息域、功能和性能需求、约束等

n 软件设计

n 把设计用某种程序设计语言转换成程序代码

3、 黑盒测试(考概念)

这种方法是把测试对象看作个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

黑盒测试又叫做功能测试或数据驱动测试。

n 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:

u 是否有不正确或遗漏了的功能?

u 在接口上,输入能否正确地接受? 能否输出正确的结果?

u 是否有数据结构错误或外部信息(例如数据文件)访问错误?

u 性能上是否能够满足要求?

u 是否有初始化或终止性错误? 

n 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。

4、 白盒测试(写测试路径,简答题)此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:

u 对程序模块的所有独立的执行路径至少测试一次;

u 对所有的逻辑判定,取与取的两种情况都至少测试一次;

u 在循环的边界和运行界限内执行循环体;

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

5、 逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属白盒测试。语句覆盖、 判定覆盖、条件覆盖判定-条件覆盖、 条件组合覆盖、 路径覆盖。

L1 ( a c e )

= {(A>1) and (B=0)} and

{(A=2) or (X/A>1)}

= (A>1) and (B=0) and (A=2) or

(A>1) and (B=0) and (X/A>1)

= (A=2) and (B=0) or

(A>1) and (B=0) and (X/A>1)

L2 ( a b d )

= not{(A>1) and (B=0)} and

not{(A=2) or (X>1)}

= { not (A>1) or not (B=0) } and

{ not (A=2) and not (X>1) }

= not (A>1) and not (A=2) and not (X>1)

or

not (B=0) and not (A=2) and not (X>1)

L3 ( a b e)

= not {(A>1) and (B=0)} and

{(A=2) or (X>1)}

= { not (A>1) or not (B=0)} and

{(A=2) or (X>1)}

= not (A>1) and (A=2) or

not (A>1) and (X>1) or

not (B=0) and (A=2) or

not (B=0) and (X>1)

L4 ( a c d )

= {(A>1) and (B=0)} and

not {(A=2) or (X/A>1)}

= (A>1) and (B=0) and not (A=2) and

not (X/A>1)

6、 软件测试策略

测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试

开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能

组装测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。

本文来源:https://www.2haoxitong.net/k/doc/1da0bd825cf7ba0d4a7302768e9951e79b8969f1.html

《天津理工大学-软件工程期末考试考点教学提纲.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式