Chapter 1 & 2 content review
True or false: The notion of evolution states that software systems continue to remain the same and old software systems are rebuilt from the new ones.
False.
True or False? Software is defined as a collection of physical elements that constitute a computer system.
False. Software is defined as a collection of logical elements and data structures that enable programs to adequately manipulate information.
Identify the attributes of the increasingly sophisticated and complex computer systems that have enabled significant changes in the role of computer software over the last half century. a. Dramatic improvements in software performance b. Increase in memory and storage capacity c. Availability of a few common input and output options d. Change in computing architectures
Increase in memory and storage capacity Change in computing architectures
Task sets are software engineering actions that define framework activities. What does a task set identify? Work tasks that are to be completed A generic standard to improve the overall quality of products Milestones where progress will be indicated Quality assurance points that will be required Work products that will be produced
Milestones where progress will be indicated Quality assurance points that will be required Work products that will be produced
_____ models strives for structure and order in software development.
Prescriptive
_____ models strives for structure and order in software development. Multiple choice question.
Prescriptive
True or False: A software team would need significantly more information than the definitions of the five framework activities before it could properly execute any one of them as part of a software process.
True
True or False: Software engineering methods provide the technical how-to's for building software
True
Identify the principles proposed by David Hooker in software engineering practice. a. Keep it simple, stupid b. Plan ahead for reuse c. Maintain the vision d. Focus on frequent delivery of products
a, b, and c are correct
Identify the umbrella activities that are applied to a software project. a. Measurement b. Risk management c. Modeling d. Reusability management
a, b, and d are correct
Identify the problems that are common to sophisticated and complex computer-based systems developed by teams of software specialists and to systems developed by lone programmers. a. Difficulty in measuring the progress of a system b. More time and effort spent on maintaining new programs c. High development cost of a system d. Difficulty in detecting errors in a built system
a, c, d
Identify the problems that are common to sophisticated and complex computer-based systems developed by teams of software specialists and to systems developed by lone programmers. a. Difficulty in measuring the progress of a system b. High development cost of a system c. More time and effort spent on maintaining new programs d. Difficulty in detecting errors in a built system
a. Difficulty in measuring the progress of a system b. High development cost d. Difficulty in detecting errors built in a system. additionally: More time and effort is spent of maintaining EXISTING programs (not new ones)
Consider the software engineering action of requirements gathering. Identify the tasks for this action. a. Discuss requirements and build a final list. b. Make a list of stakeholders for the project. c. Create a sketch using the specifications d. Combine code generation and the testing that is required. e. Invite all stakeholders to an informal meeting.
a. Discuss requirements and build a final list. b. Make a list of stakeholders for the project. e. Invite all stakeholders to an informal meeting.
Identify the functions of software as a product. a. It delivers the computing potential embodied by a network of computers that are accessible by local hardware. b. It produces, manages, and displays information. c. It modifies and transmits information. d. It only used to transmits information from dependent sources.
a. It delivers the computing potential embodied by a network of computers that are accessible by local hardware. b. It produces, manages, and displays information. c. It modifies and transmits information.
Identify the true statements about a software process. a. The process can be assessed to ensure that it meets a set of basic process criteria. b. The existence of a software process is no guarantee that software will be delivered on time and that it will meet the customer's needs. c. The process cannot be assessed to ensure that it meets a set of basic process criteria. d. The existence of a software process guarantees that software will be delivered on time and that it will meet the customer's needs.
a. The process can be assessed to ensure that it meets a set of basic process criteria. b. The existence of a software process is no guarantee that software will be delivered on time and that it will meet the customer's needs.
Identify the attributes of the increasingly sophisticated and complex computer systems that have enabled significant changes in the role of computer software over the last half century. a. Change in computing architectures b. Increase in memory and storage capacity c. Dramatic improvements in software d. Availability of few common inputs and outputs
a. changes in computing architectures b. increase in memory and storage capacity
Identify the activities of the generic process framework for software engineering. a. communicating b. modeling c. thinking d. planning
a. communicating b. modeling d. planning
Identify the unknowns that are required to properly solve a problem in the essence of software engineering practice. a. Features b. Linked lists c. Functions d. Identifiers e. Data
a. features c. functions d. data
Legacy systems are characterized by _____. a. inextensible design b. convoluted code c. new technology d. good quality
a. inextensible design b. convoluted code
Identify the functions of software as a product. a. It modifies and transmits information. b. It delivers the computing potential embodied by a network of computers that are accessible by local hardware. c. It only used to transmits information from dependent sources. d. It produces, manages, and displays information.
a. it modifies and transmits information b. it delivers the computing potential embodied by a network of computers that are accessible by local hardware d. it produces, manages, and displays information
Which of the following software engineering layers holds the technology layers together and enables rational and timely development of computer software? a. Process layer b. A quality focus layer c. Tools layer d. Methods layer
a. process layer
Identify the phase of the Unified Process model that encompasses the planning and modeling activities of the generic process model.
a. the elaboration phase
Identify the phase of the Unified Process model that encompasses both the customer communication and planning activities of the generic process model. a. The elaboration phase b. The collaboration phase c. The construction phase d. The inception phase
a. the inception phase why the others are not correct: collaboration phase - the unified process model does not have a collaboration phase construction phase - all required features and functions are for the software increment are implemented into source code.
A combination of work products and conditions that are attained along the path of the spiral is called ____ ____ ____
anchor point milestone(s)
Identify the characteristics of software. a. Software has spare parts that you can replace b. Software is not susceptible to environmental maladies c. Software doesn't wear out
b and c
dentify the statements that relate to David Hooker's principle "what you produce, others will consume." a. use variable templates while writing test cases b. Code with concern for those that must maintain and extend the system. c. Design, keeping the implementers in mind. d. Make sure the code that you write is authenticated
b. Code with concern for those that must maintain and extend the system. c. Design, keeping the implementers in mind.
Identify the term used to refer to software that was developed decades ago and has been modified continually to meet the changes in business requirements and computing platforms. a. Graphics software b. Legacy software c. Utility software d. Artificial intelligence software
b. Legacy software
According to the current thinking among engineers, which of the following should be used to assess a software process? a. Deployment b. Metrics c. Numeric measures d. Task sets
b. Metrics c. Numeric measures
Identify an umbrella activity that manages the effects of change throughout the software process. a. Work product preparation b. Software configuration management c. Measurement d. Reusability management
b. Software configuration management
What type of changes should be made to legacy software? a. The software should not be adapted to meet the needs of new computing environments or technology. b. The software should be adapted to meet the needs of new computing environments or technology. c. The software should be extended to make it work with modern systems and databases. d. The software should be extended to make it work with obsolete systems or databases.
b. The software should be adapted to meet the needs of new computing environments or technology. c. The software should be extended to make it work with modern systems and databases.
Identify an accurate statement about software engineering processes. a. They should not be agile and adaptable. b. They should be agile and adaptable. c. They are rigid prescriptions that must be followed dogmatically by software teams. d. All software engineering processes should be disposed of after using them for the first time.
b. They should be agile and adaptable.
According to the current thinking among engineers, which of the following should be used to assess a software process? a. deployment b. metrics c. numeric measures d. task sets
b. metrics c. numeric measures explanation: deployment is a framework activity task set defines the actual work that needs to be done to accomplish the objectives of a software engineering action
Which of the following are included in the five framework activities of a software process? a. project tracking b. planning c. technical review d. communication e. modeling
b. planning d. communication e. modeling project tracking and technical reviews are umbrella activities, not framework activities
Which umbrella activity assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity? a. Software project tracking b. Reusability management c. Technical review d. Risk management
c. Technical review
What is a similarity between embedded software and product-line software? a. They have fixed hardware requirements and capabilities. b. They reside within a product or system. c. They focus on limited and esoteric functions. d. They focus on unlimited and esoteric functions.
c. They focus on limited and esoteric functions.
The intent of the _____ activity is to understand stakeholders' objectives for the project and to gather requirements that help define software features and functions.
communication
System software processes are ______
complex but determinate
System software processes are _____. a. complex but determinate b. simple and determinate c. simple but indeterminate d. complex and indeterminate
complex by determinant
When software engineering tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called _____-______ software engineering
computer-aided
According to David Hooker's principles, without _____ ______, a system threatens to become a patchwork of incompatible designs, held together by the wrong kind of screws.
conceptual integrity
he _____ phase of the Unified Process develops or acquires features or functions for the software increment that is implemented in the source code. Multiple choice question.
construction
Identify the process framework activity in which the design of software is created. a. Planning b. Testing c. Modeling d. Deployment e. Construction
d. Modeling
In the essence of software engineering practice, _____ serves as a road map for the system that one would want to build.
design
The ____ of product and process is one more important element in keeping creative people engaged as software engineering continues to evolve
duality
The _____ of product and process is one important element in keeping creative people engaged as software engineering continues to evolve.
duality
The failure rate curve for software should take the form of a(n) _____.
idealized curve
The failure rate curve for software should take the form of a(n) _____. a. bathtub curve b. idealized curve c. closed curve d. actual curve
idealized curve
Identify the phase of the Unified Process model that encompasses both the customer communication and planning activities of the generic process model.
inception phase
An _____ process flow repeats one or more of the activities before proceeding to the next.
iterative
In a _______ process flow, the framework activities are executed in a circular manner
iterative
Identify the type of process flow in which one or more of the activities are repeated before proceeding to the next.
iterative process flow
A _____ defines the software engineering work by describing the technical tasks to be conducted, the resources that will be required, the work products to be produced, and a work schedule. Multiple choice question.
map
A(n) _________, a software project plan, defines the software engineering work by describing the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced, and a work schedule.
map
In David Hooker's principles, the reuse of codes and designs has been proclaimed as a major benefit of using _____ _______ technologies.
object-oriented
A software _______ is a collection of activities, actions, and tasks that are performed when some work product is to be created
process
Software engineering encompasses activities that populate a _____.
process
A process adopted for one project might be significantly different than a process adopted for another project. This is termed as _____.
process adaptation
A ______ _______ describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time.
process flow
Each process model prescribes the manner in which the process elements are interrelated to one another. Identify the terms that represent this type of flow. Process flow Work flow Data flow Control flow
process flow
Each process model prescribes the manner in which the process elements are interrelated to one another. Identify the terms that represent this type of flow.
process flow (work flow)
A _____ _______ establishes the foundation for a complete software engineering process by identifying a small number of activities that are applicable to all software projects, regardless of their size or complexity.
process framework
A(n) _____ _____ establishes the foundation for a complete software engineering process by identifying a small number of activities that are applicable to all software projects, regardless of their size or complexity.
process framework
The ______ phase phase of the Unified Process coincides with the deployment activity of the generic process.
production
the ______ phase of the Unified Process coincides with the deployment activity of the generic process.
production
In the context of the evolutionary process model, identify the paradigm that assists stakeholders to better understand what is to be built when requirements are fuzzy.
prototyping paradigm
The bedrock that supports software engineering is a(n) _________ _________
quality focus
System refers to a collection of programs written to _______ other programs.
service
Identify an umbrella activity that manages the effects of change throughout the software process.
software configuration management
A systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software is called ______ _______
software engineering
____ ___encompasses a process, a collection of methods (practice), and an array of tools that allow professionals to build high-quality computer software.
software engineering
Communication, planning, modeling, construction, and deployment are applied repeatedly through a number of project iterations. Each iteration produces a _____.
software increment
The term _______ describes the set of instructions that, when executed, produced the require features, functions, and performance.
software or code.
From a technical point of view, a _____ is a framework for the activities, actions, and tasks that are required to build high-quality software.
software process
A ______ _____ is precipitated by the need to adapt a "legacy system" to a changing business environment.
software project
Computer _____ refers to a work product that software professionals build and then support over many years.
software, program or application
The ____ model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model
spiral
In a software process, a _____ focuses on a small, but well-defined objective that produces a tangible outcome.
task
A _____ ____ is a collection of software engineering work tasks, related work products, quality assurance points, and project milestones.
task set
The process framework encompasses a set of _________ activities that are applicable across the entire software process
umbrella
________ _________ are applied throughout a software project and help a software team manage and control progress, quality, change, and risk.
umbrella activities
The ________ ________ language was developed to support the Unified Process.
unified modeling
The ____ ____ is a use case drive, architecture-centric, iterative, and incremental software process designed as a framework for unified modeling language (UML) methods and tools
unified process
Identify the two main distinguishing features of the spiral model
Anchor point milestones and cyclic approach
Identify the principles proposed by David Hooker in software engineering practice.
1. Keep it simple, stupid! - All design should be as simple as possible, but no simpler. 2. Plan ahead for reuse - planning ahead reduces the cost and increases the value of both the reusable components and the system into which they are incorporated. 3. Maintain the vision - A clear vision is essential to the success for a software vision 4. The reason it all exists - software exists to provide value for its users. 5. What you produce, others will consume - Always specify, design, document and implement knowing that someone else will need to understand what you are doing. 6. Be open to the future - Never design yourself into a corner. 7. Think! - Placing clear thought before action almost always produces a better result.
Task sets are software engineering actions that define framework activities. What does a task set identify?
1. Work products that will be produced 2. Work tasks that are to be completed 3. Work products that will be produced 4. Quality assurance points that will be required
A project is complex with many stakeholders, each with a different set of requirements. The communication activity will have six distinct actions. Identify all six actions.
1. inception 2. elicitation 3. elaboration 4. negotiation 5. specification 6. validation
From the following, identify a software engineering principle stated by David Hooker. A system with a short life has more value. A clear vision is essential to the success of a software project. The audience for any product of software development is potentially small. An industrial-strength software system is constructed and used in a vacuum.
A clear vision is essential to the success of a software project.
Each process model prescribes the manner in which the process elements are interrelated to one another. Identify the terms that represent this type of flow. Process flow Work flow Data flow Control flow
Process flow Work flow
_____ is both a product and a vehicle that delivers a product.
Software
Determine the differences between hardware and software. Software maintenance is more complex than hardware maintenance. Software is replaced by a spare part if it wears out, whereas a hardware component cannot be replaced. A hardware component is replaced by a spare part if it wears out, whereas software is not so easily replaced. Hardware maintenance is more complex than software maintenance.
Software maintenance is more complex than hardware maintenance. A hardware component is replaced by a spare part if it wears out, whereas software is not so easily replaced.
The term software _______ describes the set of instructions that, when executed, produce the required features, functions, and performance.
Software, or Code
The _____ phase of the Unified Process encompasses the latter stages of the generic construction activity and the first part of the generic deployment activity.
TRANSITION
With reference to the idealized curve in the figure, what happens when defects in software are detected and corrected? a. The idealized curve flattens. b. The idealized curve spikes. c. The idealized curve rises high.
The idealized curve flattens.
Identify the principle proposed by David Hooker that is supported by all the other principles.
The reason it all exists
What type of changes should be made to legacy software?
The software should be extended so that it can work with modern databases and systems The software should be adapted to meet the needs of new computing environments or technology.
What is a similarity between embedded software and product-line software?
They focus on limited and esoteric functions.