State and describe various core principles of software engineering.
Solution:-
The First Principle: The Reason It All Exists A software system exists for one reason: To provide value to its users. All decisions should be made with this in mind. Before specifying a system requirement, before noting a piece of system functionality, before determining the hardware platforms or development processes, ask yourself questions such as: "Does this add real VALUE to the system?" If the answer is "no", don't do it. All other principles support this one.
The Second Principle: Keep it Simple and Stupid Software design is not haphazard process. There are many factors to consider in any design efforts. All design should be as simple as possible, but no simpler. This facilitates having a more easily understood, and easily maintained system. This is not to say that features, even internal features, should be discarded in the name of simplicity.
The Third Principle: Maintain the Vision A Clear vision is essential to the success of a software project. Without that A project almost unfailingly ends up being ―of two minds about itself. Without conceptual integrity, a system threatens to become a patchwork of incompatible designs, held together.
The Fourth Principle: What You Produce, Others Will Consume Seldom is an industrial strength software system constructed and used in vacuum. In some way or other, someone else will use, maintain, document or otherwise depend on being able to understand your system. So always specify design and implement knowing someone else will have to understand what you are doing.
The Fifth Principle: Be Open to the Future While implementing a system a developer of a system shall always consider for the scope of improvement in a given system, by virtue of which there will be continuous upgrading in a given system and the system can be timely reviewed. As a result of this one can have better and improved system at the end of all iterations.
The Six Principle: Plan Ahead For Reuse While implementing a system the development team can think about having a module which are already developed in a similar kind of system, resulting in a less time of development and as these modules are reused very little time can be spend on the
Comments
Post a Comment