Software Engineering 7

Ace your homework & exams now with Quizwiz!

3) map

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 the work schedule. 1) stake 2) case 3) map 4) test

Package of classes

A collection of related classes that work together to achieve some end result

Anchor point milestones

A combinations of work products and conditions that are attained along the path of the spiral - are noted for each evolutionary pass

Template

A consistent method for describing problem solutions within the context of the software process

Software process

A framework for the activities, actions, and tasks that are required to build high-quality software

Process pattern

A process related problem that is encountered during software engineering work, identifies the environment in which the problem is encountered, and suggest s that one or more solutions to the problem

Prescriptive process models

Define a prescribed set of process elements and a predictable process work flow

Incremental model

Delivers a series of releases, called increments that provide progressively more functionality for the customers as each increment is received.

Formal methods

Encompasses a set of activities that leads to formal mathematical specification of computer software Enables you to specify, develop, and verify a computer based system by applying a rigorous, mathematical notation

Component based development

Evolutionary in nature, demanding an iterative approach to the creation of software. However, the _____ model constructs applications from prepackaged software components

Parallel process flow

Executes one or more activities in parallel with other activities (e.g.) Modeling one aspect of the software might be executed in parallel with construction of an other aspect of the software

Evolutionary process flow

Executes the activities in a "circular" manner. Each circuit through the five activities leads to a more complete version of the software.

PSP High level design

External specifications for each component to be constructed are developed and a component design is created. Prototypes are built when uncertainty exists. All issues are recorded and tracked

PSP High level design review

Formal verification methods are applied to uncover errors in the design. Metrics are maintained for all important tasks and work results

4) A clear vision is essential of a software project.

From the following, identify a software engineering principle stated by David Hooker. 1) The audience for any product of software development is potentially small. 2) An industrial strength software system is constructed in a vacuum. 3) A system with a short lifetime has more value 4) A clear vision is essential of a software project.

Task set

Identifies the tasks that are to be completed, the work products that will be produced, the quality assurance points that will be required and the milestones that will be used to indicate progress

PSP Development

The component level design is refined and reviewed. Code is generated, reviewed, compiled, and tested. Metrics are maintained for all important tasks and work results

TSP

The goal of ____ is to build a self-directed project team that organizes itself to produce high-quality software.

Quality Focus

The bedrock that supports software engineering is a __________.

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 work schedule.

Map

A(n) __________, a software project plan, describes 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.

conceptual integrity * David Hooker's principles ** (1) The Reason It All Exists - provide value to its user. Ask "does it add real value to the system?" ** (2) KISS (Keep It Simple, Stupid) - all design should be as simple as possible ** (3) Maintain the Vision - A clear vision is essential to the success of a software project. Projects require conceptual integrity ** (4) What You Produce, Others Will Consume - always specify, design, and implement knowing someone else will have to understand what you are doing ** (5) Be Open to the Future - try to solve general problems, and not specific ones ** (6) Plan Ahead for Reuse - Planning ahead for reuse reduces the cost and increases the value of both the reusable components and the systems into which they are incorporated ** (7) Think! - Placing clear, complete thought before action almost always produces better results.

According to David Hooker's principles, without _____ _____, a system threatens to become a patchwork of incomplete designs, held together by the wrong kind of screws.

conceptual integrity

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.

Reuse

According to the principles proposed by David Hooker, _____ saves time and effort.

Reuse

According to the principles proposed by David Hooker, __________ saves time and effort.

AAT

Activities, Actions, or Tasks

Concurrent development

Allows a software team to represent iterative and concurrent elements of any of the process models described in this chapter

Spiral model

An evolutionary process model that couples the iterative nature of prototyping with the controlled and systemic aspects of the waterfall model Provides the potential for rapid deployment of increasingly more complete versions of the software

D. Software increment

Communication, planning, modeling, construction, and deployment are applied repeatedly through a number of project iterations. Each iteration produces a __________. A. Software feature B. Software decrement C. Software drop D. Software increment

4) Never design yourself into a corner

