0% found this document useful (0 votes)
22 views9 pages

ISE 7211 SEM Assignment 1

The document discusses several software engineering methodologies: The Classical Waterfall Model is a linear sequential model but cannot support corrections between phases. The Iterative Waterfall Model adds feedback loops to allow for corrections. The Evolutionary Model is suitable for large projects developed incrementally through modules. The Modified Yourdon Method is a structured analysis technique that uses data flow diagrams (DFDs) with bubbles for processes and arrows for data flows to model systems. Object Modeling Technique is an object-oriented modeling approach with three models - object, dynamic, and functional - and phases of analysis, system design, and object design.

Uploaded by

munyawumichael
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views9 pages

ISE 7211 SEM Assignment 1

The document discusses several software engineering methodologies: The Classical Waterfall Model is a linear sequential model but cannot support corrections between phases. The Iterative Waterfall Model adds feedback loops to allow for corrections. The Evolutionary Model is suitable for large projects developed incrementally through modules. The Modified Yourdon Method is a structured analysis technique that uses data flow diagrams (DFDs) with bubbles for processes and arrows for data flows to model systems. Object Modeling Technique is an object-oriented modeling approach with three models - object, dynamic, and functional - and phases of analysis, system design, and object design.

Uploaded by

munyawumichael
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

MUNYAU CHRISTOPHER TICHAONA

H220755A

ISE 7211: SOFTWARE ENGINEERING METHODOLOGIES ASSIGNMENT 1

QUESTION 1
Classical Waterfall Model: The Classical Waterfall model can be considered the basic model and all other
life cycle models are based on this model. It is an ideal model. However, the Classical Waterfall model
cannot be used in practical project development, since this model does not support any mechanism to
correct the errors that are committed during any of the phases but detected at a later phase. This problem
is overcome by the Iterative Waterfall model through the inclusion of feedback paths.

Iterative Waterfall Model: The Iterative Waterfall model is probably the most used software development
model. This model is simple to use and understand. But this model is suitable only for well-understood
problems and is not suitable for the development of very large projects and projects that suffer from many
risks.

Evolutionary Model: The Evolutionary model is suitable for large projects which can be decomposed into
a set of modules for incremental development and delivery. This model is widely used in object-oriented
development projects. This model is only used if incremental delivery of the system is acceptable to the
customer.

Software lifecycle Features Advantages Disadvantages


Model

Classical waterfall ● Has defined ● Simple to use, ● No scope of


model phases. understand risk
● Follows all and management
phases in the implement. ● New features
mentioned ● Managed cannot be
order. work added or
● The flow of modified in
phase the software
execution after the
cannot be development
broken. has begun.
● Iteration is ● Error is
not allowed. detected at
the end of
every phase.

Evolutionary model ● Software is ● Large projects ● Is suitable


developed can be only for large
through developed projects.
different efficiently ● Takes time to
modules in an through this develop.
incremental model. ● Module
manner. ● Every version integration is
● This model is capable of difficult.
deals with the fully
different functioning
versions of the
the software mentioned
● Each version functionalities.
is an
enhanced
version of the
previous one.

Parameter Waterfall Model Evolutionary Model

Clear requirement Initial Level Initial Level


specification

Feedback from user No No

Speed to Change Low High

Predictability Low Low

Risk Identification At initial Level No

Practically Implementation No Low

Loom Systematic sequence Iterative Sequence


Any Variation done. Yes – v model No

Understandability Simple Intermediate

Precondition Required Clearly Defined Core product should clearly


define
Usability Basic Medium

Customer Priority Nil Nil

Industry Approach Basic Basic

Cost Low Low

Resource Organization Yes Yes

Electricity No No

QUESTION 2
part a
The Modified Yourdon Method (MYM) is a structured systems analysis and design methodology
that can be used to build Data Flow Diagrams (DFDs) to model system processes. The method is
based on the Yourdon Systems Method (YSM) but with some modifications to simplify the
notation and make it more efficient.

To build a DFD using MYM, follow these steps:


1. Identify the system process to be modeled and its inputs and outputs.
2. Draw a context diagram to show the system process and its inputs and outputs.
3. Draw a Level 0 DFD to represent the main processes of the system.
4. Decompose the Level 0 DFD into Level 1 DFDs to show more detail.
5. Continue decomposing the DFDs until all processes are represented.
One of the key features of MYM is the use of bubbles to represent processes and arrows to
represent flows of data between the bubbles. Arrows should always be labeled with the data
they represent. MYM also adopts the Gane and Sarson technique for showing the inputs and
outputs of a process, which involves using square brackets to show the name and characteristics
of the input and output data.

