SlideShare a Scribd company logo
System Design
Part- 2
Unified Modeling Language
(UML)
Background
 What are object-oriented (OO) methods?
OO methods provide a set of techniques for analyzing, decomposing, and
modularizing software system architectures
In general, OO methods are characterized by structuring the system
architecture on the basis of its objects (and classes of objects) rather than the
actions it performs
 What are the benefits of OO?
OO enhances key software quality factors of a system and its constituent
components
 What is the rationale for using OO?
In general, systems evolve and functionality changes, but objects and classes
tend to remain stable over time
Using Object Oriented Design Approach the development team creates the
abstractions and mechanisms necessary to meet the system's behavioral
requirements determined during analysis
Modeling
 Modeling is a way of thinking about the problems using models
organized around the real world ideas.
 A modeling method comprises a language and also a procedure
for using the language to construct models.
 Modeling is the only way to visualize your design and check it
against requirements before your crew starts to code.
 An important reason behind constructing a model is that it helps
manage complexity. Once the models of a system have been
constructed, these can be used for a variety of purposes during
software development, including the following:
 Analysis
 Specification
 Design
 Code generation
 Visualize and understand the problem and the working of a system
 Testing etc
What is UML?
• Is a language. It is not simply a notation for drawing diagrams, but a
complete language for capturing knowledge about a system and
expressing knowledge(syntax) regarding the system for the purpose of
communication and visualizing, constructing and documenting software
system.
• Applies to modeling and systems. Modeling involves a focus on
understanding a subject (system) and capturing and being able to
communicated in this knowledge.
• It is the result of unifying the information systems and technology
industry’s best engineering practices (principals, techniques, methods and
tools).
• The UML uses mostly graphical notations to express the OO analysis and
design of software projects.
• Help acquire an overall view of a system. UML is not dependent on any
one language or technology.
UML View
UML is a multi-diagrammatic language to capture different views of the system.
Structural view-The structural view defines the structure of the problem in
terms of the kinds of objects (classes) important to the understanding of the
working of a system and to its implementation. It also captures the relationships
among the classes (objects). The structural model is also called the static model,
since the structure of a system does not change with time.
Behavioral view-The behavioral view captures how objects interact with
each other to realize the system behavior. The system behavior captures the
dynamic behavior of the system.
Implementation view-This view captures the important components of
the system and their dependencies.
Environmental view-This view models how the different components are
implemented on different pieces of hardware.
Users' view- This view defines the functionalities (facilities) made available
by the system to its users.
UML Diagram
UML View, Diagram
Structural View
-Class Diagram
-Object Diagram
Behavioral View
-Sequence Diagram
-Collaboration Diagram
-State Chart Diagram
-Activity Diagram
Implementation Diagram
-Component Diagram
Environmental View
-Deployment Diagram
User’s View
Use Case
Diagram
Theusers'viewcanbeconsideredasthecentralviewandallotherviewsareexpectedtoconform
tothisview.Thisthinkingisinfacttheheartofanyuser-centricdevelopmentstyle.
Use case Diagram represent the different ways in which a system can be used by
users. The Use case diagram is used to identify the primary elements and
processes that form the system. The primary elements are termed as "actors" and
the processes are called "use cases." The Use case diagram shows which actors
interact with each use case. These diagrams contain the following components:
• Actors: An actor or external agent, lies outside the system model, but interacts
with it in some way. An actor may be a user, a representative group of users,
machine, or an information system. Actors are drawn as stick figures with the
name of the actor written bellow of stick figure. Each actor can participate in one
or more use cases.
• Use Cases: The use case diagram for any system consists of a set of "use cases".
Intuitively, use cases represent the different ways in which the users can use a
system. A simple way to find all the use cases of a system is to ask the question:
"What the users can do using the system?" Thus for the Library Information
System (LIS), the use cases could be: issue-book, query-book, return-book etc.
Each use case is represented by an ellipse.
Use case diagrams
Symbols Of Use Case Diagram
Actor
Symbol:
<<actor>>
When a stick person icon
represents an external
system, it is annotated by
the stereotype <<external
system>>
Use Case
Symbol:
Name of the use case is
written inside the
ellipse.
Use Case Name
Relationships in Use Cases
 Include: Literally speaking, in an include relationship; a use case includes the