Identify a statement that is true of David Hooker's fifth principle: Be open to the future. 1) Adopt a vision of work 2) Recognize management as a profession for organization of the processes and for co-ordination of the roles 3) Equip specialized tools for the roles and processes 4) Never design yourself into a corner

2) They should be agile and adaptable

Identify an accurate statement about software engineering processes. 1) All software engineering process should be disposed after using them for the first time 2) They should be agile and adaptable 3) They should not be agile and adaptable 4) They are rigid prescriptions that must be followed dogmatically by software teams.

B. Software configuration management.

Identify an umbrella activity that manages the effects of change throughout the software process. A. Work product preparation B. Software configuration management. C. Re-usability management D. Measurement

4) Once we write the program and get it to work, our job is done 1) Until I get the program running I have no way of assessing its quality 5) The only deliverable work product for a successful project is the working program. * software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down.

Identify statements that are considered as practitioner's myths. (Check all that apply). 1) Until I get the program running I have no way of assessing its quality 2) If we get behind schedule, we can add more programmers to catch up 3) If I decide to outsource the software project to a third party, I can just relax and let the firm build it 4) Once we write the program and get it to work, our job is done 5) The only deliverable work product for a successful project is the working program.

A. The only deliverable work product for a successful project is the working program. B. Once we write the program and get it to work, our job is done. C. Until I get the program running I have no way of assessing its quality.

Identify statements that are considered as practitioner's myths. (Select all that apply.) A. The only deliverable work product for a successful project is the working program. B. Once we write the program and get it to work, our job is done. C. Until I get the program running I have no way of assessing its quality. D. If I decide to outsource the software project to a third party, I can just relax and let that firm build it. E. If we get behind schedule, we can add more programmers to catch up.

4) Communicating (with customer) 1) Planning (map "software project plan") 3) Modeling ("sketch") * Construction (design is built) * Deployment (software delivered to customer)

Identify the activities of the generic process framework for software engineering. (Multiple answers) 1) Planning 2) Thinking 3) Modelling 4) Communicating

B. Planning C. Communicating D. Modeling

Identify the activities of the generic process framework for software engineering. (Select all that apply.) A. Thinking B. Planning C. Communicating D. Modeling

C. Assess software progress. E. Maintain the schedule.

Identify the functions of software project tracking and control in umbrella activities. (Check all that apply.) A. Establish mechanisms to achieve reusable components. B. Uncover and remove errors. C. Assess software progress. D. Define criteria for work and product reuse. E. Maintain the schedule.

1) Keep it Simple, stupid. 2) Maintain the Vision 4) Plan ahead for reuse

Identify the principles proposed by David Hooker in software engineering practice. (Check all that apply) 1) Keep it Simple, stupid. 2) Maintain the vision 3) Focus on frequent delivery of products 4) Plan ahead for reuse

A. Plan ahead for reuse. B. Maintain the vision. D. Keep it simple, stupid.

Identify the principles proposed by David Hooker in software engineering practice. (Check all that apply.) A. Plan ahead for reuse. B. Maintain the vision. C. Focus on frequent delivery of products. D. Keep it simple, stupid.

4) Construction

Identify the process framework activity in which the design of a software is created. 1) Deployment 2) Testing 3) Planning 4) Construction 5) Modeling

1) Always specify design, and implement knowing someone else will have to understand what you are doing.

Identify the statement that is true of David Hooker's fourth principle: what you produce, others will consume. 1) Always specify design, and implement knowing someone else will have to understand what you are doing. 2) A collaborative effort and cooperative approach between software engineers and stakeholders is essential 3) It focuses on the software engineering process and addressing the analysis, and test phases with novel approaches. 4) It concentrates particularly on how to manage tasks within a team-based development environment

B. Management myth

Identify the type of myth shown in the example below. Myth: If we get behind schedule, we can add more programmers to catch up (sometimes called the "Mongolian horde concept"). Reality: If an organization does not understand how to manage and control software projects internally, it will invariably struggle when it outsources software projects. A. Practitioner's myth B. Management myth C. Customers myth D. Programmer's myth

1) Management Myth

