You are on page 1of 9

MI0024 Software Engineering

Document Owner: Mohini Thorat (Kalantre) SEMESTER: III (MBA-IS) Document Name: Software Engineering ASSIGNMENTS: SET -II Place: Kuwait

MI 0024 SETII

Page 1

Q1. Quality and reliability are related concepts but are fundamentally different in a number of ways. Discuss them. Ans:-Software Quality:The main objective of software engineering is to produce high quality software. Irrespective of nature of approach it is the Software quality assurance (SQA) that is applied throughout the software development process. Designers specify the characteristics of the quality of a product. Quality of conformance is expressed as the degree to which the design specifications are followed during the process of manufacturing. If the degree of conformance is high then the level of quality of conformance is also deemed as high. Quality of conformance is mainly focused on the implementation of the software. Software Reliability One of the task before the software engineer or the software manager is to establish the relevant reliability measures well in advance before the implementation so that the quality is assured. A series of audits may be conducted to keep a tab on the deviations if they tend to occur. The need for quality is there in the minds of everybody associated with the software project. One of the key issues pertaining to the quality aspect is the reliability of the software product. Failure refers to nonconformance to the requirements of the software stated. The quality assurance processes are very vital in establishing quality features in the product. A plan pertaining to the software project is prepared and reviewed by various experts before actually it is implemented. Data about the software engineering process should be collected, evaluated, and disseminated to smoothly conduct a SQA. Statistical SQA is helpful in improving the quality of the product
MI 0024 SETII Page 2

and the software process. Software reliability models along with suitable metrics, are considered which leads to the identification of the appropriate data and data collection methodologies making the process simpler and easier. Quality focuses on the software's conformance to explicit and implicit requirements. Reliability focuses on the ability of software to function correctly as a function of time or some other quantity. Safety considers the risks associated with failure of a computer-based system that is controlled by software. In most cases an assessment of quality considers many factors that are qualitative in nature. Assessment of reliability and to some extent safety is more quantitative, relying on statistical models of past events that are coupled with software characteristics in an attempt to predict future operation of a program. Examples:o If your cafeteria were open every time you went, it would be reliable, but that says nothing about its quality. o If you went to a restaurant once and found the food great, you'd know nothing about its reliability, but would know it was capable of great quality. o The manufacturing process for computer and memory chips is not very consistent. Some chips come out capable of running much faster than others.Rather than rate all the chips for the speed that all are good for, the semiconductor companies test each chip and categorize it by speed. Thus a high speed chip and a low speed chip may have both come from the same factory, the same machine, even the same wafer. The chips marked and sold as low-speed chips are reliable in that they can be trusted to run at the rated value, though not faster. What would you say about their quality relative to that of the high speed chips? What would you say
MI 0024 SETII Page 3

about the manufacturing process that created such a mixture of chips? 2. Explain the Advantages of Prototype Model, & Spiral Model in Contrast to Water Fall model. Ans:- The waterfall model indicates a systematic and sequential approach to software development. It encompasses the following in a sequential order modeling, analysis, design, coding, testing, and support. The waterfall model is the oldest and most widely used paradigm for software engineering. Although the waterfall model is often derived as old fashioned', it remains a reasonable approach when requirements are well understood. A prototype model on the requirements stated by the customer is developed which will enable the developer to understand the requirements more clearly and implement those requirements in the system. The spiral model combines the repetitive aspect of prototyping and systematic and controlled aspect of linear sequential model. It helps in rapid development of versions of the software through various incremental forms. Early iterations of the incremental release might be a paper model or prototype. Advantages of Prototype Model, & Spiral Model over Waterfall model Adaptive (e.g. Spiral) - Good when requirements and needs are uncertain. High technical risk. Predictive (e.g. Waterfall) - Good when requirements are well understood and have low technical risk. In a failure - In a predictive LC it will be expensive because we get to know the failure after finishing everything but in adaptive LC only an iteration is wasted. In the waterfall model, before going to the next phase we have to freeze the previous step (no turning back). This is good
MI 0024 SETII Page 4