functionality described in another use case as a part of its business process flow.
 An include relationship is depicted with a directed arrow. The tip of the
arrowhead points to the parent use case and the child use case is connected at
the base of the arrow. The type "<<includes>>" identifies the relationship as an
include relationship.
<<include>>
 Example: “Rent Item” use case executes by a staff in a store “Pay Fee” and
“Check Overdue” also executes.
<<include>>
<<include>>
Relationships in Use Cases
 Extend: In an extend relationship between two use cases, the child use case adds to
the existing functionality and characteristics of the parent use case. The main idea
behind the ‘extends’ relationship among use cases is that it allows to show optional
behavior.
 An extend relationship is depicted with a directed arrow having a dotted shaft, similar
to the include relationship. The tip of the arrowhead points to the parent use case and
the child use case is connected at the base of the arrow.
<<extend>>
 An example of an extend relationship between the "Perform medical tests" (parent) and
"Perform Pathological Tests" (child) use cases. The "Perform Pathological Tests" use
case enhances the functionality of the "Perform medical tests" use case.
<<extend>>
A Simple Use Case Diagram On Railway
Reservation System
Class Diagrams
 Class Diagrams describe the static structure of a system, or how it is
structured rather than how it behaves.
 By definition, a class diagram is a diagram showing a collection of
classes and interfaces, along with the relationships among classes and
interfaces.
 The use cases talk about "what are the requirements" of a system. The
aim of designing classes is to convert this "what" to a "how" for each
requirement. A class diagram is a pictorial representation of the
detailed system design. A thing to remember is that a class diagram is a
static view of a system. The structure of a system is represented using
class diagrams.
Elements of a Class Diagram
The classes represent entities with common features, i.e. attributes and operations. Classes
are represented as solid outline rectangles with compartments. Classes have a mandatory
name compartment. Classes have optional attributes and operations compartments.
Attributes-An attribute is a named property of a class. It represents the kind of data that
an object might contain. Attributes are listed with their names, and may optionally contain
specification of their type – separated by a colon with attribute name, an initial value, and
constraints.
Operation-The parameters of a function may have a kind specified. The kind may be "in"
indicating that the parameter is passed into the operation, or "out" indicating that the
parameter is only returned from the operation, or "inout" indicating that the parameter is used
for passing data into the operation and getting result from the operation. The default is "in".
An operation may have a return type consisting of a single return type expression, for
example, issueBook (in bookName):Boolean
Elements of a Class Diagram[contd..]
 Modifiers are used to indicate visibility of attributes and operations.
 ‘+’ is used to denote Public visibility (everyone)
 ‘#’ is used to denote Protected visibility (derived)
 ‘-’ is used to denote Private visibility (no one)
 By default, attributes are hidden and operations are visible
 For example:
 Here Account is the class name which has three attributes customer_name(type char,
visibility private), account_no( type int, visibility private), balance(type int,
visibility private) and Account class operates addfunds and withdraw method.
Visibility of operations are public.
Account
-customer_name: char
-account_no: int
-balance: int
+addfunds(in amount)
+withdraw(in amount)
Relationship between Classes
 Association -An Association is a generic relationship between two classes, and is
modeled by a solid line connecting the two classes. Associations are needed to enable
objects to communicate with each other.
 A label, which is optional, although highly recommended, is typically one or two words
describe the association. Label is shown alongside association line. A filled triangle
indicates the direction in which the label should be read.
 works for
 An arrow may be attached to the end of the path to indicate that navigation is
supported in the direction of the class pointed to. To restrict the navigation one
direction only an arrowhead is used to indicate the navigational direction.
 In following figure, the association is navigable in only one direction, from