Identify the type of myth shown in the example below. Myth: If we get behind schedule, we can add more programmers to catch up (sometimes called the "Mongolian horde concept"). Reality: if an organization does not understand how to manage and control software projects internally, we will invariably struggle when it outsources software projects. 1) Management myth 2) Customers myth 3) Practitioner's myth 4) Programmer's myth

2) Risk Management 4) Measurement 5) Reusability management

Identify the umbrella activities that are applied to a software project. (Check all that apply) 1) Construction 2) Risk Management 3) Modeling 4) Measurement 5) Reusability management

V Model

Illustrates how verification and validation actions are associated with earlier engineering actions

Object-oriented

In David Hooker's principles, the reuse of codes and designs has been proclaimed as a major benefit of using __________ technologies.

object-oriented

In David Hopper's principles, the reuse of codes and designs has been proclaimed as a major benefit using _____ technologies.

quality focus

The bedrock that supports software engineering is a _____ _____.

1) task * process is a collection of activities, actions and tasks that are performed when some work product is to be created. **activity - strives to achieve a broad objective and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is applied. ** action - encompasses a set of tasks that produce a major work product ** task - focuses on a small, but well-defined objective that produces a tangible outcome

In a software process, a ____ focuses on small, but well-defined objective that produces a tangible outcome. 1) task 2) method 3) risk 4) tool

C. Task

In a software process, a __________ focuses on a small, but well-defined objective that produces a tangible outcome. A. Risk B. Tool C. Task D. Method

(In order) 1) Understand the problem 2) Plan a solution 3) Carry out the plan 4) Examine the result

In the context of software engineering, arrange the steps for problem solving outlined by George Polya in the correct order. (Not in order) 1) Plan a solution 2) Carry out the plan 3) Examine the result for accuracy 4) Understand the problem

3) design

In the essence of software engineering practice, _____ serves as a road map plan for the system that one would want to build. 1) implementation 2) beta-testing 3) design 4) alpha-testing

1) The validity of the results should conform to the data, functions, and required features should be considered. 4) The possibility of testing each component of software should be considered

In the essence of software engineering practice, identify the factors that should be considered while examining the result of software. (Check all that apply) 1) The validity of the results should conform to the data, functions, and required features should be considered. 2) The reusable elements of the solution should be considered 3) The possibility to represent smaller problems that may be easier to understand should be considered 4) The possibility of testing each component of software should be considered

A. The possibility of testing each component of software should be considered. C. The validity of the results that should conform to the data, functions, and required features should be considered.

In the essence of software engineering practice, identify the factors that should be considered while examining the result of software. (Check all that apply.) A. The possibility of testing each component of software should be considered. B. The reusable elements of the solution should be considered. C. The validity of the results that should conform to the data, functions, and required features should be considered. D. The possibility to represent smaller problems that may be easier to understand should be considered.

1. Construction: B 2. Deployment: C 3. Communication: A

Match the process framework activities with its functions. 1. Construction 2. Deployment 3. Communication A. The intent is to understand stakeholders' objectives for the project. B. This activity combines code generation and testing. C. The software as a complete entity or as a partially completed increment is delivered to the customer.

1. Communication: C 2. Planning: A 3. Modeling: D 4. Construction: E 5. Deployment: B

Match the process framework activities with what it states. 1. Communication 2. Planning 3. Modeling 4. Construction 5. Deployment A. A software product can be simplified if a map exists. B. The software as a complete entity or as a partially completed increment is delivered to the customer. C. The intent is to understand the stakeholders' objectives for the project. D. Software engineers create models to better understand software requirements. E. This activity combines code generation and the testing that is required to uncover errors in the code.

1. Understand the problem: D. Communication and analysis 2. Plan a solution: C. Modeling and software design 3. Carry out the plan: A. Code generation 4. Examine the result for accuracy: B. Testing and quality assurance

Match the software engineering practices outlined by George Polya with their activities. 1. Understand the problem 2. Plan a solution 3. Carry out the plan 4. Examine the result for accuracy A. Code generation B. Testing and quality assurance C. Modeling and software design D. Communication and analysis

Aspects

Mechanisms beyond subroutines and inheritance for localizing the expression of a cross-cutting concern Ex. User interfaces, collaborative work, distribution, persistency, memory management, transaction processing, security, integrity, and so on

