0
14kviews
Elaborate on principles that guide process & practice.

Subject: Software Engineering

Topic: Introduction to Software Engineering

Difficulty: Low

1 Answer
3
1.0kviews

*Principles that Guide Process:-

Principle #1 Be agile:-

Whether the process model you choose is prescriptive or agile, the basic tenets of agile development should govern your approach.

Principle #2 Focus on quality at every step:-

The exit condition for every process activity, action, and task should focus on the quality of the work product that has been produced.

Principle #3 Be ready to adapt:-

Process is not a religious experience and dogma has no place in it. When necessary, adapt your approach to constraints imposed by the problem, the people, and the project itself.

Principle #4 Build an effective team:-

Software engineering process and practice are important, but the bottom line is people. Build a self-organizing team that has mutual trust and respect.

Principle #5 Establish mechanisms for communication and coordination:-

Projects fail because important information falls into the cracks and/or stakeholders fail to coordinate their efforts to create a successful end product.

Principle #6 Manage change:-

The approach may be either formal or informal, but mechanisms must be established to manage the way changes are requested, assessed, approved and implemented.

Principle #7 Assess risk:-

Lots of things can go wrong as software is being developed. It’s essential that you establish contingency plans.

Principle #8 Create work products that provide value for others:-

Create only those work products that provide value for other process activities, actions or tasks.

PRINCIPLES THAT GUIDE PRACTICE

Principle #1. Divide and conquer:-

Stated in a more technical manner, analysis and design should always emphasize separation of concerns (SoC).

Principle #2. Understand the use of abstraction :-

At it core, an abstraction is a simplification of some complex element of a system used to communication meaning in a single phrase.

Principle #3. Strive for consistency :-

A familiar context makes software easier to use.

Principle #4. Focus on the transfer of information :-

Pay special attention to the analysis, design, construction, and testing of interfaces.

Principle #5. Build software that exhibits effective modularity: -

Separation of concerns (Principle #1) establishes a philosophy for software. Modularity provides a mechanism for realizing the philosophy.

Principle #6. Look for patterns: -

Brad Appleton suggests that: “The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development.

Principle #7:- When possible, represent the problem and its solution from a number of different perspectives.

Please log in to add an answer.