Software Engineering: A Practitioner's Approach (Pressman) - Ch. 2

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Computer-Aided Software Engineering

When tools are integrated so that information created by one tool can be used by another.

Software Quality Assurance [Umbrella Activity]

Define/conduct activities required to ensure software quality.

Measurement [Umbrella Activity]

Defines and collects process/project/product measures to assist the team in delivering the software required.

Reusability Management [Umbrella Activity]

Defines criteria for product reuse and establishes mechanisms to make reusable components.

Action

Encompasses a set of tasks that produce a major work product.

Task

Focus on a small, well-defined objective that produces a tangible outcome.

Process Framework

Foundation for the software engineering process. Composed of a number of framework activities applicable to all software projects.

Software Engineering Processes

Framework that must be established for effective delivery of software engineering technology. Forms the basis for management control of software projects and establishes the context in which technical methods are applied, work products are produced, milestones are established, quality is ensured, and change is properly managed.

Generic Process Framework

1. Communication 2. Planning 3. Modelling 4. Construction 5. Deployment

The Seven General Principles of Software Engineering

1. The Reason It All Exists 2. KISS 3. Maintain the Vision 4. What You Produce, Others Will Consume 5. Be Open to the Future 6. Plan Ahead for Reuse 7. Think!

The Essence of Problem Solving (Polya)

1. Understand the problem (communication and analysis) 2. Plan a solution (modelling and software design) 3. Carry out the plan (code generation) 4. Examine the result for accuracy (testing and quality assurance)

Maintain the Vision [3rd Principle]

A clear vision is essential to the success of a software project - without one, a project almost unfailingly ends up being "of two [or more] minds."

Software Configuration Management [Umbrella Activity]

Manages the effects of change throughout the software process.

Be Open to the Future [5th Principle]

Never design yourself into a corner. The system being developed should always be ready to adapt to changes, and doing so begins in the design phase.

Think! [7th Principle]

Placing clear, complete thought before action almost always produces better results.

Plan Ahead for Reuse [6th Principle]

Planning for reuse reduces the cost and increases the value of both the reusable components and the systems into which they are incorporated.

Work Product Preparation and Production

Activities required to create work products (models, documents, logs, forms, lists).

Umbrella Activity

Activities that are applied throughout a software project and help a software team manage and control progress, quality, change, and risk.

Keep It Simple Stupid (KISS) [2nd Principle]

All design should be as simple as possible, but no simpler.

Software Project Tracking and Control [Umbrella Activity]

Allows the team to assess progress against the project plan and take action necessary to maintain the schedule.

What You Produce, Others Will Consume [4th Principle]

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

Framework Activity

An activity residing within a framework.

Risk Management [Umbrella Activity]

Assesses risks that may affect the outcome or quality of the project.

Technical Reviews [Umbrella Activity]

Assesses work products to uncover and remove errors before they propagate.

Software Engineering Tools

Automated or semi-automated support for processes and methods.

Process

Collection of activities, actions, and tasks that are preformed 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 rigour with which software engineering is to be applied.

Software Engineering Methods

Technical how-to's for building software including communication, requirements analysis, design modelling, program construction, testing, and support.

Software Engineering (IEEE)

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software (or the study of such approaches).

The Reason It All Exists [1st Principle]

The sole purpose of a software system is to provide value to its users. Q: Do the desired features add any real value to the system?


Ensembles d'études connexes

Chapter 14:keeping with the republic

View Set

n448: chapter 22 (veteran's health)

View Set

Anatomy and Physiology: The Heart

View Set