when we have a good understanding about the project at the beginning. But iterative models give us more flexibility through giving chance to revisit early phases. Spiral model is a adaptive model. Prototyping includes more customer attention or interactions rather than waterfall model. Prototypes have a model to study and work, where waterfall do not have any model till last, whatever we developed that comes in last.

The spiral model tries to combine the advantages of the topdown and bottom-up approaches and is often used in larger projects. For smaller projects, the agile methods are often preferred. In the waterfall model, when a phase is completed, the phase is closed and cannot be revisited. This limitation has lead to widespread criticism of this approach. Several variations of the waterfall model address these criticisms by allowing some degree of feedback or overlap. These variants begin to blur the distinction between the waterfall models. Advantages of a Prototype model Spiral is a model of iterative process as prototyping and also a systematic approach to solve a problem as in waterfall model. Spiral model take problem as a series of step to solve a problem as in waterfall, and take the contribution of users or customers in each phase as in prototyping model. The software team moves around the spiral in a clockwise direction, beginning at the center leading to the development of product specification and subsequent repetitions of the process leads to development of the
MI 0024 SETII Page 5

prototype and hence the product. Each pass through the planning region results in improvements. Cost and schedule are adjusted depending upon the customer needs. The new product will evolve over iterations around the spiral. The spiral model is a realistic approach to develop large-scale systems and software. The spiral model demands attention of the risks involved at various stages of the project and tend to minimize such risks. Advantages of a Prototype model A prototype model on the requirements stated by the customer is developed which will enable the developer to understand the requirements more clearly and implement those requirements in the system. The customer evaluates the prototype which becomes the basis to refine the requirements. Disadvantages of Waterfall Model: Real project rarely follow through sequential flow that the model proposes. Although the waterfall model can accommodate iteration, it does so indirectly. As a result, change can cause confusion as the project team proceeds. The waterfall model requires all requirements explicitly, but it is often difficult for the customer to state all requirements explicitly. A working version of the program will not be available until late in the project time-span.

It is :MI 0024 SETII Page 6

1. Time consuming 2. Never backward (Traditional) 3. Little room for iteration 4. Difficulty responding to changes Q3. Write a Note on Spiral Model. Ans:- The Spiral Model The spiral model was proposed by Boehm. It combines the repetitive aspect of prototyping and systematic and controlled aspect of linear sequential model. It helps in rapid development of versions of the software through various incremental forms. Early iterations of the incremental release might be a paper model or prototype. Iterations done later are more in complete versions form. A spiral model is divided into six task regions: Customer Communication it refers to the setting up of a communication channel between the developer and the customer.

Planning Resources and other project-related information are organized in a definite manner to achieve the intended results within the timeframe is achieved through planning.

Risk Analysis Risks related to technical and management are analysed.

Engineering engineering refers to the set of tasks necessary to build one or more application forms.

Construction and Release This refers to the tasks required to construct, test, install, and provide user support.

Customer Evaluation Various feedback question types are prepared on the different types of processes of the system. The feedbacks are inputs to the data on the software from the
MI 0024 SETII Page 7

customers. The feedbacks are evaluated which in turns determines the level of acceptance of the software by the customer.

The system of feedback is a repetitive process aimed at continual improvement of the product and its services. The software team moves around the spiral in a clockwise direction, beginning at the center leading to the development of product specification and subsequent repetitions of the process leads to development of the prototype and hence the product. Each pass through the planning region results in improvements. Cost and schedule are adjusted depending upon the customer needs. The new product will evolve over iterations around the spiral. The spiral model is a realistic approach to develop large-scale systems and software. The spiral model demands attention of the risks involved at various stages of the project and tend to minimize such risks
MI 0024 SETII Page 8

Advantages: High amount of risk analysis


Good for large and mission-critical projects.

Software is produced early in the software life cycle. Disadvantages: Can be a costly model to use.

Risk analysis requires highly specific expertise.

Project's success is highly dependent on the risk analysis phase.

Doesn't work well for smaller projects

-------------------------------------------------------------------------

MI 0024 SETII

Page 9

You might also like