BankAccount to Person, but not the reverse. The Person class is frozen and cannot be
extended to know about the BankAccount class, but the reverse is not true.
Relationship between Classes [contd..]
 On each side of the association relation the multiplicity is noted as an
individual number or as a value range. The multiplicity indicates how
many instances of one class are associated with the other. Value ranges of
multiplicity are noted by specifying the minimum and maximum value,
separated by two dots. An asterisk is used as a wild card and means many
(zero or more).
 The association of above figure should be read as "Many books may be
borrowed by a Library Member”
 0..1 Borrowed by 0..*
Relationship between Classes [contd..]
 Aggregation -When a class is formed as a collection of other classes, it is
called an aggregation relationship between these classes. It is also called a
"has a" relationship. (It is a special type of association where the involved
classes are not only associated to each other, but a whole- part relationship
exists between them.)
 Aggregation is represented by the diamond symbol at the composite/aggregate
end of a relationship. The number of instances of the component class
aggregated can also be shown in diagram.
1..* consist of 1..* 1..* consist of 1..*
 A document can be considered as an aggregation of paragraphs. Each
paragraph can in turn be considered as aggregation of lines.
Relationship between Classes [contd..]
 Composition- Composition is a stricter form of aggregation, in which the parts
may belong to only one whole and are existence-dependent on the whole. This
means that the life of each part is closely tied to the life of the whole. In other
words, the lifeline of the whole and the part are identical. When the whole is
created, the parts are created and when the whole is destroyed, the parts are
destroyed. In composition instance of one object contains instances of some
other objects.
 A typical example of composition is an invoice object with invoice items. As
soon as the invoice object is created, all the invoice items in it are created and as
soon as the invoice object is destroyed, all invoice items in it are also destroyed.
The composition relationship is represented as a filled diamond drawn at the
composite-end.
 1 *
Relationship between Classes [contd..]
 Inheritance/Generalization-Also called an "is a" or “is a kind of “
relationship, because the child class is a type of the parent class.
Generalization is the basic type of relationship used to define reusable
elements in the class diagram. Literally, the child classes "inherit" the
common functionality defined in the parent class.
The inheritance relationship is represented by means of an arrow with empty
triangular arrow head pointing from the subclass to the super-class.
Steps Followed
 Draw class symbol in the and name it
 List the class attributes and try to understand their
visibility
 List the class operations/methods and try to understand
their visibility
 Make the proper links/association and note multiplicity
properly
 Display relationships (if any) between classes.
 Give notations.
Example- A Class Diagram to represent the fact that an order consists of one
or more order items. Each order item contains the name of the item, its
quantity and the date by which it is required. Each order item is described by
an item order specification object having details such as its vendor addresses,
its unit price, and manufacturer.
An Example of Class Diagram
Object Diagram
 Object diagram is an instance of class diagram. This type of diagram is used
to describe the system at a particular point in time. Using this technique,
designer can validating the class diagram and its multiplicity rules with real-
world data, and record test scenarios. From a notation standpoint, Object
diagrams borrow elements from Class diagrams.
 Object Diagrams describe the static structure of a system at a particular time.
Whereas a class model describes all possible situations, an object model
describes a particular situation. Object Diagram has following two elements:
 Object- Objects, which represent particular entities. These are instances of
classes. Objects are identified by placing the instance name followed by a
colon (:) in front of the class name. Property values are written as
"name=value" pairs. The icon for an object is a rectangle divided into
sections.
 Association- Object diagrams can contain associations as well. Associations
between Objects are simply diagrammed using a line joining the two.
An Example Of Object Diagram
Another Example Of Object Diagram
Sequence Diagram
 The invocation of methods in each object, and the order in which the invocation
occurs is captured in a Sequence diagram. This makes the Sequence diagram a
very useful tool to easily represent the dynamic behavior of a system.
 Sequence Diagrams describe interactions among classes. These interactions are modeled
