遇见的英文-凤凰涅盘是什么意思
Lecture 1 An Introduction to Software
Engineering
1 what does software engineering
concern
1) Software engineering is concerned
with theories, methods and tools for
professional software development.
2)
Software engineering is concerned with cost-
effective software development.
2
What is
software
Software includes:
① computer
programs
② data structures
③
documents
3 What is the two types of
software products
Generic software(通用软件) and
custom software(定制软件)
4 The three
key elements of a successful software project are:
on time, within budget, satisfies the user’s
needs
5 Generic activities in all software
processes are:
Specification(描述),
Development(开发), Validation(有效性验证),
Evolution(进
化)
6 The attributes of good
software include:
Maintainability(可维护性),
Dependability(可依赖性), Efficiency(有效性),
Acceptability
(可接受性)
Lecture 2
Software Processes
1 What is a software
process model
A software process model is an
abstract representation of a software process. It
presents a description of a process from some
particular perspective.
2 Draw the graphic
presentation of Waterfall model and describe its
character.
1) 这种模型把软件过程划分成几个顺序的阶段。阶段间具有依赖性
,前一个阶段结束,后一个阶段
才能开始;
2)
这种模型很难对用户变更做出调整,只适用于需求非常清楚和需求变更被严格限制的情况下。
3
Describe the basic principle of evolutionary
development and its
two types
进化式开发的基本思想是先
开发一个原型给用户使用,通过用户反馈意见来不断修改系统直到最
后成熟,所以又被称作快速原型开发
方法。它不主张将描述、开发和有效性验证等活动分开进行,而
是让这些活动迭代执行,同时让这些活动
能得到快速的反馈信息。
进化式开发有两种基本类型:探索式开发和抛弃式原型法。
4
Draw the graphic presentation of incremental
delivery and describe
its character
在这种开发方
式中,系统不是作为一个整体交付,而是被分解成若干个增量,每个增量交付系统
的部分功能。用户的需
求按优先级排队,优先级最高的需求被放入最早交付的增量中。这样,优先级
最高的系统功能就得到最多
的测试,系统的可靠性较高。
5 Describe the characters of
Spiral development.
(对照模型去理解)
1) Process
is represented as a spiral rather than as a
sequence of activities with
backtracking.
2) Each loop in the spiral represents a
phase in the process.
3) No fixed phases such
as specification or design - loops in the spiral
are chosen
depending on what is required.
4) Risks are explicitly assessed and resolved
throughout the process.
Lecture 3
Requirements Engineering
1 Draw the
graphic presentation of requirement engineering
process.
2 Describe the difference of
functional requirements, non- functional
requirements, Domain requirements.
Functional requirements describe the services
that the system should provide and
how the
system should react to particular inputs and how
the system should behave in
particular
-functional requirements describe the constraints
on the
services or functions offered by the
system such as timing constraints, constraints on
the development process, standards, etc.
Domain requirements come from the application
domain of the system and that
reflect
characteristics of that domain.
3 Describe the
difference between user
requirements and
system requirements.
1) User requirements
should describe functional and non-functional
requirements in
such a way that they are
understandable by system users who don’t have
detailed
technical knowledge.
User
requirements are defined using natural language,
tables and diagrams as these
can be understood
by all users.
2) System requirements are more
detailed specifications of system functions,
services and constraints than user
requirements.
They are intended to be a basis
for designing the system.
They may be
incorporated into the system contract.
System
requirements may be defined or illustrated using
system models.
4 Describe
the
process activities of requirements elicitation.
Requirements elicitation process is an
iterated process.
1) Requirements
discovery(需求发现)
Interacting with stakeholders
to discover their requirements. Domain
requirements
are also discovered at this
stage.
2) Requirements classification and
organization(需求的分类与组织)
Groups related
requirements and organises them into coherent
clusters.
3) Prioritisation and
negotiation(优先排序和冲突解决)
Prioritising
requirements and resolving requirements conflicts.
4) Requirements documentation(需求文档化)
Requirements are documented and input into the
next round of the spiral.
5 what are
viewpoints and what are the types of viewpoints
Viewpoints are a way of structuring the
requirements to represent the perspectives of
different stakeholders. Stakeholders may be
classified under different viewpoints.
There
are three types:
1) Interactor viewpoints
People or other systems that interact directly
with the system. In an ATM, the
customer’s and
the account database are interactor VPs.
2)
Indirect viewpoints
Stakeholders who do not
use the system themselves but who influence the
requirements. In an ATM, management and
security staff are indirect viewpoints.
3)
Domain viewpoints
Domain characteristics and
constraints that influence the requirements. In an
ATM, an
example would be standards for inter-
bank communications.
5 Write down at least
four principles of delaminated DFD.
①
顶层数据流图上的数据流必须封闭在外部实体之间。
②
数据应通过加工流动,避免从一个数据存储直接流向另一个数据存储。
③ 每个加工至少有一个输入数
据流和一个输出数据流,且输入与输出数据流要平衡。有输入,无使
用及输出为“黑洞”,无输入和产生
而有输出为“奇迹”。
④ 在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上
下层的父图与子图的
对应关系。
⑤ 规定任何一个数据流子图必须与它上一层
的一个加工对应,两者的输入数据流和输出数据流必须
一致。此即父图与子图的平衡。
⑥ 图
上每个元素都必须有名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表明
流动的数据
是什么。加工的名字应当是“动词+宾语”,表明做什么事情。
6 According to
the decision table, draw the decision tree.
7
What are the attributes of a good SRS(System
Requirements
Specification)
1)
完整性:需求描述包含了所有的用户要求,不应该遗漏要求和必需的信息;
2)
一致性:需求描述不能存在冲突;
3) 可检验性:功能与性能指标应该能够量化衡量;
4) 可理解性:需求描述方式要容易理解,没有歧义;
5)
可跟踪性:要明确标识需求与其原始材料的关系,能够回溯道源头;
6)
可变更性:需求要易于修改,有良好的组织,如目录、索引。
Lecture
4
Software Design
1 Describe the two
scale parameter of
Independency and
explain why
we need fine independency.
模块独
立性可用两个定量准则来度量:耦合(coupling)和内聚(cohesion)。耦
合性是对软
件程序结构中各个模块之间相互关联程度的一种度量。内聚性是信息隐藏和
局部化概念的自然扩展,它标
志一个模块内部各成分彼此结合的紧密程度。
模块的内
聚性越强,耦合性越弱,独立性越强。
独立性好的模块对其它的模块依赖性小,修改时对其它模块的影响小,易于修改和
扩充,因此有
良好的可维护性。
2 What is the task of architectural
design
It is to identify the sub-systems
making up a system and to build the framework
for sub-system control and communication.
3 Describe the basic character of repository
model.
Shared data is held in a central
database or repository and may be accessed by all
sub-systems
4 Describe the basic composing
of Client-server model.
Set of stand-alone
servers which provide specific services such as
printing, data management, etc.
Set of
clients which call on these services.
Network
which allows clients to access servers.
5
Describe the characters of Abstract machine
(layered) model
1) This
model organises the
system into a set of layers (or abstract machines)
each of which
provide a set of services.
2) It supports the incremental development of
sub-systems in different layers. When a
layer
interface changes, only the adjacent layer is
affected.
6 Describe two types
of
control model.
Centralised control: One sub-
system has overall responsibility for control and
starts and stops other sub-systems.
Event-
based control: Each sub-system can respond to
externally generated
events from other sub-
systems or the system’s environment.
7 Describe
three
types of software reuse.
Application
system reuse
The whole of an application
system may be reused either by incorporating it
without change into other systems (COTS reuse)
or by developing application
families.
Component reuse
Components of an
application from sub-systems to single objects may
be
reused.
Object and function reuse
Software components that implement a single
well-defined object or
function may be
reused.
8 What is framework
框架是一种高于对象层次的大粒度抽象的复用成分
Framework is a sub-
system design made up of a collection of abstract
and concrete
classes and the interfaces
between them
9 Draw and describe the graphic
presentation of MVC framework .
这个框架有三个基本组件:控制器、模型和视图
1)控制器:代表应用程序的逻辑部分,它定
义了一个用户如何和程序进行交互并且定义
了用户行为是如何映射到模型;
2)模型:负责对数据模型和所有用来确定应用程序状态的信息进行管理;
3)视图:从不同的角度对存储在模型中的数据进行展示。
10 Draw
the graphic presentation of user interface design
process.
11 The principles of user interface
design are:
用户熟悉、一致性、意外最小化。
12 Error
messages should be polite, concise, consistent and
constructive.
13 Exercise
Lecture 5
Object-oriented Analysis and Design
1 Compared
with
traditional structural developing
methods,what are advantages of
object-oriented
methods
符合人类自然思维方式,易于理解、描述和实现。
对需求变化有较好的适应性:封装机制和消息传递机制将需求变化影响限制在对象内部。
支持
软件复用:封装性有助于实现复用;继承、实例化实现了对象复用;类库提供了大
量公共代码。
可维护性好:封装性和消息传递造成低耦合,错误定位和修改容易;继承与多态使得功
能的扩展更加容
易。
开发过程衔接紧密:在软件生命周期各阶段可以使用同样的模型描述。
2 Describe the ultimately purpose of
UML
UML是一种标准的图形化建模语言,为不同领域的人们提供一种统一的交流标准,这种
标准使得系统构造者能够用标准的、易于理解的方式建立能表达出他们想象力的系统蓝
图,并使客户、
分析员、设计人员、程序员和系统其它涉及者能够相互理解和达成一致,
从而能够有效地共享和交流设计
结果。
3 Exercise(要求熟悉UML各种模型)
Lecture 6
Software Implementation and Validation
1 Each
program component involves at least three major
aspects:
control structures, algorithms, and
data structures.2 Describe the
difference
between verification and validation.
?
Verification:
?
The software should
conform to its specification.
? Validation:
?
The software should do what the user
really requires
3 The two
methods in V & V
process are :
Software inspection is concerned
with analysis of the static system representation
to
discover problems (static
verification)Software testing is concerned with
exercising
and observing product behaviour.
The system is executed with test data and its
operational behaviour is observed. (dynamic
verification)
4 Draw the graphic
presentation of software testing process.
5 The two phases of system testing are
integration testing and
release testing
6
In integration testing , to simplify error
localisation, systems should
be增量集成.7 Describe
the base composing of test case and the base
principle of equivalence partition testing.
测试用例的基本构成可以包括:设计的输入、期望的输出、测试环境和测试对象的
描述。 等价划分测试是测试用例设计的一种方法。设计测试用例时,可以按特征把数据输
入域化分成若干等
价类,等价类中的每个数据应该以同样的方式得到处理,因此对于揭
露程序中的错误是等效的。这样,就
可以选取少量有代表性的输入数据作为测试数据,
以期用较小的代价暴露较多的程序错误。
8
Describe the difference between black-
box testing and white-box
testing.
黑盒测试又叫做
功能测试,测试者只关心系统的功能而不关心软件的实现。也就是
说测试者不必了解有关系统的任何细节
,只把系统看成是一个能够处理输入,产生输出
的“黑盒子”,仅从功能的角度设计测试用例。
白盒测试又叫做结构测试,是一种根据软件的结构知识导出测试用例的设计方法。
测试者把被测试组件
看成是一个打开的“白盒子”,组件的内部结构对测试者是透明的,
通过对所用算法结构的分析设计测试
用例。
9 Describe the basic principle
of basis path testing and calculate the
number
of basis paths in the figure.
在程序控制流图的基础上,分析控制
结构的环路复杂度,并用这个复杂度为指南定义
执行路径的基本集合,从而导出基本可执行路径集合,设
计出测试用例并保证每个可执
行语句至少执行一次,而且每个条件在执行时都将分别取真、假两种值。
1) 计算环路复杂度V(G)
V(G)=简单判定的数目+1 或
封闭区域的数目
+1=4
2)
导出独立路径的数目由于V(G)=4,所以共有4
条路径
Lecture
7
Software Project Management
1 Describe
the process of project planning
Establish the
project constraints
Make initial assessments
of the project parameters
Define project
milestones and deliverables
while project has
not been completed or cancelled loop
Draw up
project schedule
Initiate activities
according to schedule
Wait ( for a while )
Review project progress
Revise estimates of project parameters
Update the project schedule
Re-negotiate
project constraints and deliverables
if (
problems arise ) then
Initiate technical
review and possible revision
end if
end
loop
2 Draw the graphic presentation of
project scheduling process
3 According to the
table of task durations and dependencies, draw
the activity network and find the critical
path.
4 Describe the change management
process
Request change by completing a change
request form
Analyze change request
If
change is valid then
Assess how change might
be implemented
Assess change cost
Submit
request to change control board
If change is
accepted then
Repeat
make changes to
software
submit changed software for quality
approval
until software quality is adequate
create new system version
else
reject
change request
else
reject change request
Lecture 8
Software Evolution
1 What
is software evolution
软件维护是指在软件交付之后,为了改正错误或满足新的需要而修改软件的过程。
2
Describe the three types of software evolution.
软件维护包括:
1) 改正性维护:修改检验工作没有发现的错误;
2)
适应性维护:使软件适应不同的操作环境的变化;
3)
完善性维护:增加或修改系统功能以满足客户新的需要。
七点十五分用英语怎么说-心思的近义词
斗胆是什么意思-筚篥
杜撰的意思-health形容词
沉思翰藻-弱小的拼音
科摩多龙-朝朝暮暮的意思
怦怎么读-zero是什么意思
曾格林沁-呤的拼音
委实-宋史道学传
-
上一篇:英语的系统学习方法之终极版
下一篇:3.7版教师继续教育挂机软件操作教程