尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
CS216
Architectural Design
Architectural Design in Software Engineering
• Requirements of the software should be transformed into an
architecture that describes the software's top-level structure and
identifies its components. This is accomplished through architectural
design (also called system design), which acts as a preliminary
'blueprint' from which software can be developed
• The architecture of a system describes its major components, their
relationships (structures), and how they interact with each other.
• The architectural design is normally expressed as a block diagram
presenting an overview of the system structure
The architecture of a system describes its major components, their relationships (structures), and how they interact with each other.
Cont’
• IEEE defines architectural design as 'the process of
defining a collection of hardware and software
components and their interfaces to establish the
framework for the development of
a computer system.' This framework is established by
examining the software requirements document and
designing a model for providing implementation
details.
Cont’
• These details are used to specify the components of the
system along with their inputs, outputs, functions, and the
interaction between them. An architectural design performs
the following functions:
Cont’
• 1. It defines an abstraction level at which the designers can specify
the functional and performance behaviour of the system.
• 2. It acts as a guideline for enhancing the system (when ever
required) by describing those features of the system that can be
modified easily without affecting the system integrity.
• 3. It evaluates all top-level designs.
Cont’
• 4. It develops and documents top-level design for the
external and internal interfaces.
• 5. It develops preliminary versions of user documentation.
• 6. It defines and documents preliminary test requirements
and the schedule for software integration.
Cont’
• Architectural design is of crucial importance in software
engineering during which the essential requirements like
reliability, cost, and performance are dealt with.
• This task is cumbersome as the software engineering paradigm
is shifting from monolithic, stand-alone, built-from-scratch
systems to componentized, evolvable, standards-based, and
product line-oriented systems. Also, a key challenge for
designers is to know precisely how to proceed from
requirements to architectural design.
Cont’
• Though the architectural design is the responsibility of
developers, some other people like user representatives,
systems engineers, hardware engineers, and operations
personnel are also involved. All these stakeholders must also
be consulted while reviewing the architectural design in
order to minimize the risks and errors.
Architectural Design Representation
• Architectural design can be represented using the following models.
• Structural model: Illustrates architecture as an ordered collection of
program components
• Dynamic model: Specifies the behavioral aspect of the software
architecture and indicates how the structure or system configuration
changes as the function changes due to change in the external
environment
• Process model: Focuses on the design of the business or technical
process, which must be implemented in the system
Cont’
• Functional model: Represents the functional hierarchy of a system
• Framework model: Attempts to identify repeatable architectural
design patterns encountered in similar types of application. This leads
to an increase in the level of abstraction.
Object-oriented Architecture
• In object-oriented architectural style, components of a
system encapsulate data and operations, which are applied
to manipulate the data. In this style, components are
represented as objects and they interact with each other
through methods (connectors). This architectural style has
two important characteristics, which are listed below.
Cont’
• Objects maintain the integrity of the system.
• An object is not aware of the representation of other objects.
• Some of the advantages associated with the object-oriented
architecture are listed below.
• It allows designers to decompose a problem into a collection of
independent objects.
• The implementation detail of objects is hidden from each other
and hence, they can be changed without affecting other
objects.
UML Class Diagram
• UML (Unified Modeling Language) is a standard language for
specifying, visualizing, constructing, and documenting the artifacts of
software systems. UML was created by the Object Management
Group (OMG) and UML 1.0 specification draft was proposed to the
OMG in January 1997. It was initially started to capture the behavior
of complex software and non-software system and now it has become
an OMG standard. This tutorial gives a complete understanding on
UML
What is Class?
• A Class is a blueprint that is used to create Object. The
Class defines what object can do.
• A class is an entity that determines how an object will behave and
what the object will contain.
• A class is a blueprint that defines the variables and the methods
common to all objects of a certain kind.
What is Class Diagram?
• Class Diagram gives the static view of an application. A class diagram
describes the types of objects in the system and the different types of
relationships that exist among them. This modeling method can run with
almost all Object-Oriented Methods.
• UML Class Diagram gives an overview of a software system by displaying
classes, attributes, operations, and their relationships. This Diagram
includes the class name, attributes, and operation in separate designated
compartments.
Benefits
• Class Diagram Illustrates data models for even very complex information
systems
• It provides an overview of how the application is structured before
studying the actual code. This can easily reduce the maintenance time
• It helps for better understanding of general schematics of an application.
• Allows drawing detailed charts which highlights code required to be
programmed
• Helpful for developers and other stakeholders.
Essential elements of A UML class diagram
• Essential elements of UML class diagram are:
• Class Name
• Attributes
• Operations
Class Name
• The name of the class is only needed in the graphical
representation of the class. It appears in the topmost
compartment. A class is the blueprint of an object which can
share the same relationships, attributes, operations, &
semantics. The class is rendered as a rectangle, including its
name, attributes, and operations in sperate compartments.
Class Notation
• UML class is represented by the following figure. The diagram is
divided into four parts.
• The top section is used to name the class.
• The second one is used to show the attributes of the class.
• The third section is used to describe the operations performed
by the class.
• The fourth section is optional to show any additional
components.
Object Notation
• The object is represented in the same way as the class. The
only difference is the name which is underlined as shown in
the following figure.
• As the object is an actual implementation of a class, which is
known as the instance of a class. Hence, it has the same
usage as the class.
Attributes:
• An attribute is named property of a class which
describes the object being modeled. In the class
diagram, this component is placed just below the
name-compartment.
Cont’
Cont’
• A derived attribute is computed from other attributes. For
example, an age of the student can be easily computed from
his/her birth date.
Cont’
Relationships
• There are mainly three kinds of relationships in UML:
• Dependencies
• Generalizations
• Associations
Dependency
• A dependency means the relation between two or more
classes in which a change in one may force changes in the
other. However, it will always create a weaker relationship.
Dependency indicates that one class depends on another.
• In the following example, Student has a dependency on
College
Cont’
Generalization:
• A generalization helps to connect a subclass to its superclass. A sub-
class is inherited from its superclass. Generalization relationship can't
be used to model interface implementation. Class diagram allows
inheriting from multiple superclasses.
• In this example, the class Student is generalized from Person Class.
Cont’
Association:
• This kind of relationship represents static relationships
between classes A and B. For example; an employee works for
an organization.
• Here are some rules for Association:
• Association is mostly verb or a verb phrase or noun or noun
phrase.
• It should be named to indicate the role played by the class
attached at the end of the association path.
• Mandatory for reflexive associations
Cont;
Multiplicity
• A multiplicity specifies whether the association is mandatory
or not. It has some lower bound and upper bound.
• Let's say that that there are 100 students in one college. The
college can have multiple students.
Cont’
Aggregation
• Aggregation is a special type of association that models
a whole- part relationship between aggregate and its
parts.
• For example, the class college is made up of one or
more student. In aggregation, the contained classes are
never totally dependent on the lifecycle of the
container. Here, the college class will remain even if the
student is not available.
Cont’
Composition:
• The composition is a special type of aggregation which denotes strong
ownership between two classes when one class is a part of another
class.
• For example, if college is composed of classes student. The college
could contain many students, while each student belongs to only one
college. So, if college is not functioning all the students also removed.
Cont’
Aggregation vs. Composition
Aggregation Composition
Aggregation indicates a relationship where the child
can exist separately from their parent class. Example:
Automobile (Parent) and Car (Child). So, If you delete
the Automobile, the child Car still exist.
Composition display relationship where the child will
never exist independent of the parent. Example: House
(parent) and Room (child). Rooms will never separate
into a Ho

