Principles of Software Engineering Essay

1. Describe each law in your own words. Illustrate with a practical example. Glass’ law Glass law states that the “Requirement deficiencies are the prime source of project failures”. He says that collecting the requirements of a project is the first step which leads to complete the project successfully. Robert Glass made several researches and investigated the failed projects and concluded the above statement. The main problem in a failure project is the lace of requirements, eighter the requirements Provided incorrectly or not paid more attention at their definition. Goal setting are important for a project.

The unsolved problem for the project failure is ignoring the requirements definition. Robert Glass provided many evidences to justify his statement based on case studies of three failed projects. For example consider the baggage handling system for the Denver airport, the requirements are incomplete, unclear and many are not useful. In this case the city of Denver has given the requirements without consulting its users (Airlines Company). So in an effort to recover the mistake they built 3 different luggage handling systems one each for two major airlines and the third one for all the other airlines.

We will write a custom essay sample on
Principles of Software Engineering Essay
or any similar topic only for you
Order now

Boehm’s first law Boehm first law states that “Errors are most frequent during the requirements and design activities and are the more expensive the later they are removed”. Generally errors made while collecting the requirements and developing a project. Questions arise when analysing those errors, these questions leads to put in an extra work in checking each and every phases of the project. Most errors occur in early phase of the project (i. e. ) the requirements and design errors. If the developer does not know the actual domain then the project will fail. The cost of the error depends on when it is removed.

The earlier it is removed the lower the cost. He also provided evidences by analysing many case studies; he made research on software errors developed before 1974. Boehm’s paper refers to a study done at TRW in 1974 where 224 errors were analysed. They find 100 KLOC, which consists of errors. The most important conclusion was that the design errors are higher than the code error, 64 % compared to 36%. The report says ratio is 45:9. In this project, 54% of errors found no earlier than the acceptance test. It took twice as Time for diagnosis and correction of errors in relation to a coding error. Boehm’s second law

Boehm second law states that “Prototyping (significantly) reduces requirement and design errors, especially for user interfaces”. Designing a prototype is the most important solution for the requirements error, even though we have to develop a lot later on. Prototyping is an instance of something to develop. the main advantage of prototyping is that it fills the gap between description and implementation. A prototype will help the team which is designing a project, gives confidence to the users and also convince the sponsor. For the questions arise from the users, different prototypes are constructed in a software system. hey are: Demonstration prototype: to clarify some usser requriments. Decision prototype: to select a proper design among alternatives. Educational prototype: to help designers in performing well. For example a study is conducted by Boehm in developing a system of interactive version of the COCOMO-1 cost-estimating model. The study examines the usefulness of prototypes to meet the requirements. The experiments were as part of a degree in software engineering and Seven teams to develop the same system of small (2-4 KLOC). Four groups used specification-driven approach and the other three of a prototype approach.

Both have been placed under user guide with the running system. The same Opinion was provided for both specifications and the prototype. In both cases, a acceptance test was carried out the verification of the functionality, robustness, ease of use, and ease of learning. Davis’ law Davis law states that “The value of a model depends on the view taken, but none is best for all purposes”. Alan Davis studied and concluded that modelling is used extensively to represent an actual system or planned. Models are used to study the structure of the system. The logical tructure of the data used or the dynamic structure of the interacting task. The advantage of a model will give answers for the questions that are difficult to obtain from the actual product; every program is a model of some real-world application. 2. SOFTWARE DEVELOPMENT METHODOLOGIES: Waterfall Methodology: This method follows a step-by-step approach, which moves logically from one phase to another. The works done in each phase need to be approved by the system analyst before it moves to another phase. The following diagram shows the waterfall model and its steps.

The waterfall provides an orderly sequence of development phases, the first phase is gathering requirements for the development of a project. The next phase is analysis which includes activities such as problems identifying and analysis, and reduces the initial problems that may arise. After analysis follows design decision, this exactly derives how the system operates in terms of process, data, hardware, network, user interface, and other important factors in the system environment. Then comes implementation, this phase needs the most resource, cost, and even time-consuming phase when compared to other phases.

In this actually system will built. Then testing will be performed on the implemented code. At last system will need maintenance. Prototyping Methodology: This methodology used when changes need for the project or when the project sponsor has little idea of what system to be built. The Analysis, Design, and Implementation phases performed at the same time and on each cycle resulting in a system prototype that will be reviewed by the project sponsor. The cycle repeated frequently based on the sponsor opinion until the prototype successfully meets the system requirements.

The last prototype will then be called the actual system. Prototyping development needs only initial basic analysis and design, but as the result important system functions may not be recognized in the middle of project development. Prototyping methodology can delivers the task or project quickly to users, even though the system will not provide all the requirements. The following diagram illustrates Prototyping methodology. [pic] 3. 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. Waterfall Methodology: Waterfall Methodology follows Glass law, the first phase of this model shows the collection of the requirements before the project starts. As there is no requriment deficency, there is a less failure of the project according to Robert Glass. As we are rectify the errors in the beginning after collecting the requirements in the designing phase, which leads to give low cost in future implementation. By this we can conclude that Waterfall Model implementing Boehm’s first law.

Boehm second law states that “Prototyping (significantly) reduces requirement and design errors, especially for user interfaces”, but here we are not using any prototype in this model so Boehm’s second law is not applicable in this Waterfall Model. Davis law states that “The value of a model depends on the view taken, but none is best for all purposes”. No project or system will give perfect out put there may be some changes occurred after the complition of the project. So Davis law implements for each and every project. Prototype Methodology:

In case of Prototyping Methodology three laws are applicable except the Davis law. As the first step is planing which collect requriments i. e. , impleminting Glass law and Analysing the requirements and designing follows the Boehm’s first law. Checking the project frequently with the prototype which is placed for comparing the project and implementing the Boehm’s second law. Where as the Davis law states that no project will give perfect solution, but in prototype method developing the project by comparing it with the prototype every time so it definetly gives the perfect solution.

Davis law is not applicable in Prototype Methodology. 4. For each software development methodology, give an example of a project which it would be well suited for and one which it would be inappropriate for (Total Two projects for each software development methodology). From the given source I. e. , case studies all the projects are failure once and if we fallow or implement some of the methodologies that projects might be get successful. For example consider the “Dream project turns nightmare: How flawless software never got implemented” and ISD project at a university.

These projects are failed due to the lack of requirement. If it follows Waterfall Methodology then the project will not get failed. Gathering the requirements and approaching the step by step implementation of the project leads to success of the project. When consider the Prototyping model the following projects may build successful with all requirements if they use prototype: “More than a failure? The computerized reservation systems at French Railways” “Executive information system failure: a New Zealand”


Hi there, would you like to get such a paper? How about receiving a customized one? Check it out