Sei sulla pagina 1di 4

EMCS – 981 Myo Thi Ha

Name : Myo Thi Ha


Roll Number : EMCS – 981
Assignment : COMP 612 - Assignment 4
1.  (a) Formal systems development is an approach to software development which
has something in common with the waterfall model. What are the critical
distinctions between formal systems development and waterfall model?
    (b) In the past few years, an approach to software development (component-
based software engineering) which relies on reuse has emerged and is becoming
widely used. Describe the reuse-oriented development approach.

Answer:

1 (a) The formal system development has something in common with waterfall
model but Formal System development is based on formal mathematical
transformation of a system specification to an executable programme.

It differs from the waterfall model in the following points:


(critical distinctions between formal systems development and waterfall model)
- Formal specification is basically a refined requirements specification but
expressed in a mathematical notation.
- The transformational stage here replaces the design, implementation and
unit testing in the waterfall model, at this stage the formal specification goes
through stages (transformations) to become a programme.

Waterfall model

1
EMCS – 981 Myo Thi Ha

Formal System development

Formal System Development WaterFall Model


Advantages: Advantages:
- Transformations between stages are sufficiently - Organized approach, provides robust
close to ensure better verification and less
expensive separation of phases.
proofs - Reflects common engineering practice
- Errors, omissions, ambiguities, and contradictions  
in specifications are more completely detected  
- The final product is more likely to satisfy the  
requirements  
- The product’s reliability is increased  
   

Formal System Development WaterFall Model


Disadvantages: Disadvantages:
- Requires knowledge of and experience with formal -Doesn’t cope well with changes required by the
methods client
- Are resource consuming - Development teams might wait for each other
-A working version of the product is available
  only late
 
   

2
EMCS – 981 Myo Thi Ha

1 (b)
In the past few years, an approach to software development (component-
based software engineering) which relies on reuse has emerged and is becoming
widely used.

Reuse-oriented development approach


In the last few years, an approach to software development called
component-based software engineering (CBSE), which relies on reuse, has
emerged and is becoming increasingly used.

This reuse-oriented approach relies on a large base of reusable software


components and some integrating framework for these components. Sometimes,
these components are systems in their own right (COTS or commercial
off-the-shelf systems) that may provide specific functionality such as text
formatting or numeric calculation. The generic process model for CBSE is shown
in above Figure.

While the initial requirements specification stage and the validation stage are
comparable with other processes, the intermediate stages in a reuse-oriented
process are different. These stages are:

1. Component analysis Given the requirements specification, a search is made for


components to implement that specification. Usually, there is no exact match, and
the components that may be used only provide some of the functionality required.

2. Requirements modification During this stage, the requirements are analyzed


using information about the components that have been discovered. They are then
modified to reflect the available components. Where modifications are impossible,

3
EMCS – 981 Myo Thi Ha

the component analysis activity may be re-entered to search for alternative


solutions.
3. System design with reuse During this phase, the framework of the system is
designed or an existing framework is reused. The designers take into account the
components that are reused and organize the framework to cater to this. Some new
software may have to be designed if reusable components are not available.

4. Development and integration Software that cannot be externally procured is


developed, and the components and COTS systems are integrated to create the new
system. System integration, in this model, may be part of the development process
rather than a separate activity.

Potrebbero piacerti anche