1. What are the three generic phases of software engineering?
什么是软件工程的三个通用阶段?
(1) Definition phase 定义阶段
(2) Development phase发展阶段
(3) Support phase支持阶段
2. Describe the phases of the prototyping model for software development. 描述原型模型的软件开发的阶段
Developer and customer meet and define the overall objectives for the software , identify requirements. 开发人员和客户会面并定义软件的总体目标,确定需求。
The quick design sign leads to the construction of a prototype. 快速设计符号导致原型的建设。
A prototype evaluated by the customer and used to refine the requirements. 原型评估客户和用于改进需求。
Iteration occurs and the prototype is tuned to satisfy the customer's needs. 迭代发生和原型是调优,以满足客户的需求。
3. Why are evolutionary models considered by many to be the best approach to software development?
为什么进化模型被许多人认为是软件开发的最佳方法?
Because time lines for the development of modern software are getting shorter and shorter, customers are becoming more diverse, and changes to requirements are becoming even more common (before delivery), we need a way to provide incremental or evolutionary delivery. The evolutionary process accommodates uncertainty better than most process models, allows the delivery of partial solutions in an orderly and planned manner, and most importantly, reflects what really happens when complex systems are built.
由于时间线的发展,现代软件变得越来越短,客户变得更加多样化,和变化的要求变得更加常见(交付之前),我们需要一种方式提供增量或进化交付。进化过程容纳不确定性,比大多数过程模型,允许交付的部分解决方案,在一个有序的和有计划的方式,最重要的是,反映了什么是真正发生时,复杂的系统。
4. What are the five phases of software requirements analysis?
什么是软件需求分析的五个阶段?
Problem recognition问题识别
Evaluation and synthesis评价和合成
Modeling建模
Specification规格
Review审查
5. Describe the facilitated application specification technique (FAST).
描述促进应用规范技术(快速)
A meeting is conducted at a neutral site在一个中立的地点开会
Rules for preparation and participation are established制定准备和参与的规则
An agenda is suggested that is formal enough to cover all important points but informal enough to encourage the free flow of ideas建议一项议程是正式的,足以涵盖所有重要的观点,但不足以鼓励自由流动的思想
A “facilitator” controls the meeting一个“促进”控制会议
A “definition mechanism” is used使用“定义机制”
6. What are three primary objectives of the analysis model?
什么是三个主要目标的分析模型?
to describe what the customer requires来描述客户的要求
to establish a basis for the creation of a software design建立软件设计创作的基础
to define a set of requirements that can be validated once the software is built定义一组一旦建立了该软件,则可以进行验证的要求
7. What are the data modeling elements represented in the entity relationship diagram (ERD)?
代表的实体关系图 (ERD) 中的数据建模元素有哪些?
Data objects - any entity producing or consuming information
数据对象-任何实体生产或消费信息
Attributes - data characteristics associated with a data object instance
属性--与一个数据对象实例相关联的数据特性
Relationships - indicate manner in which data objects are connected
关系的表示的方式中,数据连接对象
8. List the elements of the analysis model and explain the role of each element? 列出的分析模型的元素,并解释每个元素的作用?
Data dictionary - contains descriptions of all data objects produced or consumed by the software数据字典包含所有数据对象的产生或消耗的软件描述
Entity relationship diagram (ERD) - depicts data object relationships实体关系图(ERD)-描述数据对象之间的关系
Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system and the functions that transform the data flow数据流图(DFD)-提供了一个指示数据如何转化为他们移动通过系统和函数变换的数据流
State transition diagram (STD) - indicates system responses to external events
状态转换图(STD)-表示系统对外部事件的响应
9. List the four design models required for a complete specification of a design and explain how each is created.列出四个设计模型所需的完整规范设计和解释每一个构件是如何创建的。
solution:解决方案:
Data design - created by transforming the ERD and data dictionary into data structures required for software implementation.数据设计——由改变ERD和数据字典数据结构所需的软件实现。
Architecture design - derived from the system specification and the subsystem interactions defined in the DFD.建筑设计——来自中定义的系统规范和子系统交互过程。
Interface design - derived from the DFD and CFD by focusing on how the software elements (humans and systems) interact.界面设计——来自过程和CFD通过专注于软件元素(人类和系统)是如何交互的。
Component-level design - structural elements defined in the PSPEC, CSPEC, and STD are transformed into procedural descriptions of the software components
组件级设计,结构元素中定义PSPEC,CSPEC,STD被转化为程序的软件组件的描述
10. Success criteria成功标准
1) Deliver the software to the customer at the agreed time.
在约定的时间内将软件交付给客户。
2) Keep overall costs within budget.
在预算内保持整体的成本。
3) Deliver software that meets the customer’s expectations.
提供符合客户期望的软件。
4) Maintain a happy and well-functioning development team.
保持一个快乐、运作良好的发展团队。
11. Maintenance problems与维护有关的问题
1)Staff problems 人员问题
Limited understanding 理解的局限性
Management priorities 管理的优先级
Morale士气
2)Technical problems 技术问题
Artifacts and paradigms 工件和范例
Testing difficulties 测试困难
12. Types of maintenance维修类型
1) Maintenance to repair software faults维修软件故障
Changing a system to correct deficiencies in the way meets its requirements.
改变一个系统,以纠正缺陷的方式符合其要求。
2) Maintenance to adapt software to a different operating environment
维护,以适应不同的操作环境
Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation.
改变一个系统,使它在不同的环境(计算机,操作系统等)从它最初的执行。
3) Maintenance to add to or modify the system’s functionality
维护或修改系统的功能
Modifying the system to satisfy new requirements.
修改系统以满足新的需求。
13. Factors affecting maintenance effort影响维护成果的因素
Application type应用类型
System novelty系统新奇度
Turnover and maintenance staff ability人员翻新和维护人员能力
System life span 系统生命期
Dependence on a changing environment 对变化的环境的依赖
Hardware characteristics 硬件特性
Design quality 设计质量
Code quality 代码质量
Documentation quality 文档质量
Testing quality 测试质量
14. Software management distinctions软件管理的区别
1) The product is intangible.该产品是无形的
Software cannot be seen or touched. Software project managers cannot see progress by simply looking at the artifact that is being constructed.
软件不能被看见或触摸。软件项目经理不能看到进展,只是看正在构建的神器
2) Many software projects are 'one-off' projects.许多软件项目都是'一次性'项目
Large software projects are usually different in some ways from previous projects. Even managers who have lots of previous experience may find it difficult to anticipate problems. 大型软件项目通常在某些方面与以往的项目不同。即使有很多以前经历的管理者也会发现很难预测问题
3) Software processes are variable and organization specific.软件过程是可变的和组织
的
We still cannot reliably predict when a particular software process is likely to lead to development problems.
当一个特定的软件过程可能导致开发问题时,我们仍然无法可靠地预测
15. The risk management process风险管理过程
1) Risk identification风险识别
Identify project, product and business risks;确定项目,产品和商业风险
2) Risk analysis风险分析
Assess the likelihood and consequences of these risks;评估这些风险的可能性和后果
3) Risk planning风险规划
Draw up plans to avoid or minimize the effects of the risk;制定计划,以避免或减少风险的影响
4) Risk monitoring风险监测
Monitor the risks throughout the project;监控整个项目的风险
16. Group organization集团组织
1) The way that a group is organized affects the decisions that are made by that group,
the ways that information is exchanged and the interactions between the development group and external project stakeholders.
一组有组织的方式影响到该组的决策,信息交换的方式和发展集团和外部项目利益相关者之间的相互作用。
2) Small software engineering groups are usually organized informally without a rigid
structure.
小型软件工程组通常是没有严格的结构组织起来的。
3) For large projects, there may be a hierarchical structure where different groups are
responsible for different sub-projects.
对于大型项目,有可能是一个层次结构,不同的小组负责不同的子项目。
4) Agile development is always based around an informal group on the principle that
formal structure inhibits information exchange
敏捷开发是一个非正式群体的原则,正式结构抑制信息交流
1. What are the three generic phases of software engineering?
什么是软件工程的三个通用阶段?
(1) Definition phase 定义阶段
(2) Development phase发展阶段
(3) Support phase支持阶段
2. Describe the phases of the prototyping model for software development. 描述原型模型的软件开发的阶段
Developer and customer meet and define the overall objectives for the software , identify requirements. 开发人员和客户会面并定义软件的总体目标,确定需求。
The quick design sign leads to the construction of a prototype. 快速设计符号导致原型的建设。
A prototype evaluated by the customer and used to refine the requirements. 原型评估客户和用于改进需求。
Iteration occurs and the prototype is tuned to satisfy the customer's needs. 迭代发生和原型是调优,以满足客户的需求。
3. Why are evolutionary models considered by many to be the best approach to software development?
为什么进化模型被许多人认为是软件开发的最佳方法?
Because time lines for the development of modern software are getting shorter and shorter, customers are becoming more diverse, and changes to requirements are becoming even more common (before delivery), we need a way to provide incremental or evolutionary delivery. The evolutionary process accommodates uncertainty better than most process models, allows the delivery of partial solutions in an orderly and planned manner, and most importantly, reflects what really happens when complex systems are built.
由于时间线的发展,现代软件变得越来越短,客户变得更加多样化,和变化的要求变得更加常见(交付之前),我们需要一种方式提供增量或进化交付。进化过程容纳不确定性,比大多数过程模型,允许交付的部分解决方案,在一个有序的和有计划的方式,最重要的是,反映了什么是真正发生时,复杂的系统。
4. What are the five phases of software requirements analysis?
什么是软件需求分析的五个阶段?
Problem recognition问题识别
Evaluation and synthesis评价和合成
Modeling建模
Specification规格
Review审查
5. Describe the facilitated application specification technique (FAST).
描述促进应用规范技术(快速)
A meeting is conducted at a neutral site在一个中立的地点开会
Rules for preparation and participation are established制定准备和参与的规则
An agenda is suggested that is formal enough to cover all important points but informal enough to encourage the free flow of ideas建议一项议程是正式的,足以涵盖所有重要的观点,但不足以鼓励自由流动的思想
A “facilitator” controls the meeting一个“促进”控制会议
A “definition mechanism” is used使用“定义机制”
6. What are three primary objectives of the analysis model?
什么是三个主要目标的分析模型?
to describe what the customer requires来描述客户的要求
to establish a basis for the creation of a software design建立软件设计创作的基础
to define a set of requirements that can be validated once the software is built定义一组一旦建立了该软件,则可以进行验证的要求
7. What are the data modeling elements represented in the entity relationship diagram (ERD)?
代表的实体关系图 (ERD) 中的数据建模元素有哪些?
Data objects - any entity producing or consuming information
数据对象-任何实体生产或消费信息
Attributes - data characteristics associated with a data object instance
属性--与一个数据对象实例相关联的数据特性
Relationships - indicate manner in which data objects are connected
关系的表示的方式中,数据连接对象
8. List the elements of the analysis model and explain the role of each element? 列出的分析模型的元素,并解释每个元素的作用?
Data dictionary - contains descriptions of all data objects produced or consumed by the software数据字典包含所有数据对象的产生或消耗的软件描述
Entity relationship diagram (ERD) - depicts data object relationships实体关系图(ERD)-描述数据对象之间的关系
Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system and the functions that transform the data flow数据流图(DFD)-提供了一个指示数据如何转化为他们移动通过系统和函数变换的数据流
State transition diagram (STD) - indicates system responses to external events
状态转换图(STD)-表示系统对外部事件的响应
9. List the four design models required for a complete specification of a design and explain how each is created.列出四个设计模型所需的完整规范设计和解释每一个构件是如何创建的。
solution:解决方案:
Data design - created by transforming the ERD and data dictionary into data structures required for software implementation.数据设计——由改变ERD和数据字典数据结构所需的软件实现。
Architecture design - derived from the system specification and the subsystem interactions defined in the DFD.建筑设计——来自中定义的系统规范和子系统交互过程。
Interface design - derived from the DFD and CFD by focusing on how the software elements (humans and systems) interact.界面设计——来自过程和CFD通过专注于软件元素(人类和系统)是如何交互的。
Component-level design - structural elements defined in the PSPEC, CSPEC, and STD are transformed into procedural descriptions of the software components
组件级设计,结构元素中定义PSPEC,CSPEC,STD被转化为程序的软件组件的描述
10. Success criteria成功标准
1) Deliver the software to the customer at the agreed time.
在约定的时间内将软件交付给客户。
2) Keep overall costs within budget.
在预算内保持整体的成本。
3) Deliver software that meets the customer’s expectations.
提供符合客户期望的软件。
4) Maintain a happy and well-functioning development team.
保持一个快乐、运作良好的发展团队。
11. Maintenance problems与维护有关的问题
1)Staff problems 人员问题
Limited understanding 理解的局限性
Management priorities 管理的优先级
Morale士气
2)Technical problems 技术问题
Artifacts and paradigms 工件和范例
Testing difficulties 测试困难
12. Types of maintenance维修类型
1) Maintenance to repair software faults维修软件故障
Changing a system to correct deficiencies in the way meets its requirements.
改变一个系统,以纠正缺陷的方式符合其要求。
2) Maintenance to adapt software to a different operating environment
维护,以适应不同的操作环境
Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation.
改变一个系统,使它在不同的环境(计算机,操作系统等)从它最初的执行。
3) Maintenance to add to or modify the system’s functionality
维护或修改系统的功能
Modifying the system to satisfy new requirements.
修改系统以满足新的需求。
13. Factors affecting maintenance effort影响维护成果的因素
Application type应用类型
System novelty系统新奇度
Turnover and maintenance staff ability人员翻新和维护人员能力
System life span 系统生命期
Dependence on a changing environment 对变化的环境的依赖
Hardware characteristics 硬件特性
Design quality 设计质量
Code quality 代码质量
Documentation quality 文档质量
Testing quality 测试质量
14. Software management distinctions软件管理的区别
1) The product is intangible.该产品是无形的
Software cannot be seen or touched. Software project managers cannot see progress by simply looking at the artifact that is being constructed.
软件不能被看见或触摸。软件项目经理不能看到进展,只是看正在构建的神器
2) Many software projects are 'one-off' projects.许多软件项目都是'一次性'项目
Large software projects are usually different in some ways from previous projects. Even managers who have lots of previous experience may find it difficult to anticipate problems. 大型软件项目通常在某些方面与以往的项目不同。即使有很多以前经历的管理者也会发现很难预测问题
3) Software processes are variable and organization specific.软件过程是可变的和组织
的
We still cannot reliably predict when a particular software process is likely to lead to development problems.
当一个特定的软件过程可能导致开发问题时,我们仍然无法可靠地预测
15. The risk management process风险管理过程
1) Risk identification风险识别
Identify project, product and business risks;确定项目,产品和商业风险
2) Risk analysis风险分析
Assess the likelihood and consequences of these risks;评估这些风险的可能性和后果
3) Risk planning风险规划
Draw up plans to avoid or minimize the effects of the risk;制定计划,以避免或减少风险的影响
4) Risk monitoring风险监测
Monitor the risks throughout the project;监控整个项目的风险
16. Group organization集团组织
1) The way that a group is organized affects the decisions that are made by that group,
the ways that information is exchanged and the interactions between the development group and external project stakeholders.
一组有组织的方式影响到该组的决策,信息交换的方式和发展集团和外部项目利益相关者之间的相互作用。
2) Small software engineering groups are usually organized informally without a rigid
structure.
小型软件工程组通常是没有严格的结构组织起来的。
3) For large projects, there may be a hierarchical structure where different groups are
responsible for different sub-projects.
对于大型项目,有可能是一个层次结构,不同的小组负责不同的子项目。
4) Agile development is always based around an informal group on the principle that
formal structure inhibits information exchange
敏捷开发是一个非正式群体的原则,正式结构抑制信息交流