Communication - The intent is to understand the stakeholders' objectives for the project. Planning - A software can be simplified if a map exists. Modeling - Software engineers create models to better understand software requirements Construction - This activity combines code generation and the testing that is required to uncover errors in the code Deployment - The software as a complete entity or as a partially completed increment is delivered to the customer

Process framework activities

Construction - This activity combines code generation and testing Deployment - The software as a complete entity or as a partially completed increment is delivered to the customer. Communication - The intent is to understand stakeholders' objectives for the project.

Process framework activities

PAD

Prototyping, Analysis, Design

Pattern template

Provides a consistent means for describing a pattern

1) myths

Software development _____ are erroneous beliefs about software and the process that is used to build it. 1) myths 2) tools 3) methods 4) activities

Waterfall model

Suggests a systemic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction, and deployment, culminating in ongoing support of the completed software.

UP Production phase

The _____ phase of the UP coincides with the deployment activity of the generic process. During this phase, the ongoing use of the software is monitored, support for the operating environment (infrastructure) is provided, and defect reports and requests for changes are submitted and evaluated.

3) software requirements continually change, but can be easily accommodated because software is flexible

The reality "when requirements changes are requested early, the cost impact is relatively small" clarifies the myth "_____" 1) once we write the program and get it work, our job is done 2) If we get behind schedule, we can add more programmers and catch up 3) software requirements continually change, but can be easily accommodated because software is flexible 4) if a firm decides to outsource the software project to a third party, it can relax and let the other firm build it

C. Software requirements continually change, but change can be easily accommodated because software is flexible.

The reality "when requirements changes are requested early, the cost impact is relatively small" clarifies the myth "__________." A. If a firm decides to outsource the software project to a 3rd party, it can just relax and let that other firm build it.. B. Once we write the program and get it to work, out job is done. C. Software requirements continually change, but change can be easily accommodated because software is flexible. D. If we get behind schedule, we can add more programmers to catch up.

PSP Planning

This activity isolates requirements and develops both size and resource estimates. In addition, a defect estimate (the number of defects projected for the work) is made. All metrics are recorded on worksheets or templates. Finally, development tasks are identified and a project schedule is created

False

True or false: The only deliverable work product for a successful project is the working program.

True

True or false: When software requirements changes are requested early, the cost impact is relatively small. However, as time passes, the cost impact grows rapidly.

PSP Postmortem

Using the measures and metrics collected (this is a substantial amount of data that should be analyzed statistically), the effectiveness of the process is determined. Measures and metrics should provide guidance for modifying the process to improve its effectiveness.

4) It provides technical how-to's for building software

What is the function of the methods layer? 1) It establishes milestones after every work product 2) It establishes software configuration management 3) It reapplies definition and development phases to existing software 4) It provides technical how-to's for building software

Crosscutting concerns

When concerns cut across multiple system functions, features, and information

computer-aided * software engineering methods provide the technical how-to's for building software (tasks include: communication, requirements analysis, design modeling, program construction, testing, and support)

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, is established.

Computer-aided

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, is established.

Blocking states

Where some project team members must wait for other members of the team to complete dependent tasks

A. Construction

Which is the process framework activity that combines code generation and the testing that is required to uncover errors in the code? A. Construction B. Installation C. Review D. Maintenance

4) Software engineers should plan ahead for reuse

Which of the following is a software engineering principle stated by David Hooker? 1) Always stick to the methods and procedures that worked well in the past. 2) Reuse wastes time and effort 3) Software engineering is not a layered technology 4) Software engineers should plan ahead for reuse

4) Every software project is precipitated by some business need.

Which of the following statements is true about software engineering? 1) In software engineering, a system with a long lifetime has less value 2) Software engineering is not a layered technology 3) In reality, software engineering will make us create voluminous and unnecessary documentation 4) Every software project is precipitated by some business need.

