You are on page 1of 6

SOFTWARE ENGINEERING ASSIGNMENT

NAME: TWAREEQ HASSAN


REG: 19321351021
DEPERT: BSC THIRD YEAR
ASSIGNMENT NO: 1
TO : MR M. MKANDAWIRE
1. DEFINE FORWARD ENGINEERING, REVERSE ENGINEERING AND
DESCRIBE SITUATIONS WHICH THEY ARE SUITABLE TO APPLY? USE
EXAMPLES APPLICABLE TO MALAWIAN SETTINGS

Forward Engineering: 
Forward Engineering is a method of creating or making an application with the help of the
given requirements. Forward engineering is also known as Renovation and Reclamation.
Forward engineering it requires high proficiency skills. It takes more time to construct or
develop an application. Forward engineering is a technique of creating high-level models or
designs to make in complexities and low-level information. Therefore, this kind of
engineering has completely different principles in numerous package and information
processes. Forward Engineering applies of all the software engineering process which
contains SDLC to recreate associate existing application. It is near to fulfil new needs of the
users into re-engineering. 

Characteristics of forward engineering:

1. Forward engineering is a variety of engineering that has different principles in


numerous package and information processes.
2. Forward engineering is vital in IT as a result of it represents the ‘normal’
development process.
3. Forward engineering deals with the conversion of business processes,
services, and functions into applications.

Reverse Engineering: 
 

Reverse Engineering is also known as backward engineering, is the process of forward


engineering in reverse. In this, the information is collected from the given or existing
application. It takes less time than forward engineering to develop an application. In reverse
engineering, the application is broken to extract knowledge or its architecture. 

Difference between Forward Engineering and Reverse Engineering: 

1
 In forward engineering, the application is developed with the given requirements
while in reverse engineering or backward engineering, the information is collected
from the given application.
 Forward Engineering is a high proficiency skill while Reverse Engineering or
backward engineering is a low proficiency skill.
 Forward Engineering takes more time to develop an application while Reverse
Engineering or backward engineering takes less time to develop an application.
 The nature of forward engineering is Prescriptive while the nature of reverse
engineering or backward engineering is Adaptive.
 In forward engineering, production is started with given requirements while in reverse
engineering, production is started by taking the products existing products.
 The example of forward engineering is the construction of electronic kit, construction
of DC MOTOR, etc while an example of backward engineering is research on
Instruments etc.

In Malawian setting Reverse Engineering is applicable to use, since there is more


applications that can be applied using reverse engineering than forward engineering.

1. APPLY SPIRAL MODEL OR WATERFALL MODEL FOR A DEVELOPMENT


OF A CAR TRACKING ANDROID APPLICATION

Spiral Model - Design

The spiral model has four phases. A software project repeatedly passes through these phases
in iterations called Spirals.

i. Identification

This phase starts with gathering the business requirements in developing tracking android
application. In the subsequent spirals as the product matures, identification of system
requirements, subsystem requirements and unit requirements are all done in this phase.

2
This phase also includes understanding the system requirements by continuous
communication between the customer and the system analyst. At the end of the spiral, the
product is deployed in the identified market together with the necessary tools or requirements
for creating the application.

ii. Design

The Design phase starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and the final design
in the subsequent spirals.

For example, here system designers will design and produces a prototype of how our
application is going to look like before implementation phase.

iii. Construct or Build

The construction phase refers to production of the actual software product at every spiral. In
the baseline spiral, when the product is just thought of and the design is being developed a
POC (Proof of Concept) is developed in this phase to get customer feedback.

Then in the subsequent spirals with higher clarity on requirements and design details a
working model of the software called build is produced with a version number. These builds
are sent to the customer for feedback.

iv. Evaluation and Risk Analysis

Risk Analysis includes identifying, estimating and monitoring the technical feasibility and
management risks, such as schedule slippage and cost overrun. After testing the build, at the
end of first iteration, the customer evaluates the software and provides feedback.

Based on the customer evaluation, the software development process enters the next iteration
and subsequently follows the linear approach to implement the feedback suggested by the

3
customer. The process of iterations along the spiral continues throughout the life of the
software.

ADVANTAGES OF SPIRAL (SDLC) MODEL

 Changing requirements can be accommodated.


 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.
 Development can be divided into smaller parts and the risky parts can be developed
earlier which helps in better risk management.

DISADVANTAGES OF SPIRAL (SDLC) MODEL

 Management is more complex.


 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small
projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive documentation.

4
REFERENCES

 710-B, Advant Navis Business Park,Sector-142, Noida, Uttar Pradesh -


201305

feedback@geeksforgeeks.org

You might also like