Professional Documents
Culture Documents
IM U-2 Notes
IM U-2 Notes
Case tools - System flow chart, Decision table, Data flow Diagram (DFD), Entity Relationship (ER),
Object Oriented Analysis and Design(OOAD), UML diagram.
INTRODUCTION:
The word ‘System’ is derived from the Greek word ‘Systema’. It is an organized
combination of resources working together to convert inputs into useful outputs.
1) System Analysis:
The process of gathering and interpreting facts, diagnosing problems and using
the information to recommend improvements to the system.
It specifies “What the system should do.”
2) System Design:
The process of planning a new system (or) one to replace (or) complement an
existing system.
Design state “How to accomplish the objective.”
It is a set of techniques and graphical tools that allow the analyst to develop a new kind of
system specifications that are easily understandable to the user.
System flowcharts are a way of displaying how data flows in a system and how decisions
are made to control events.
To illustrate this, symbols are used. They are connected together to show what happens to
data and where it goes.
Flow chart Symbols:
ADVANTAGES: DISADVANTAGES:
Stop
Conditions and
Rules
Actions
In Simple,
Conditions
Conditions Condition rows (stubs):
Entries Lists conditions relevant to decision.
Action rows (Stubs):
Actions that results from a given set of
conditions
Actions Rules:
Actions Specify which actions are to be followed
Entries for a given set of conditions
EXAMPLE:
Here the symbol dash (-) is used to indicate that the condition is irrelevant for the
combinations of the conditions given. It reduces number of columns in the decision table.
3. ELSE Form:
For removing ambiguity, First only the rules representing the valid cases are shown in the
decision table and then to complete the decision table , a Dummy rule is written as the last rule ,
on the right of it.
This rule Represents “all the remaining possibilities”
ADVANTAGES
DISADVANTAGES
Need to know what conditions are relevant for testing
Cannot be translated into program easily
Scaling up can be massive : 2𝑛 for n conditions
DATA FLOW DIAGRAM [DFD]
COMPONENTS/ELEMENTS OF DFD:
TYPES OF DFD:
Logical data flow diagrams - are implementation-independent and describe the system,
rather than how activities are accomplished. It concentrates on system process and flow
of data in the system.
ADVANTAGES OF DFD :
1.Early implementation
2.Study Independence
4.Reduces cost
Physical data flow diagrams - are implementation-dependent and describe the actual
entities (devices, department, people, etc.) involved in the current system. It shows how
the data flow is actually implemented in the system
DISADVANTAGES OF
DFD :
1.Imprecise
2.Highly Subjective
LEVELS OF DFD:
1) Level 0:
Also known as context level DFD is the highest abstraction level in DFD.
Contains only one process, representing entire system.
This diagram does not contain any data stores.
2) Level 1:
Depicts basic modules in the system and flow of data among various modules.
Include up to 9 processes.
Mention basic processes and sources of information.
RULES OF DFD
LEVEL 0 LEVEL 1
ENTITY RELATIONSHIP [ER] DIAGRAMS
NOTATIONS OF ER DIAGRAN:
3) Attribute:
4) Key Attribute:
It is the Unique, distinguishing characteristics of
Attribute the entity.
6) Derived Attribute:
8) Weak Relationship:
9) Mandatory One cardinality 10) Optional One cardinality cardinality specifies the
maximum number of
relationships and
ordinality specifies the
absolute minimum
11) Mandatory Many Cardinality 12) Optional Many Cardinality number of
relationships.
COMPONENTS OF ER DIAGRAM:
Composite Attribute:
2. One to Many(1:m)
3. Many to One(m:1)
4. Many to Many(m:n)
Examples:
i)A bank record information about its customers and their accounts:
Name Number
Phone
Type Balance
Address
ssNo
driver
CASE Tools are computerized software development tools that support the developer
when performing one or more phases of the software life cycle and/or support software
maintenance.
1.Standard Methodology
2.Flexibility
3.Strong Integration
6.On-line Help
CASE tools can be broadly divided into the following parts based on their use at a particular
SDLC stage:
Central Repository - CASE tools require a central repository, which can serve as a
source of common, integrated and consistent information. Central repository is a central
place of storage where product specifications, requirement documents, related reports
and diagrams, other useful information regarding management is stored. Central
repository also serves as data dictionary.
Diagramming Tools: Help in diagrammatic and graphical representations of the data and
system processes.
Computer Display and Report Generators: Help in understanding the data
requirements and the relationships involved.
Analysis Tools: Focus on inconsistent, incorrect specifications involved in the diagram
and data flow.
Central Repository: Provides the single point of storage for data diagrams, reports and
documents related to project management. Central repository also serves as data dictionary.
Documentation Generators: Help in generating user and technical documentation as per
standards.
Code Generators: Aid in the auto generation of code, including definitions, with the
help of the designs, documents and diagrams.
of Information System
Disadvantages
Advantages
Some tools are expensive
They integrate the development done
during each phase of system development All software engineers need to be
trained to use these tools
They permit effective communication with
users A lot of time is wasted in using the
tools
They are useful as communication aids
with users of the system Software developed using CASE tools
are of poor quality
Architecture of CASE Environment:
Identifying objects
Organizing the objects by creating object model diagram
Defining the internals of the objects, or object attributes
Defining the behavior of the objects, i.e., object actions
Describing how the objects interact
The common models used in OOA are use cases and object models. OOA TO OOD
OOD:
Object–Oriented Design (OOD) involves implementation of the conceptual model
produced during object-oriented analysis.
Grady Booch has defined object-oriented design as “a method of design
encompassing the process of object-oriented decomposition and a notation for depicting both
logical and physical as well as static and dynamic models of the system under design”.
The implementation details generally include −
ADVANTAGES:
Restructuring the class data (if necessary),
Implementation of methods, i.e., internal data structures and algorithms,
Implementation of control, and
Implementation of associations.
Components in OOAD:
Types of Inheritance
Single Inheritance − A subclass derives from a single
super-class.
Multiple Inheritance − A subclass derives from more
than one super-classes.
Multilevel Inheritance − A subclass derives from a
super-class which in turn is derived from another
class and so on.
Hierarchical Inheritance − A class has a number of
subclasses each of which may have subsequent
subclasses, continuing for a number of levels, so as to
form a tree structure.
Hybrid Inheritance − A combination of multiple and
multilevel inheritance so as to form a lattice structure.
5. Interface:
The ability to defer the implementation of a method.
The ability to define the functions or methods signatures without implementing
them.
6. Polymorphism:
Means the ability of an object to take multiple forms.
Polymorphism allows objects with different internal structures to have a common
external interface.
Eg: Both cat and dog are animals with same method makeNoise() but they are
making noise in different in ways.
7. Encapsulation
Encapsulation is the process of binding both attributes and methods together within a
class.
UNIFIED MODELING LANGUAGE [UML]
The Unified Modeling Language (UML) is a graphical language for OOAD that gives a
standard way to write a software system’s blueprint. It helps to visualize, specify, construct, and
document the artifacts of an object-oriented system. It is used to depict the structures and the
relationships in a complex system.
UML can be described as a general purpose visual modeling language to visualize, specify
and document software systems.
BUILDING BLOCKS OF UML:
The building blocks of UML can be defined as −
Things
Relationships
Diagrams
THINGS:
Things are the most important building blocks of UML. Things can be −
Structural
Behavioral
Grouping
Annotational
STRUCTURAL THINGS
Structural things define the static part of the model. They represent the physical and
conceptual elements. Following are the brief descriptions of the structural things.
Class − Class represents a set of objects having similar responsibilities.
Collaboration
Use case −Use case represents a set of actions performed by a system for a specific goal.
Node − A node can be defined as a physical element that exists at run time.
BEHAVIORAL THINGS:
A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral
things −
Interaction − Interaction is defined as a behavior that consists of a group of messages
exchanged among elements to accomplish a specific task.
State machine − State machine is useful when the state of an object in its life cycle is
important. It defines the sequence of states an object goes through in response to events.
Events are external factors responsible for state change
GROUPING THINGS:
Grouping things can be defined as a mechanism to group elements of a UML model together.
There is only one grouping thing available −
Package − Package is the only one grouping thing available for gathering structural and
behavioral things.
ANNOTATIONAL THINGS:
RELATIONSHIP:
Relationship is another most important building block of UML. It shows how the elements are
associated with each other and this association describes the functionality of an application.
There are four kinds of relationships available.
Association - Association is basically a set of links that connects the elements of a UML
model. It also describes how many objects are taking part in that relationship.
What are the graphical notations used in UML? Classes, Objects, Interface, Collaboration, use case,
active classes, components and Nodes.
UML DIAGRAM
UML Diagram is the graphical presentation of set of elements, most often rendered as a
connected graph of vertices (things) and paths(relationships).
UML defines various kinds of diagrams to cover most of the aspects of a system and to
understand the system in a better and simple way.
Types of UML diagram:
Types of UML diagrams
STRUCTURAL DIAGRAM
1. CLASS DIAGRAM:
Class diagrams are the most common and widely used diagrams in UML.
Class diagram consists of classes, interfaces, associations, and collaboration.
Class diagrams basically represent the object-oriented view of a system, which is static
in nature. Hence, it is generally used for development purpose.
Active class is used in a class diagram to represent the concurrency of the system.
2. OBJECT
Stud_Name=John
Stud_Age=20
Year_Admission=2019
Course_Name=MBA
3. COMPONENT DIAGRAM
4. DEPLOYMENT DIAGRAM
Deployment diagrams are a set of nodes and their relationships. These nodes are
physical entities where the components are deployed.
Deployment diagrams are used for visualizing the deployment view of a system. This
is generally used by the deployment team.
Deployment diagram for Online Banking transaction system
It is used to visualize the topology of the physical components of a system where the
software components are deployed.
BEHAVIORAL DIAGRAM
The UML’s behavioral diagrams are used to visualize, specify, construct and document
the dynamic aspects of a system.
This diagram is used to describe some type of interactions among the different
elements in the model. This interaction is a part of dynamic behavior of the system.
This interactive behavior is represented in UML by two diagrams
*Sequence diagram - on time sequence of messages
*Collaboration diagram. - the structural organization of the objects that send
and receive messages
SEQUENCE DIAGRAM –
deals with the sequence of messages flowing from one object to another.
Interaction among the components of a system is very important from
implementation and execution perspective.
visualize the sequence of calls in a system to perform a specific functionality.
COLLABORATION DIAGRAM
structural organization of a system and the messages sent/received.
the specific purpose of collaboration diagram is to visualize the organization of objects
and their interaction.
3. STATE-CHART DIAGRAM
Used to model dynamic nature of the system
Describes different states of an object during its lifetime. And these stares are
changed by internal/external events in real time system
Visualize the reaction of a system by internal/external factors.
4. ACTIVITY DIAGRAM
Activity diagram is basically a flowchart to represent the flow from one activity to
another activity.
The activity can be described as an operation of the system.
The control flow is drawn from one operation to another. This flow can be
sequential, branched, or concurrent.
Activity diagrams are used to visualize the flow of controls in a system.