written 6.3 years ago by | • modified 6.1 years ago |
Subject: Software Engineering
Topic: Introduction to Software Engineering
Difficulty: Low
written 6.3 years ago by | • modified 6.1 years ago |
Subject: Software Engineering
Topic: Introduction to Software Engineering
Difficulty: Low
written 6.3 years ago by |
*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.