Question

Q**Write short notes (including whether they are Linear or non-Linear and where they are most appropriately...

Q**Write short notes (including whether they are Linear or non-Linear and where they are most appropriately used) and draw a diagram describing the model on any two of Prototyping, RAD, Spiral Model, Transformational Model, Unified Process (UP), Extreme Programming (XP)

Q**In software engineering, what is the Cleanroom approach? State the main objective of this approach? List any three (3) component abstraction levels.

Q**Two measures of program complexity are the Function Point and Feature Point metrics.

  1. What is the essential difference between these two metrics?
  1. For which application domains are the two metrics each applicable?
0 0
Add a comment Improve this question Transcribed image text
Answer #1

Q1.

1. Prototyping Model:

Prototyping model was developed to counter the limitations of the waterfall model. The basic idea behind the prototyping model is that instead of freezing the requirements before any design or coding can begin, a throwaway prototype is built to understand the requirements. This prototype is build based on currently known requirements. The throwaway prototype undergoes design, coding, testing but each of these phases is not formal. The prototype is developed and delivered to the client, the client uses this prototype and gets the actual feel of the system. Generally, a prototype can be prepared by the approaches listed below.

1. By creating main user interfaces without any substantial coding so that users can get a feel of how the actual system will appear.
2. By abbreviating a version of the system that will perform limited subsets of functions.
3. By using system components to illustrate the functions that will be included in the system to be developed.

It is a Non-linear Model and its diagram is:

Start Requirement gathering Building Prototype Quick Design Stop Engineer Product Refining Prototype Customer evaluation Prot

USES Of Prototyping Model:

  • Prototype model should be used when the desired system needs to have a lot of interaction with the end users.
  • Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user.
  • Prototyping ensures that the end users constantly work with the system and provide feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human-computer interface systems.

2. Spiral Model:

The spiral model was first introduced by Barry Boehm in 1986 in his paper – A Spiral Model of Software Development and Enhancement as an iterative and risk-driven model of software development. The spiral model is similar to the incremental model, with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering, and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral.Planning Risk Analysis Risk Analysis Requirerments Gathering Prototyping eost Coding Customer Evaluation Testing Evaluation E

Phases of spiral model:

1. Planning
It includes estimating the cost, schedule, and resources for the iteration. It also involves understanding the system requirements for continuous communication between the system analyst and the customer
2. Risk Analysis  
Identification of potential risk is done while a risk mitigation strategy is planned and finalized
3. Engineering  
It includes testing, coding and deploying software at the customer site
4. Evaluation
Evaluation of software by the customer. Also, it includes identifying and monitoring risks such as schedule slippage and cost overrun.

It is a Linear as well as an Iterative Model.

USES:

  • When a project is large.
  • When releases are required to be frequent.
  • When the creation of a prototype is applicable.
  • When risk and costs evaluation is important.
  • For medium to high-risk projects.
  • When requirements are unclear and complex.
  • When changes may require at any time.
  • When long term project commitment is not feasible due to changes in economic priorities.

Q2.

Cleanroom approach:

It is an engineering approach that is used to build correctness in the developed software. The main concept behind the cleanroom software engineering is to remove the dependency on the costly processes. The cleanroom software engineering includes the quality approach of writing the code from the beginning of the system and finally gathers into a complete system. This approach as described by Dyer is an amalgam of some of the most promising software engineering techniques. This approach is:

(1) a rigorous approach to specification and design which, together with a structured approach to programming, facilitate inspection-based verification of each software unit;

(2) an evolutionary incremental approach to development whereby the functionality is delivered in order of importance, and requirements are expected to change or become clarified as some of the software is delivered;

(3) the statistical testing approach.

The main objectives of this approach is :

A. Zero failures in field use:

The Cleanroom goal is to produce software that does not fail in field use. A related goal is to reduce failures found during independent certification testing to fewer than five failures per KLOC on the first execution of code, in the first project. Experienced teams will do much better.

B. Short development cycles:

Reduced cycle time results from an incremental development strategy and the avoidance of rework. New teams should experience a two-fold increase in productivity over their baseline on the first project. Productivity will continue to improve with additional experience.

C. Long product life

Cleanroom leads to an investment in assets such as detailed specifications and models of intended use that help keep a product viable for longer life.

D. Return on Investment

The technical benefits of using Cleanroom translate into significant economic benefits. Direct and indirect benefits can be identified with a reduction of field-experienced failures, reduced cycle time, and longer product life. The indirect benefits of customer loyalty and fewer competitors are difficult to quantify. Most organizations keep data on the direct costs, however, and the return on investment in Cleanroom can be calculated. In a Cleanroom demonstration project in the Tank-automotive and Armaments Command at the U.S. Army Picatinny Arsenal, an 18 to 1 return on investment was reported after six increments.

Components:

The main Cleanroom components are-

1. Software specification: During the specification phase, the software engineers use a strict stepwise refinement and verification process using a box structured approach that allows precise definition of required user function and system object architecture. This approach scales to support large systems development.

2. Development: The main goal of the development team is to take a set of software specifications including hardware and human behavior components, and design and verify those behaviors using data and processes that implement the given specifications. Box structures, representing defined system behavior, are used in development. The goal is to develop software that can be verified for correctness against its specification using structured programming correctness proofs.

3. Correctness verification: During development, the software is verified using strict correctness verification methods that prove that the software meets the specification. Verification reviews are held by the team to formally or informally verify the software using a set of correctness proofs that are standard in a structured programming environment. This method allows the verification of programs of any size by reducing the verification process to a manageable number of independent verification checks. Proof of software correctness is mostly done by direct assertion. Correctness verification is done before the software is ever executed, so the developers avoid a “debugging” mode of operation.

Add a comment
Know the answer?
Add Answer to:
Q**Write short notes (including whether they are Linear or non-Linear and where they are most appropriately...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Q**Using a truth table, show that                                     &nbs

    Q**Using a truth table, show that                                                                                                    Q**In software engineering, what is the Cleanroom approach? State the main objective of this approach? List any three (3) component abstraction levels. Q** Two measures of program complexity are the Function Point and Feature Point metrics. What is the essential difference between these two metrics? For which application domains are the two metrics each applicable?

  • How can we assess whether a project is a success or a failure? This case presents...

    How can we assess whether a project is a success or a failure? This case presents two phases of a large business transformation project involving the implementation of an ERP system with the aim of creating an integrated company. The case illustrates some of the challenges associated with integration. It also presents the obstacles facing companies that undertake projects involving large information technology projects. Bombardier and Its Environment Joseph-Armand Bombardier was 15 years old when he built his first snowmobile...

  • First, read the article on "The Delphi Method for Graduate Research." ------ Article is posted below...

    First, read the article on "The Delphi Method for Graduate Research." ------ Article is posted below Include each of the following in your answer (if applicable – explain in a paragraph) Research problem: what do you want to solve using Delphi? Sample: who will participate and why? (answer in 5 -10 sentences) Round one questionnaire: include 5 hypothetical questions you would like to ask Discuss: what are possible outcomes of the findings from your study? Hint: this is the conclusion....

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT