Principles of Software Engineering

Only available on StudyMode
  • Download(s) : 213
  • Published : April 9, 2012
Open Document
Text Preview
1)Describe each law in your own words. Illustrate with a practical example.

Glass’ law
Requirement deficiencies are the prime source of project failures. (Endre & Rombach, 2003)

Requirements are the basic Phase which lead to the development of a project. In fact, it is the first step for any project The main problem in a project failure is the lack of requirements. The common requirement error is due to human (i.e lack of Communication between customer and the analyst), software, etc. Example: Denver International Airport

Reason: Underestimation of complexity, Complex architecture, Changes in requirements, Underestimation of schedule and budget, Dismissal of advice from experts, Failure to build in backup or recovery process to handle situations in which part of the system failed.

Boehm’s first law
Errors are most frequent during the requirements and design activities and are the more expensive the later they are removed. (Endre & Rombach, 2003)

Errors occurred at the later stages of the project are very expensive in terms of both time and cost because every project goes through software development life cycle, and any changes made in the later stages would result in re-consideration for all the previous stages and this would cause lot of delay in project and even cost of the project increases Example: According to a study done at TRW in 1974, the percentage of errors in design stage was 64 where as coding errors account to 36 percent and also 54 percent of errors were not found earlier than acceptance testing. Design errors took twice as much time to diagnose and correct than coding errors. The cost of fixing a problem at later stages will be much more when compared to that of fixing problems at earlier stages.

Boehm’s second law
Prototyping (significantly) reduces requirement and design errors, especially for user interfaces. (Endre & Rombach, 2003)

Example: Software applications that are relatively easy to prototype almost always involve Human-machine interaction and/or heavy computer graphics.

Davis’ law
The value of a model depends on the view taken, but none is best for all purposes. (Endre & Rombach, 2003)

Example: The structural model view describes object, components and classes. Data model view can be used to describe data structures and the data relationships.

2) Software development methodology

Waterfall model
The waterfall model is a step by step process, often used in software development processes, in which progress is been carried steadily downwards through the phases of Requirement, Design, Implementation, Verification and Maintenance.

( Winston , 2008)
Requirement:
During this phase research would be conducted which includes brainstorming about the software, what it is all about and what purpose is it going to fulfil by developing. Design:
If the first phase i.e. Requirement is completed then the next phase would be planning for the software design which would be put on the paper also know as blueprint. After the basic design gets approved, then a more elaborated technical design can be planned. Here the functions of each of the part are decided and the engineering units are placed for example modules, programs etc. Implementation:

In this phase the source code of the programs is developed with all the design aspect point of view. Testing: At this phase, the developed design along with its entire features is put under a test to check its functionality and find out its working mechanism. If there are any errors then they will be put back to their initial phases for re-consideration. Then there is integration, where the company puts it in use after the system has been successfully tested. Maintenance:

This phase is the final stage of the software development Maintenance is needed to ensure that the system will continue to perform as desired in all the environment.

Advantages
1.Every phase has to be completed before...
tracking img