Assignment of Generic Models (Software Engineering)
Assignment of Generic Models (Software Engineering)
Assignment of Generic Models (Software Engineering)
Software Engineering
Topic Name: -
Submitted to: -
Submitted by: -
Muhammad Adeel
Roll No: -
Software Engineering: -
Software engineering is an engineering branch associated with
development of software product using well-defined scientific principles, methods and
procedures. The outcome of software engineering is an efficient and reliable
software product.
(b)Evolutionary development: -
(b)Evolutionary development: -
Evolutionary model is a combination of Iterative and Incremental model of software
development life cycle. The Evolutionary development model divides
the development cycle into smaller, incremental waterfall models in which users are able to
get access to the product at the end of each cycle.
I. Exploratory development: -
Objective is to work with customers and to evolve a final system from an initial outline
specification. Should start with well-understood requirements
The exploratory model is an experimental, research-based
systems development method used to develop and design a computer system or product.
The exploratory model is based on planning and reviewing potential scenarios and
approaches until the one that appears to be optimal is selected.
I. Throw-away prototyping: -
Evolutionary development: -
Problems: -
Lack of process visibility
Systems are often poorly structured
Special skills (e.g. in languages for rapid prototyping) may be required.
Applicability: -
For small or medium-size interactive systems
For parts of large systems (e.g. the user interface)
For short-lifetime systems
(c) Formal systems development: -
Formal methods are intended to systematize and introduce accuracy into all the phases
of software development. This helps us to avoid overlooking critical issues, provides a
standard means to record various rules and decisions, and forms a basis for consistency
among many related activities.
Based on the transformation of a mathematical specification through different
representations to an executable program
Transformations are ‘correctness-preserving’ so it is straightforward to show that the
program
conforms to its specification Embodied in the ‘Cleanroom’ approach to software
development
Formal transformations: -
Formal systems development: -
Problems: -
Need for specialized skills and training to apply the technique
Difficult to formally specify some aspects of the system such as the user interface
Applicability: -
Critical systems especially those where a safety or security case must be made before
the system is put into operation
(d)Reuse-oriented development: -
Based on systematic reuse where systems are integrated from existing components or
COTS (Commercial-off-the-shelf) systems
Process stages: -
o Component analysis
o Requirements modification
o System design with reuse
o Development and integration
This approach is becoming more important but still limited experience with it.