Priciples of Software Engineering

Describe each law in your own words. Illustrate with a practical example ? Glass’ law “Requirement deficiencies are the prime source of project failures Coming to my explanation Glass law states that if the basic requirements of the projects is not constructed properly that may leads failure of the project. To achieve goals in the project it plays an vital role and any drawbacks may leads project unsuccessful. Around 20% of all IT project failures were caused by incomplete or badly managed requirements. Example: Technological University-Online Practical Tests

In the case of technological university the requirements specifications for the online practical exams had been implemented without consulting students and university staff. This system was designed in such a way that students affliated to that university are write the test test online at the same day and same time. Considering the requirements of the colleges were different an the project objectives were different. This leads to failure of the that project. Boehm’s first law “Errors are most frequent during the requirements and design activities and are the more expensive the later they are removed”.

Coming to my explanation Boehm’s law states that the basic designing of the projects mat leads to errors and miscalculations. The sooner you find a problem, the cheaper it is to fix , otherwise to detect the errors in the project is very expensive or complicated . This law is applicable from midrange systems. Example: City Council – Pay Roll System A city council developed a replacement payroll system believed that users had comprehensive knowledge of all the business requirements.

But the current staff or IT team had participated in building the old system – they had no knowledge of how it was built. That leads to many errors and it cause project failure. Boehm’s second law “Prototyping (significantly) reduces requirement and design errors, especially for user interfaces”. Coming to my explanation Boehm’s second law states that by prototype modelling the disigning of the project and errors can be reduced. To design the system the staff will be educated . So that that will increase the usability of the system among users. Example:

In a postgraduation course prototype modelling experiments were conducted . Some of them were used requirement driven approach and others are prototyping approach. This will leads to satisfaction for the client compare to all other methods. Davis’ law “The value of a model depends on the view taken, but none is best for all purposes”. Coming to my explanation Davi’s law states that to describe systems requirements, it is very useful. This model is useful to solve the complicated tasks that other models find that difficult to solve. Example:In a system to solve the problems different methods were implemented.

Each task follows their methodolgies to solve the problems. At the end all the methods got different results but there methodologies is useful to solve the problem. Your first task is to describe each software development methodology clearly and completely in your own words. You may use diagrams, examples or UML to help you do this. Waterfall Model : The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards through the phases of conception, design, analysis, initiation ,testing and maintenance.

This model is used in manufacturing industries and construction industries . It is ; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development. For example, one first completes requirements specification, which after sign-off are considered “set in stone. ” When the requirements are fully completed, one proceeds to design. Spiral Model:

The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Each phase starts with a design goal and ends with the client reviewing the progress . Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project. The spiral model might mean that you have a rough-cut of user elements as an operable application, add features in phases, and, at some point, add the final graphics.

The Spiral model is used most often in large projects and needs constant review to stay on target. It can get their hands in and start working on a project earlier. Q3) Using the first four laws of the text, show where these are either implemented or missing in each software development methodology (Total Two). If a law is missing, explain the consequences and suggest how the process might be improved. Water Fall Model Glass’ law Requirement deficiencies are the prime source of project failures. The end users gathered by requirements in waterfall model.

It states that the basic requirements of the projects is not constructed properly that may leads failure of the project. The failures were caused by incomplete or badly managed requirements. Boehm’s first law “Errors are most frequent during the requirements and design activities and are the more expensive the later they are removed”. It basic designing of the projects mat leads to errors and miscalculations. In waterfall model this law cannot be able to correct the errors. This law is not reliable for waterfall model. Boehm’s second law Prototyping (significantly) reduces requirement and design errors, especially for user interfaces”. This law cannot be able to correct the errors in waterfall model. The design phase would be reduced by prototype modelling. Davis’ law “The value of a model depends on the view taken, but none is best for all purposes”. The purpose of this model is not suitable for this law. Spiral Model Glass’ law “Requirement deficiencies are the prime source of project failures In waterfall model risk analysis is conducted on the prototype. By this if they need any requirement it will included in next stage.

Boehm’s first law “Errors are most frequent during the requirements and design activities and are the more expensive the later they are removed”. In spiral model each phase starts with a design goal and ends with the client reviewing the progress . The risks were eliminated after number of stages. Boehm’s second law “Prototyping (significantly) reduces requirement and design errors, especially for user interfaces”. In spiral model it will design the prototype. and construct and design the prototype. The analysis and engineering efforts are applied at each phase of the project.