It is important to note that DFDs are just one tool that can be used to represent the functions
and processes of a system. Many companies use variations of DFDs or other modeling techniques
depending on their individual needs and preferences.
part b
Object Modeling Technique (OMT) is a real-world-based modeling approach to software
modeling and designing. It was developed basically as a method to develop object-oriented
systems and to support object-oriented programming. It describes the static structure of the
system.
The 0bject Modeling Technique is easy to draw and use. It is used in many applications like
telecommunication, transportation, compilers, etc. It is also used in many real-world problems.
OMT is one of the most popular object-oriented development techniques used nowadays. OMT
was developed by James Rambaugh.
Purpose of Object Modeling Technique:

● To test physical entities before their construction of them.


● To make communication easier with the customers.
● To present information in an alternative way i.e., visualization.
● To reduce the complexity of software.
● To solve real-world problems.

Object Modeling Technique’s Models:


There are three main types of models that have been proposed by OMT:

1. Object Model:
The Object Model encompasses the principles of abstraction, encapsulation,
modularity, hierarchy, typing, concurrency, and persistence. The Object Model
basically emphasizes the object and class. The main concepts related to Object
Model are classes and their association with attributes. Predefined relationships in
the object model are aggregation and generalization (multiple inheritances).

2. Dynamic Model:
Dynamic Model involves states, events, and state diagram (transition diagram) on
the model. Main concepts related to Dynamic Model are states, transitions between
states, and events to trigger the transitions. Predefined relationships in the object
model are aggregation (concurrency) and generalization.

3. Functional Model:
The Functional Model focuses on how data is flowing, where data is stored, and
different processes. The main concepts involved in Functional Model are data, data
flow, data store, process, and actors. The Functional Model in OMT describes the
whole processes and actions with the help of a data flow diagram (DFD).

Phases of Object Modeling Technique:


OMT has the following phases:

1. Analysis:
This is the first phase of the object modeling technique. This phase involves the
preparation of precise and correct modeling of real-world problems. The analysis
phase starts with setting a goal i.e., finding the problem statement. The problem
statement is further divided into the above-discussed three models i.e., object,
dynamic, and functional models.

2. System Design:
This is the second phase of the object modeling technique, and it comes after the
analysis phase. It determines all system architecture, concurrent tasks, and data
storage. The high-level architecture of the system is designed during this phase.

3. Object Design:
Object design is the third phase of the object modeling technique and after system
design is over, this phase comes. The object design phase is concerned with
classification of objects into different classes and about attributes and necessary
operations needed. Different issues related with generalization and aggregation are
checked.

4. Implementation:
This is the last phase of the object modeling technique. It is all about converting the
prepared design into software. The design phase is translated into the
Implementation phase.

part c
Object Oriented Analysis (OOA):

Object-Oriented Analysis (OOA) is the first technical activity performed as part of object-
oriented software engineering. OOA introduces new concepts to investigate a problem.
Object Oriented Design (OOD) :
An analysis model created using object-oriented analysis is transformed by object-oriented
design into a design model that works as a plan for software creation. OOD results in a design
having several different levels of modularity i.e., The major system components are partitioned
into subsystems (a system-level “modular”), and data their manipulation operations are
encapsulated into objects (a modular form that is the building block of an OO system.).
steps/stages in the analysis and design of an object-oriented system

There are various steps/stages in the analysis and design of an object-oriented system as given
in below figure :

1. Create a Use case model:


The first step in the analysis and design of an object-oriented system is to recognize
the actors interlinked with the system. After that, create the use case and draw the
use case diagram.

2. Draw activity diagram (If required):


The activity Diagram demonstrates the dynamic nature of a system by creating the
flow of control form activity. An activity addresses a procedure on some class in the
framework that outcomes in an adjustment of the condition of the system. The
below figure shows the activity graph handling a request to convey a few products.
3. Draw the interaction diagram:
An interaction diagram shows a collaboration, comprising a bunch of articles and
their relationship, including the messages that might be dispatched among them.
Interaction diagrams address the unique perspective on a system.
Steps for drawing interaction diagrams:
● Initially, we ought to distinguish the objects for each use case.
● Then we draw the sequence diagrams for each use case.
● Then we draw the collaboration diagrams for each use case.

4. Draw the class diagram: The class diagram is responsible for showing the
relationship between the classes. There are four types of relationships available in
class diagrams:
● Association –
It is a semantic connection between classes. At the point when an
association associates two classes, each class can send messages to the
next in sequence or a collaboration diagram. They may be bi-directional
or unidirectional in nature.
● Dependencies –
They connect two classes and are always unidirectional in nature and
display that one class, depends on the definitions of another class.
● Aggregations –
They are a stronger form of association that shows the relationship
between a whole and its parts.
● Generalizations –
They are used to display an inheritance relationship between the two
classes.
5. Design of State chart diagrams:
A state chart is utilized to show the state space of a given class, the occasion that
influences progress starting with one state and then onto the next, and the activity
that outcome from a state change. A state change graph for a “book” in the library
management system is shown below:

6. Draw component and development diagram:

These diagrams address the static execution perspective on a system they are
identified with class diagrams in that a segment ordinarily guides to at least one
class, interface, or coordinated effort.

You might also like