3) Technical review *Typical Umbrella Activities ** Software project tracking and control - allows the team to assess progress against the project plan and take any necessary action to maintain the schedule ** Risk management - assesses risks that may affect the outcome of the project or the quality of the product ** Software quality assurance - defines and conducts the activities required to ensure software quality ** Technical reviews - assess software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity ** Measurement - defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders' needs. Can be used in conjunction with all other framework and umbrella activities ** Software configuration management - manages the effects of change throughout the software process ** Reusability management - defines criteria for work product reuse and establishes mechanisms to achieve reusable components ** Work product preparation and production - encompass the activities required to create work products such as models, documents, logs, forms and lists.

Which umbrella activity assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity? 1) Re-usability management 2) Risk management 3) Technical Review 4) Software project tracking

UML

____ contains a robust notation for the modeling and development of object-oriented systems. By 1997, this became a de facto industry standard for object-oriented development

UP Inception phase

_____ of the UP encompasses both customer communication and planning activities. By collaborating with stakeholders, business requirements for the software are identified; a rough architecture for the system is proposed; and a plan for the iterative, incremental nature of the ensuring project is developed

UP Elaboration phase

_____ of the UP encompasses the communication and modeling activities of the generic process model. _____ refines and expands the preliminary use cases that were developed as part of the inception phase and expands the architectural representation to include five different views of the software: the use case model, the requirements model, the design model, the implementation model, and the deployment model

UP Construction phase

_____ of the up is identical to the construction activity defined for the generic software process. Using the architectural model as input, the _____ phase develops or acquires the software components that will make each use case operational for end users.

UP Transition phase

_____ phase of the UP encompasses the latter stages of the generic construction activity and the first part of the generic deployment (delivery and feedback) activity. Software is given to end users for beta testing and user feedback reports.

PSP

_____emphasizes personal measurement of both the work product that is produced and the resultant quality of the work product. In addition, ____ makes the practicioner responsible for project planning (e.g., estimating and scheduling) and empowers the practitioner to control the quality of all software work products that are developed.

Unified Process

a framework for object oriented software engineering using UML. The iterative, incremental model proposed by the ___ can and should be adapted to meet specific project needs

Aspect oriented

a relatively new software engineering paradigm that provides a process and methodological approach for defining, specifying, designing, and constructing aspects

Aspectual requirements

crosscutting concerns that have an impact across software architecture.

Scripts

define specific activities (i.e. project launch, design, implementation, integration and system testing, postmortem) and other more detailed work functions (e.g., development planning, requirements development, software configuration management, unit test) that are part of the team process.

Concurrent modeling

defines a series of events that will trigger transitions from state to state for each of the software engineering activities, or tasks

Process flow

describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time

Linear process flow

executes each of the five framework activities in sequence, beginning with communication and culminating with deployment

Self-directed team

has a consistent understanding of its overall goals and objectives, defines roles and responsibilities for each team member; tracks quantitative project data (about productivity and quality); identifies a team process that is appropriate for the project and a strategy for implementing the process; defines local standards that are applicable to the team's software engineering work; continually assesses risks and reacts to it; and tracks, manages, and reports project status.

Workflow

in the context of UP, ______ is analogous to a task set. That is, a ____ identifies the tasks required to accomplish an important software engineering action and the work products that are produced as a consequence of successfully completing the task.

Iteration

occurs as the prototype is toned to satisfy the needs of various stakeholders, while at the same time enabling you to better understand what needs to be done

Iterative process flow

repeats one or more of the activities before proceeding to the next

Elicitation

requirements gathering

State

some externally observable mode of behavior

Analysis model correction

triggering the requirements analysis action from the done state to the awaiting changes state


Related study sets

OB: Chapter 6 Disorders of the Breasts

View Set

252-EXM4-Prioritization and Delegation NCLEX Style Qs (Passpoint PrepU)

View Set

VTNE Review, med nusing final, Final, VET 112 Quiz 6, SANN, Quiz 6 Sm/lg animal, Small Animal Nursing, VET 221 - Quiz # 8, Medical Nursing, Multiple choice, Animal Nursing Final Review, VTNE - Medical Nursing, VTNE final review

View Set

Chapter 22: Nursing Management of the Postpartum Woman at Risk

View Set

Chapter 20: Caring for Clients with Upper Respiratory Disorders

View Set

Cialdini's Six Principles of Persuasion

View Set