More Related Content

Similar to Slideshow on the notes of software engineering

Software Testing and UML Lab
Software Testing and UML LabSoftware Testing and UML Lab
Software Testing and UML Lab
Harsh Kishore Mishra
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
RAJESH S
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
Mahesh Bhalerao
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
Praseela R
 
OOM Unit I - III.pdf
OOM Unit I - III.pdfOOM Unit I - III.pdf
OOM Unit I - III.pdf
ShaikRafikhan1
 
Introduction to Software Design ppt.pptx
Introduction to Software Design  ppt.pptxIntroduction to Software Design  ppt.pptx
Introduction to Software Design ppt.pptx
krthkkholi
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
Sisir Ghosh
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagram
Vedaraj M
 
UML.pdf
UML.pdfUML.pdf
8.Unified Process Modelling.ppt of software engg
8.Unified Process Modelling.ppt  of software engg8.Unified Process Modelling.ppt  of software engg
8.Unified Process Modelling.ppt of software engg
SukhmanSingh91
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
Dinkar Mishra
 
Uml
UmlUml
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
ganesh12july
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
Eliza Wright
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
Amit Singh
 
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
 
System modeling
System modelingSystem modeling
System modeling
Sajan Poudel
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
MeagGhn
 

Similar to Slideshow on the notes of software engineering (20)

