ISE 7211 SEM Assignment 1
ISE 7211 SEM Assignment 1
H220755A
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.
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.
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:
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).
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 :
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:
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.