as exchange of messages. These diagrams focus on classes and the messages they
exchange to accomplish some desired behavior. Sequence diagrams are a type of
interaction diagrams. Sequence diagrams contain the following elements:
• Class roles, which represent roles that objects may play within the interaction.
• Lifelines, which represent the existence of an object over a period of time.
• Activations, which represent the time during which an object is performing an operation.
• Messages, which represent communication between objects.
Sequence diagram for "Manage course information"
Sequence Diagram
Thank You !!
Ad

More Related Content

What's hot (20)

Uml diagrams usecase
Uml diagrams usecaseUml diagrams usecase
Uml diagrams usecase
SandhyaTatekalva
 
Use Case TABLE with Actors & Goals
Use Case TABLE with Actors & Goals Use Case TABLE with Actors & Goals
Use Case TABLE with Actors & Goals
Putcha Narasimham
 
Use case diagrams 2014
Use case diagrams 2014Use case diagrams 2014
Use case diagrams 2014
Inge Powell
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
University of Texas at Dallas
 
Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2
Ramakant Soni
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
artgreen
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
artgreen
 
Composite Structure Diagram
Composite Structure DiagramComposite Structure Diagram
Composite Structure Diagram
University of Texas at Dallas
 
87683689 ooad-lab-record
87683689 ooad-lab-record87683689 ooad-lab-record
87683689 ooad-lab-record
Pon Venkatesh
 
Use Case UML Diagram
Use Case UML DiagramUse Case UML Diagram
Use Case UML Diagram
University of Texas at Dallas
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
Package Diagram
Package DiagramPackage Diagram
Package Diagram
University of Texas at Dallas
 
Software Engineering Lab Manual
Software Engineering Lab ManualSoftware Engineering Lab Manual
Software Engineering Lab Manual
Neelamani Samal
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
Lecture05
Lecture05Lecture05
Lecture05
artgreen
 
2b writing good use cases
2b writing good use cases2b writing good use cases
2b writing good use cases
Châu Thanh Chương
 
8 system models (1)
8 system models (1)8 system models (1)
8 system models (1)
Ayesha Bhatti
 
50120130405003
5012013040500350120130405003
50120130405003
IAEME Publication
 
Object diagram
Object diagramObject diagram
Object diagram
University of Texas at Dallas
 
How to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS WordHow to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS Word
Leslie Munday
 
Use Case TABLE with Actors & Goals
Use Case TABLE with Actors & Goals Use Case TABLE with Actors & Goals
Use Case TABLE with Actors & Goals
Putcha Narasimham
 
Use case diagrams 2014
Use case diagrams 2014Use case diagrams 2014
Use case diagrams 2014
Inge Powell
 
Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2
Ramakant Soni
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
artgreen
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
artgreen
 
87683689 ooad-lab-record
87683689 ooad-lab-record87683689 ooad-lab-record
87683689 ooad-lab-record
Pon Venkatesh
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
Software Engineering Lab Manual
Software Engineering Lab ManualSoftware Engineering Lab Manual
Software Engineering Lab Manual
Neelamani Samal
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
How to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS WordHow to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS Word
Leslie Munday
 

Similar to ASP.NET System design 2 (20)

UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Uml
UmlUml
Uml
Vishwa Mohan
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
Shri Shankaracharya College, Bhilai,Junwani
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
MeagGhn
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
RAJESH S
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
madhavi patil
 
432
432432
432
Sushath SimplytheBest
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
PrasenjitKumarDas2
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
Shahzad
 
Uml
UmlUml
Uml
parag
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
Mukesh Tekwani
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
MeagGhn
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
RAJESH S
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
Shahzad
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
 
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.pptChapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
SisayNegash4
 
Ad

More from Sisir Ghosh (20)

ASP.NET Session 2
ASP.NET Session 2ASP.NET Session 2
ASP.NET Session 2
Sisir Ghosh
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3
Sisir Ghosh
 
ASP.NET Session 4
ASP.NET Session 4ASP.NET Session 4
ASP.NET Session 4
Sisir Ghosh
 
ASP.NET Session 5
ASP.NET Session 5ASP.NET Session 5
ASP.NET Session 5
Sisir Ghosh
 
ASP.NET Session 6
ASP.NET Session 6ASP.NET Session 6
ASP.NET Session 6
Sisir Ghosh
 
ASP.NET Session 7
ASP.NET Session 7ASP.NET Session 7
ASP.NET Session 7
Sisir Ghosh
 
ASP.NET Session 8
ASP.NET Session 8ASP.NET Session 8
ASP.NET Session 8
Sisir Ghosh
 
ASP.NET Session 9
ASP.NET Session 9ASP.NET Session 9
ASP.NET Session 9
Sisir Ghosh
 
ASP.NET Session 10
ASP.NET Session 10ASP.NET Session 10
ASP.NET Session 10
Sisir Ghosh
 
ASP.NET Session 11 12
ASP.NET Session 11 12ASP.NET Session 11 12
ASP.NET Session 11 12
Sisir Ghosh
 
ASP.NET Session 13 14
ASP.NET Session 13 14ASP.NET Session 13 14
ASP.NET Session 13 14
Sisir Ghosh
 
ASP.NET Session 16
ASP.NET Session 16ASP.NET Session 16
ASP.NET Session 16
Sisir Ghosh
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
Sisir Ghosh
 
Transport layer
Transport layerTransport layer
Transport layer
Sisir Ghosh
 
Routing
RoutingRouting
Routing
Sisir Ghosh
 
Network security
Network securityNetwork security
Network security
Sisir Ghosh
 
Module ii physical layer
Module ii physical layerModule ii physical layer
Module ii physical layer
Sisir Ghosh
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
Sisir Ghosh
 
Overview of data communication and networking
Overview of data communication and networkingOverview of data communication and networking
Overview of data communication and networking
Sisir Ghosh
 
Application layer
Application layerApplication layer
Application layer
Sisir Ghosh
 
ASP.NET Session 2
ASP.NET Session 2ASP.NET Session 2
ASP.NET Session 2
Sisir Ghosh
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3
Sisir Ghosh
 
ASP.NET Session 4
ASP.NET Session 4ASP.NET Session 4
ASP.NET Session 4
Sisir Ghosh
 
ASP.NET Session 5
ASP.NET Session 5ASP.NET Session 5
ASP.NET Session 5
Sisir Ghosh
 
ASP.NET Session 6
ASP.NET Session 6ASP.NET Session 6
ASP.NET Session 6
Sisir Ghosh
 
ASP.NET Session 7
ASP.NET Session 7ASP.NET Session 7
ASP.NET Session 7
Sisir Ghosh
 
ASP.NET Session 8
ASP.NET Session 8ASP.NET Session 8
ASP.NET Session 8
Sisir Ghosh
 
ASP.NET Session 9
ASP.NET Session 9ASP.NET Session 9
ASP.NET Session 9
Sisir Ghosh
 
ASP.NET Session 10
ASP.NET Session 10ASP.NET Session 10
ASP.NET Session 10
Sisir Ghosh
 
ASP.NET Session 11 12
ASP.NET Session 11 12ASP.NET Session 11 12
ASP.NET Session 11 12
Sisir Ghosh
 
ASP.NET Session 13 14
ASP.NET Session 13 14ASP.NET Session 13 14
ASP.NET Session 13 14
Sisir Ghosh
 
ASP.NET Session 16
ASP.NET Session 16ASP.NET Session 16
ASP.NET Session 16
Sisir Ghosh
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
Sisir Ghosh
 
Network security
Network securityNetwork security
Network security
Sisir Ghosh
 
Module ii physical layer
Module ii physical layerModule ii physical layer
Module ii physical layer
Sisir Ghosh
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
Sisir Ghosh
 
Overview of data communication and networking
Overview of data communication and networkingOverview of data communication and networking
Overview of data communication and networking
Sisir Ghosh
 
Application layer
Application layerApplication layer
Application layer
Sisir Ghosh
 
Ad

Recently uploaded (20)

Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 

ASP.NET System design 2

  • 3. Background  What are object-oriented (OO) methods? OO methods provide a set of techniques for analyzing, decomposing, and modularizing software system architectures In general, OO methods are characterized by structuring the system architecture on the basis of its objects (and classes of objects) rather than the actions it performs  What are the benefits of OO? OO enhances key software quality factors of a system and its constituent components  What is the rationale for using OO? In general, systems evolve and functionality changes, but objects and classes tend to remain stable over time Using Object Oriented Design Approach the development team creates the abstractions and mechanisms necessary to meet the system's behavioral requirements determined during analysis
  • 4. Modeling  Modeling is a way of thinking about the problems using models organized around the real world ideas.  A modeling method comprises a language and also a procedure for using the language to construct models.  Modeling is the only way to visualize your design and check it against requirements before your crew starts to code.  An important reason behind constructing a model is that it helps manage complexity. Once the models of a system have been constructed, these can be used for a variety of purposes during software development, including the following:  Analysis  Specification  Design  Code generation  Visualize and understand the problem and the working of a system  Testing etc
  • 5. What is UML? • Is a language. It is not simply a notation for drawing diagrams, but a complete language for capturing knowledge about a system and expressing knowledge(syntax) regarding the system for the purpose of communication and visualizing, constructing and documenting software system. • Applies to modeling and systems. Modeling involves a focus on understanding a subject (system) and capturing and being able to communicated in this knowledge. • It is the result of unifying the information systems and technology industry’s best engineering practices (principals, techniques, methods and tools). • The UML uses mostly graphical notations to express the OO analysis and design of software projects. • Help acquire an overall view of a system. UML is not dependent on any one language or technology.
  • 6. UML View UML is a multi-diagrammatic language to capture different views of the system. Structural view-The structural view defines the structure of the problem in terms of the kinds of objects (classes) important to the understanding of the working of a system and to its implementation. It also captures the relationships among the classes (objects). The structural model is also called the static model, since the structure of a system does not change with time. Behavioral view-The behavioral view captures how objects interact with each other to realize the system behavior. The system behavior captures the dynamic behavior of the system. Implementation view-This view captures the important components of the system and their dependencies. Environmental view-This view models how the different components are implemented on different pieces of hardware. Users' view- This view defines the functionalities (facilities) made available by the system to its users.
  • 8. UML View, Diagram Structural View -Class Diagram -Object Diagram Behavioral View -Sequence Diagram -Collaboration Diagram -State Chart Diagram -Activity Diagram Implementation Diagram -Component Diagram Environmental View -Deployment Diagram User’s View Use Case Diagram Theusers'viewcanbeconsideredasthecentralviewandallotherviewsareexpectedtoconform tothisview.Thisthinkingisinfacttheheartofanyuser-centricdevelopmentstyle.
  • 9. Use case Diagram represent the different ways in which a system can be used by users. The Use case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case. These diagrams contain the following components: • Actors: An actor or external agent, lies outside the system model, but interacts with it in some way. An actor may be a user, a representative group of users, machine, or an information system. Actors are drawn as stick figures with the name of the actor written bellow of stick figure. Each actor can participate in one or more use cases. • Use Cases: The use case diagram for any system consists of a set of "use cases". Intuitively, use cases represent the different ways in which the users can use a system. A simple way to find all the use cases of a system is to ask the question: "What the users can do using the system?" Thus for the Library Information System (LIS), the use cases could be: issue-book, query-book, return-book etc. Each use case is represented by an ellipse. Use case diagrams
  • 10. Symbols Of Use Case Diagram Actor Symbol: <<actor>> When a stick person icon represents an external system, it is annotated by the stereotype <<external system>> Use Case Symbol: Name of the use case is written inside the ellipse. Use Case Name
  • 11. Relationships in Use Cases  Include: Literally speaking, in an include relationship; a use case includes the functionality described in another use case as a part of its business process flow.  An include relationship is depicted with a directed arrow. The tip of the arrowhead points to the parent use case and the child use case is connected at the base of the arrow. The type "<<includes>>" identifies the relationship as an include relationship. <<include>>  Example: “Rent Item” use case executes by a staff in a store “Pay Fee” and “Check Overdue” also executes. <<include>> <<include>>
  • 12. Relationships in Use Cases  Extend: In an extend relationship between two use cases, the child use case adds to the existing functionality and characteristics of the parent use case. The main idea behind the ‘extends’ relationship among use cases is that it allows to show optional behavior.  An extend relationship is depicted with a directed arrow having a dotted shaft, similar to the include relationship. The tip of the arrowhead points to the parent use case and the child use case is connected at the base of the arrow. <<extend>>  An example of an extend relationship between the "Perform medical tests" (parent) and "Perform Pathological Tests" (child) use cases. The "Perform Pathological Tests" use case enhances the functionality of the "Perform medical tests" use case. <<extend>>
  • 13. A Simple Use Case Diagram On Railway Reservation System
  • 14. Class Diagrams  Class Diagrams describe the static structure of a system, or how it is structured rather than how it behaves.  By definition, a class diagram is a diagram showing a collection of classes and interfaces, along with the relationships among classes and interfaces.  The use cases talk about "what are the requirements" of a system. The aim of designing classes is to convert this "what" to a "how" for each requirement. A class diagram is a pictorial representation of the detailed system design. A thing to remember is that a class diagram is a static view of a system. The structure of a system is represented using class diagrams.
  • 15. Elements of a Class Diagram The classes represent entities with common features, i.e. attributes and operations. Classes are represented as solid outline rectangles with compartments. Classes have a mandatory name compartment. Classes have optional attributes and operations compartments. Attributes-An attribute is a named property of a class. It represents the kind of data that an object might contain. Attributes are listed with their names, and may optionally contain specification of their type – separated by a colon with attribute name, an initial value, and constraints. Operation-The parameters of a function may have a kind specified. The kind may be "in" indicating that the parameter is passed into the operation, or "out" indicating that the parameter is only returned from the operation, or "inout" indicating that the parameter is used for passing data into the operation and getting result from the operation. The default is "in". An operation may have a return type consisting of a single return type expression, for example, issueBook (in bookName):Boolean
  • 16. Elements of a Class Diagram[contd..]  Modifiers are used to indicate visibility of attributes and operations.  ‘+’ is used to denote Public visibility (everyone)  ‘#’ is used to denote Protected visibility (derived)  ‘-’ is used to denote Private visibility (no one)  By default, attributes are hidden and operations are visible  For example:  Here Account is the class name which has three attributes customer_name(type char, visibility private), account_no( type int, visibility private), balance(type int, visibility private) and Account class operates addfunds and withdraw method. Visibility of operations are public. Account -customer_name: char -account_no: int -balance: int +addfunds(in amount) +withdraw(in amount)
  • 17. Relationship between Classes  Association -An Association is a generic relationship between two classes, and is modeled by a solid line connecting the two classes. Associations are needed to enable objects to communicate with each other.  A label, which is optional, although highly recommended, is typically one or two words describe the association. Label is shown alongside association line. A filled triangle indicates the direction in which the label should be read.  works for  An arrow may be attached to the end of the path to indicate that navigation is supported in the direction of the class pointed to. To restrict the navigation one direction only an arrowhead is used to indicate the navigational direction.  In following figure, the association is navigable in only one direction, from BankAccount to Person, but not the reverse. The Person class is frozen and cannot be extended to know about the BankAccount class, but the reverse is not true.
  • 18. Relationship between Classes [contd..]  On each side of the association relation the multiplicity is noted as an individual number or as a value range. The multiplicity indicates how many instances of one class are associated with the other. Value ranges of multiplicity are noted by specifying the minimum and maximum value, separated by two dots. An asterisk is used as a wild card and means many (zero or more).  The association of above figure should be read as "Many books may be borrowed by a Library Member”  0..1 Borrowed by 0..*
  • 19. Relationship between Classes [contd..]  Aggregation -When a class is formed as a collection of other classes, it is called an aggregation relationship between these classes. It is also called a "has a" relationship. (It is a special type of association where the involved classes are not only associated to each other, but a whole- part relationship exists between them.)  Aggregation is represented by the diamond symbol at the composite/aggregate end of a relationship. The number of instances of the component class aggregated can also be shown in diagram. 1..* consist of 1..* 1..* consist of 1..*  A document can be considered as an aggregation of paragraphs. Each paragraph can in turn be considered as aggregation of lines.
  • 20. Relationship between Classes [contd..]  Composition- Composition is a stricter form of aggregation, in which the parts may belong to only one whole and are existence-dependent on the whole. This means that the life of each part is closely tied to the life of the whole. In other words, the lifeline of the whole and the part are identical. When the whole is created, the parts are created and when the whole is destroyed, the parts are destroyed. In composition instance of one object contains instances of some other objects.  A typical example of composition is an invoice object with invoice items. As soon as the invoice object is created, all the invoice items in it are created and as soon as the invoice object is destroyed, all invoice items in it are also destroyed. The composition relationship is represented as a filled diamond drawn at the composite-end.  1 *
  • 21. Relationship between Classes [contd..]  Inheritance/Generalization-Also called an "is a" or “is a kind of “ relationship, because the child class is a type of the parent class. Generalization is the basic type of relationship used to define reusable elements in the class diagram. Literally, the child classes "inherit" the common functionality defined in the parent class. The inheritance relationship is represented by means of an arrow with empty triangular arrow head pointing from the subclass to the super-class.
  • 22. Steps Followed  Draw class symbol in the and name it  List the class attributes and try to understand their visibility  List the class operations/methods and try to understand their visibility  Make the proper links/association and note multiplicity properly  Display relationships (if any) between classes.  Give notations.
  • 23. Example- A Class Diagram to represent the fact that an order consists of one or more order items. Each order item contains the name of the item, its quantity and the date by which it is required. Each order item is described by an item order specification object having details such as its vendor addresses, its unit price, and manufacturer.
  • 24. An Example of Class Diagram
  • 25. Object Diagram  Object diagram is an instance of class diagram. This type of diagram is used to describe the system at a particular point in time. Using this technique, designer can validating the class diagram and its multiplicity rules with real- world data, and record test scenarios. From a notation standpoint, Object diagrams borrow elements from Class diagrams.  Object Diagrams describe the static structure of a system at a particular time. Whereas a class model describes all possible situations, an object model describes a particular situation. Object Diagram has following two elements:  Object- Objects, which represent particular entities. These are instances of classes. Objects are identified by placing the instance name followed by a colon (:) in front of the class name. Property values are written as "name=value" pairs. The icon for an object is a rectangle divided into sections.  Association- Object diagrams can contain associations as well. Associations between Objects are simply diagrammed using a line joining the two.
  • 26. An Example Of Object Diagram
  • 27. Another Example Of Object Diagram
  • 28. Sequence Diagram  The invocation of methods in each object, and the order in which the invocation occurs is captured in a Sequence diagram. This makes the Sequence diagram a very useful tool to easily represent the dynamic behavior of a system.  Sequence Diagrams describe interactions among classes. These interactions are modeled as exchange of messages. These diagrams focus on classes and the messages they exchange to accomplish some desired behavior. Sequence diagrams are a type of interaction diagrams. Sequence diagrams contain the following elements: • Class roles, which represent roles that objects may play within the interaction. • Lifelines, which represent the existence of an object over a period of time. • Activations, which represent the time during which an object is performing an operation. • Messages, which represent communication between objects.
  • 29. Sequence diagram for "Manage course information"