Software Testing and UML Lab
Software Testing and UML LabSoftware Testing and UML Lab
Software Testing and UML Lab
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
OOM Unit I - III.pdf
OOM Unit I - III.pdfOOM Unit I - III.pdf
OOM Unit I - III.pdf
 
Introduction to Software Design ppt.pptx
Introduction to Software Design  ppt.pptxIntroduction to Software Design  ppt.pptx
Introduction to Software Design ppt.pptx
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagram
 
UML.pdf
UML.pdfUML.pdf
UML.pdf
 
8.Unified Process Modelling.ppt of software engg
8.Unified Process Modelling.ppt  of software engg8.Unified Process Modelling.ppt  of software engg
8.Unified Process Modelling.ppt of software engg
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
 
Uml
UmlUml
Uml
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
System modeling
System modelingSystem modeling
System modeling
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
 

Recently uploaded

SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
Tsuyoshi Horigome
 
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdfSri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Balvir Singh
 
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
IJCNCJournal
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Tsuyoshi Horigome
 
My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
Geoffrey Wardle. MSc. MSc. Snr.MAIAA
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
paraasingh12 #V08
 
CSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdfCSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdf
Ismail Sultan
 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
DharmaBanothu
 
Online train ticket booking system project.pdf
Online train ticket booking system project.pdfOnline train ticket booking system project.pdf
Online train ticket booking system project.pdf
Kamal Acharya
 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
EMERSON EDUARDO RODRIGUES
 
Cricket management system ptoject report.pdf
Cricket management system ptoject report.pdfCricket management system ptoject report.pdf
Cricket management system ptoject report.pdf
Kamal Acharya
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
felixwold
 
Technological Innovation Management And Entrepreneurship-1.pdf
Technological Innovation Management And Entrepreneurship-1.pdfTechnological Innovation Management And Entrepreneurship-1.pdf
Technological Innovation Management And Entrepreneurship-1.pdf
tanujaharish2
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
gapboxn
 
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 MinutesCall Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
kamka4105
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
SONALI Batra $A12
 
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
nainakaoornoida
 
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdfSELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
Pallavi Sharma
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
GOKULKANNANMMECLECTC
 
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceCuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
yakranividhrini
 

Recently uploaded (20)

SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
 
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdfSri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
 
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
 
My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
 
CSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdfCSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdf
 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
 
Online train ticket booking system project.pdf
Online train ticket booking system project.pdfOnline train ticket booking system project.pdf
Online train ticket booking system project.pdf
 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
 
Cricket management system ptoject report.pdf
Cricket management system ptoject report.pdfCricket management system ptoject report.pdf
Cricket management system ptoject report.pdf
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
 
Technological Innovation Management And Entrepreneurship-1.pdf
Technological Innovation Management And Entrepreneurship-1.pdfTechnological Innovation Management And Entrepreneurship-1.pdf
Technological Innovation Management And Entrepreneurship-1.pdf
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 MinutesCall Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
Call Girls In Tiruppur 👯‍♀️ 7339748667 🔥 Free Home Delivery Within 30 Minutes
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
 
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
 
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdfSELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
 
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceCuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
 

Slideshow on the notes of software engineering

  • 2. Architectural Design in Software Engineering • Requirements of the software should be transformed into an architecture that describes the software's top-level structure and identifies its components. This is accomplished through architectural design (also called system design), which acts as a preliminary 'blueprint' from which software can be developed • The architecture of a system describes its major components, their relationships (structures), and how they interact with each other. • The architectural design is normally expressed as a block diagram presenting an overview of the system structure The architecture of a system describes its major components, their relationships (structures), and how they interact with each other.
  • 3. Cont’ • IEEE defines architectural design as 'the process of defining a collection of hardware and software components and their interfaces to establish the framework for the development of a computer system.' This framework is established by examining the software requirements document and designing a model for providing implementation details.
  • 4. Cont’ • These details are used to specify the components of the system along with their inputs, outputs, functions, and the interaction between them. An architectural design performs the following functions:
  • 5. Cont’ • 1. It defines an abstraction level at which the designers can specify the functional and performance behaviour of the system. • 2. It acts as a guideline for enhancing the system (when ever required) by describing those features of the system that can be modified easily without affecting the system integrity. • 3. It evaluates all top-level designs.
  • 6. Cont’ • 4. It develops and documents top-level design for the external and internal interfaces. • 5. It develops preliminary versions of user documentation. • 6. It defines and documents preliminary test requirements and the schedule for software integration.
  • 7. Cont’ • Architectural design is of crucial importance in software engineering during which the essential requirements like reliability, cost, and performance are dealt with. • This task is cumbersome as the software engineering paradigm is shifting from monolithic, stand-alone, built-from-scratch systems to componentized, evolvable, standards-based, and product line-oriented systems. Also, a key challenge for designers is to know precisely how to proceed from requirements to architectural design.
  • 8. Cont’ • Though the architectural design is the responsibility of developers, some other people like user representatives, systems engineers, hardware engineers, and operations personnel are also involved. All these stakeholders must also be consulted while reviewing the architectural design in order to minimize the risks and errors.
  • 9. Architectural Design Representation • Architectural design can be represented using the following models. • Structural model: Illustrates architecture as an ordered collection of program components • Dynamic model: Specifies the behavioral aspect of the software architecture and indicates how the structure or system configuration changes as the function changes due to change in the external environment • Process model: Focuses on the design of the business or technical process, which must be implemented in the system
  • 10. Cont’ • Functional model: Represents the functional hierarchy of a system • Framework model: Attempts to identify repeatable architectural design patterns encountered in similar types of application. This leads to an increase in the level of abstraction.
  • 11. Object-oriented Architecture • In object-oriented architectural style, components of a system encapsulate data and operations, which are applied to manipulate the data. In this style, components are represented as objects and they interact with each other through methods (connectors). This architectural style has two important characteristics, which are listed below.
  • 12. Cont’ • Objects maintain the integrity of the system. • An object is not aware of the representation of other objects. • Some of the advantages associated with the object-oriented architecture are listed below. • It allows designers to decompose a problem into a collection of independent objects. • The implementation detail of objects is hidden from each other and hence, they can be changed without affecting other objects.
  • 13. UML Class Diagram • UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. It was initially started to capture the behavior of complex software and non-software system and now it has become an OMG standard. This tutorial gives a complete understanding on UML
  • 14. What is Class? • A Class is a blueprint that is used to create Object. The Class defines what object can do. • A class is an entity that determines how an object will behave and what the object will contain. • A class is a blueprint that defines the variables and the methods common to all objects of a certain kind.
  • 15. What is Class Diagram? • Class Diagram gives the static view of an application. A class diagram describes the types of objects in the system and the different types of relationships that exist among them. This modeling method can run with almost all Object-Oriented Methods. • UML Class Diagram gives an overview of a software system by displaying classes, attributes, operations, and their relationships. This Diagram includes the class name, attributes, and operation in separate designated compartments.
  • 16. Benefits • Class Diagram Illustrates data models for even very complex information systems • It provides an overview of how the application is structured before studying the actual code. This can easily reduce the maintenance time • It helps for better understanding of general schematics of an application. • Allows drawing detailed charts which highlights code required to be programmed • Helpful for developers and other stakeholders.
  • 17. Essential elements of A UML class diagram • Essential elements of UML class diagram are: • Class Name • Attributes • Operations
  • 18. Class Name • The name of the class is only needed in the graphical representation of the class. It appears in the topmost compartment. A class is the blueprint of an object which can share the same relationships, attributes, operations, & semantics. The class is rendered as a rectangle, including its name, attributes, and operations in sperate compartments.
  • 19.
  • 20. Class Notation • UML class is represented by the following figure. The diagram is divided into four parts. • The top section is used to name the class. • The second one is used to show the attributes of the class. • The third section is used to describe the operations performed by the class. • The fourth section is optional to show any additional components.
  • 21.
  • 22. Object Notation • The object is represented in the same way as the class. The only difference is the name which is underlined as shown in the following figure. • As the object is an actual implementation of a class, which is known as the instance of a class. Hence, it has the same usage as the class.
  • 23.
  • 24. Attributes: • An attribute is named property of a class which describes the object being modeled. In the class diagram, this component is placed just below the name-compartment.
  • 26. Cont’ • A derived attribute is computed from other attributes. For example, an age of the student can be easily computed from his/her birth date.
  • 28. Relationships • There are mainly three kinds of relationships in UML: • Dependencies • Generalizations • Associations
  • 29. Dependency • A dependency means the relation between two or more classes in which a change in one may force changes in the other. However, it will always create a weaker relationship. Dependency indicates that one class depends on another. • In the following example, Student has a dependency on College
  • 31. Generalization: • A generalization helps to connect a subclass to its superclass. A sub- class is inherited from its superclass. Generalization relationship can't be used to model interface implementation. Class diagram allows inheriting from multiple superclasses. • In this example, the class Student is generalized from Person Class.
  • 33. Association: • This kind of relationship represents static relationships between classes A and B. For example; an employee works for an organization. • Here are some rules for Association: • Association is mostly verb or a verb phrase or noun or noun phrase. • It should be named to indicate the role played by the class attached at the end of the association path. • Mandatory for reflexive associations
  • 34. Cont;
  • 35. Multiplicity • A multiplicity specifies whether the association is mandatory or not. It has some lower bound and upper bound. • Let's say that that there are 100 students in one college. The college can have multiple students.
  • 37. Aggregation • Aggregation is a special type of association that models a whole- part relationship between aggregate and its parts. • For example, the class college is made up of one or more student. In aggregation, the contained classes are never totally dependent on the lifecycle of the container. Here, the college class will remain even if the student is not available.
  • 39. Composition: • The composition is a special type of aggregation which denotes strong ownership between two classes when one class is a part of another class. • For example, if college is composed of classes student. The college could contain many students, while each student belongs to only one college. So, if college is not functioning all the students also removed.
  • 41. Aggregation vs. Composition Aggregation Composition Aggregation indicates a relationship where the child can exist separately from their parent class. Example: Automobile (Parent) and Car (Child). So, If you delete the Automobile, the child Car still exist. Composition display relationship where the child will never exist independent of the parent. Example: House (parent) and Room (child). Rooms will never separate into a Ho
  翻译: