SlideShare a Scribd company logo
1 of 41
ITS 66404
Principles of Software
Engineering
Nur Haifa
Chapter 6- Software
Design and
Construction
Sequence Diagram
Agenda
✧ Software Development phases
✧ Software Lifecycle activities
✧ Software Design
✧ Software Construction
✧ Sequence Diagram
Chapter 1 – Intro to Software Engineering 2
3
Software Development Phases
Requirements
What needs to be done
Analysis
How it should be done
Design
Create a software structure
(architecture) around which
code will be built
Construction
Fill in the software
structure with code
Testing
Check that the code does what
it is supposed to (functionality,
performance, reliability, …)
Project Management
Devise a plan, manage
resources, costs, time, …
4
Software Phases Related to
this Course
Design
Create a software structure
(architecture) around which
code will be built
Construstion
Fill in the software
structure with code
5
Design
Create a software structure
(architecture) around which code will be
built
Introduction to Software Design 6
Software Life Cycle Activities
Defined
7
Software Life Cycle Activities
(more)
✧Requirements Specification
▪ System analyst works with users to clarify the detailed system
requirements
▪ Questions include format of input data, desired form of any
output screens, and data validation
✧Analysis
▪ Make sure you completely understand the problem before
starting the design or program a solution
▪ Evaluate different approaches to the design
Chapter 1: Introduction to Software Design 8
Software Life Cycle Activities
(continued) ✧Design Modelling
▪ Top-down: break system into smaller subsystems
▪ Object-oriented: identify objects and their interactions
▪ UML diagrams: tool to show interactions between:
• Use case diagram
• Class diagram
• Object diagram
• Sequence diagram
• Activity diagram
• State diagram
Chapter 1: Introduction to Software Design 9
Example of Top-Down: Stepwise
Refinement
10
Construstion
Fill in the software structure
with code
Software Construction 11
Construction
Definition of Software Construction:
Detailed creation of working, meaningful software through a
combination of coding, verification, unit testing, integration
testing, and debugging
Software construction closely tied to
▪ Software design
▪ Software testing
Design
Construction
Testing
5/9/2021
Software Construction 12
More on Construction
✧ Significant detailed design occurs during construction
✧ Low-level (e.g. unit and module integration) testing occurs during
construction
✧ Construction produces high volume of configuration items
▪ Thus construction linked to configuration management
✧ Construction is tool intensive
✧ Quality (or lack thereof) is very evident in the construction products
✧ Construction highly related to Computer Science due to
▪ Use of algorithms
▪ Detailed coding practices
5/9/2021
Software Construction 13
The fundamentals of software construction include:
▪ Minimizing complexity
▪ Anticipating change
▪ Constructing for verification
▪ Standards in construction
The following slides discuss each of these
fundamentals
5/9/2021
Software Construction
Fundamentals
Software Construction 14
Minimizing Complexity
✧ Humans are severely limited in our ability to hold complex
information in our working memories
✧ As a result, minimizing complexity is one the of strongest drivers in
software construction
✧ Need to reduce complexity throughout the lifecycle
✧ As functionality increases, so does complexity
✧ Accomplished through use of standards
✧ Examples:
▪ J2EE for complex, distributed Java applications
▪ UML for modeling all aspects of complex systems
▪ High-order programming languages such as C++ and Java
▪ Source code formatting rules to aid readability
5/9/2021
Software Construction 15
Anticipating Change
✧ Software changes over time
✧ Anticipation / hope of change affect how software is
constructed
✧ This can effect
▪ Use of control structures
▪ Handling of errors
▪ Source code organization
▪ Code documentation
▪ Coding standards
5/9/2021
Software Construction 16
Constructing for Verification
Construct software that allows bugs to be easily found
and fixed
Examples:
✧ Enforce coding standards
▪ Helps support code reviews
✧ Unit testing
✧ Organizing code to support automated testing
✧ Restricted use of complex or hard-to-understand
language structures
5/9/2021
Software Construction 17
Standards in Construction
Standards which directly affect construction issues include:
✧ Programming languages
▪ E.g. standards for languages like Java and C++
✧ Communication methods
▪ E.g. standards for document formats and contents
✧ Platforms
▪ E.g. programmer interface standards for operating system calls, J2EE
✧ Tools
▪ E.g. diagrammatic standards for notations like the Unified
Modeling Language
5/9/2021
✧ Sequence Diagram
5/9/2021 18
Sequence diagrams
✧ Sequence diagrams are part of the UML and are
used to model the interactions between the actors
and the objects within a system.
✧ A sequence diagram shows the sequence of
interactions that take place during a particular use
case or use case instance.
✧ The objects and actors involved are listed along the
top of the diagram, with a dotted line drawn vertically
from these.
✧ Interactions between objects are indicated by
annotated arrows. 19
5/9/2021
Creating interaction diagrams
You should develop a class diagram and a use case
model before starting to create an interaction diagram.
▪ There are two kinds of interaction diagrams:
• Sequence diagrams
• Communication diagrams
Objects Interact with Messages
✧ A message shows how one object asks another
object to perform some activity.
: Car buyer
:RegistrationController :CourseCatalogSystem
getCourseOfferings(forSemester)
Message
What Is a Sequence Diagram?
✧ A sequence diagram is an interaction diagram that
emphasizes the time ordering of messages.
✧ The diagram shows:
▪ The objects participating in the interaction.
▪ The sequence of messages exchanged.
Sequence Diagram
Sequence Diagram Contents:
Objects
:RegisterForCoursesForm :RegistrationController
SWTSU Catalog :
CourseCatalogSystem
Anonymous Objects
Lifelines
Named Object
:RegisterForCours
esForm
:RegistrationCo
ntroller
SWTSU Catalog :
CourseCatalogS
ystem
: Student
Sequence Diagram Contents: Actor
Actor instances
:Course Catalog
Sequence Diagram Contents:
Messages
Reflexive
Messages
1: create schedule( )
2: get course offerings( )
3: get course offerings(for Semester)
4: get course offerings( )
: Student : Course Catalog
6: display blank schedule( )
5: display course offerings( )
Message
:RegisterForCours
esForm
:RegistrationCo
ntroller
SWTSU Catalog :
CourseCatalogS
ystem
1: create schedule( )
2: get course offerings( )
3: get course offerings(for Semester)
4: get course offerings( )
6: display blank schedule( )
:RegisterForCoursesForm
:RegistrationController
SWTSU Catalog :
CourseCatalogSystem
: Student : Course Catalog
Sequence Diagram Contents:
Execution Occurrence
Execution
Occurrence
5: display course offerings( )
1: create schedule( )
2: get course offerings( )
3: get course offerings(for Semester)
4: get course offerings( )
6: display blank schedule( )
Sequence Diagram Contents: Event
Occurrence
Event Occurrence
5: display course offerings( )
:RegisterForCours
esForm
:RegistrationCo
ntroller
SWTSU Catalog :
CourseCatalogS
ystem
: Student :Course Catalog
Scenario
Scenarios are used to describe how use cases are realized as
interactions among societies of objects. A scenario is an
instance of a use case; it is one path through the flow of
events for use case. Scenarios are developed to help identify
the objects, the classes, and the objects interactions needed to
carry out a piece of functionality specified by the use case.
objectName
objectName : ClassName
: ClassName
Object name
Object name and class
Class name
3 Naming Conventions for Objects
objectName
Representing an object in an sequence diagram
Messages
Message that go from one object to another goes from
one object timeline to the other object’s timeline.
An object can send s message to itself – that is, from its
timeline back to its own timeline –
A message can be return, synchronous, or asynchronous
A synchronous message is when an object sends a message,
and waits for an answer to that message before it proceeds
with its business
Synchronous
An asynchronous message is when an object sends a
message, and does not wait for an answer before it proceeds
Asynchronous
Return
Not a message but a return from the earlier message
Notations
Time
The sequence diagram represents time in the vertical
direction. Time starts at the top and progresses toward the
bottom. A message that’s closer to the top occurs earlier in
time than a message that’s closer to the bottom.
The sequence diagram is two-dimensional. The left-to-
right dimension is the layout of the objects, and the top-to-
bottom dimension that shows the passage of time
objectName1 objectName2
aMember: LibraryMember
: LibraryMember theCopy: Copy
0. borrow(theCopy)
1. okToBorrow
(< LoanLimit)
2. borrow()
3. updateAvaCopies()
4. borrowed
5. updateLoanItem()
6. confirm
A Simple Sequence Diagram
of Library System
Sequence Diagram
- A phone system
p: PhoneSystem
s : Caller r : Caller
1: pick up hand set
3: beeps and sound
4: dial number
5: create connection
7b: connect(r)
6: pick up hand set
7a: connect(s)
2: insert coins
8: return coins
CDS student
: Student : YearTutor
Mr. TutorOfCDS
choose modules
confirm choice
email
Register for modules
inform student
(accept / reject)
Course management
Sequence diagram for View
patient information
38
5/9/2021
Sequenc
e
diagram
for
39
5/9/2021
Summary
1. There are 3 types of messages: _________,
___________ and _________
2. Sequence diagram shows interaction between _________.
3. A sequence diagram must always be initiated by an
_____________.
4. Objects in the sequence diagram should be ideally
sequenced in the order of ________, _______ and ______.
5. An object can be represented in 3 ways: ________,
________ and ____________.
6. A sequence diagram has TWO (2) dimension. The
horizontal dimension represents ________ and the vertical
dimension represents ____________.
THE END
Question?

More Related Content

Similar to SE - Lecture 6 - Software Design n Construction.pptx

Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314Owen Muzi
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a surveyNakul Sharma
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qaAruna M
 
Spm project planning
Spm project planning Spm project planning
Spm project planning Kanchana Devi
 
Kelis king - introduction to software design
Kelis king -  introduction to software designKelis king -  introduction to software design
Kelis king - introduction to software designKelisKing
 
System developement methods
System developement methodsSystem developement methods
System developement methodssachinsreekumar
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxganeshkarthy
 
Asp.net Lab manual
Asp.net Lab manualAsp.net Lab manual
Asp.net Lab manualTamil Dhasan
 
System verilog important
System verilog importantSystem verilog important
System verilog importantelumalai7
 
chapter12 - Software engineering.pdf
chapter12 - Software engineering.pdfchapter12 - Software engineering.pdf
chapter12 - Software engineering.pdfsatonaka3
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsICSM 2010
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)dipenpatelpatel
 
Entre3
Entre3Entre3
Entre3Apex
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Atish_Gaikwad_Dot_Net_9_4_Years_Exp
Atish_Gaikwad_Dot_Net_9_4_Years_ExpAtish_Gaikwad_Dot_Net_9_4_Years_Exp
Atish_Gaikwad_Dot_Net_9_4_Years_ExpAtish Gaikwad
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 

Similar to SE - Lecture 6 - Software Design n Construction.pptx (20)

Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qa
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Kelis king - introduction to software design
Kelis king -  introduction to software designKelis king -  introduction to software design
Kelis king - introduction to software design
 
System developement methods
System developement methodsSystem developement methods
System developement methods
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docxUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
 
Asp.net Lab manual
Asp.net Lab manualAsp.net Lab manual
Asp.net Lab manual
 
System verilog important
System verilog importantSystem verilog important
System verilog important
 
Unit1
Unit1Unit1
Unit1
 
01_IT4557.pptx
01_IT4557.pptx01_IT4557.pptx
01_IT4557.pptx
 
chapter12 - Software engineering.pdf
chapter12 - Software engineering.pdfchapter12 - Software engineering.pdf
chapter12 - Software engineering.pdf
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature Implementations
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Entre3
Entre3Entre3
Entre3
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Atish_Gaikwad_Dot_Net_9_4_Years_Exp
Atish_Gaikwad_Dot_Net_9_4_Years_ExpAtish_Gaikwad_Dot_Net_9_4_Years_Exp
Atish_Gaikwad_Dot_Net_9_4_Years_Exp
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 

More from TangZhiSiang

SE - Lecture 13 - Software Evolution and Tech Trends.pptx
SE - Lecture 13 - Software Evolution and Tech Trends.pptxSE - Lecture 13 - Software Evolution and Tech Trends.pptx
SE - Lecture 13 - Software Evolution and Tech Trends.pptxTangZhiSiang
 
SE - Lecture 12 - Software Project Management (1).pptx
SE - Lecture 12 - Software Project Management (1).pptxSE - Lecture 12 - Software Project Management (1).pptx
SE - Lecture 12 - Software Project Management (1).pptxTangZhiSiang
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxTangZhiSiang
 
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptxSE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptxTangZhiSiang
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptxTangZhiSiang
 
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptxSE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptxTangZhiSiang
 
SE - Lecture 5 - Requirements Engineering.pptx
SE - Lecture 5 - Requirements Engineering.pptxSE - Lecture 5 - Requirements Engineering.pptx
SE - Lecture 5 - Requirements Engineering.pptxTangZhiSiang
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxTangZhiSiang
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxTangZhiSiang
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxTangZhiSiang
 
SE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxSE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxTangZhiSiang
 
SE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxSE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxTangZhiSiang
 

More from TangZhiSiang (12)

SE - Lecture 13 - Software Evolution and Tech Trends.pptx
SE - Lecture 13 - Software Evolution and Tech Trends.pptxSE - Lecture 13 - Software Evolution and Tech Trends.pptx
SE - Lecture 13 - Software Evolution and Tech Trends.pptx
 
SE - Lecture 12 - Software Project Management (1).pptx
SE - Lecture 12 - Software Project Management (1).pptxSE - Lecture 12 - Software Project Management (1).pptx
SE - Lecture 12 - Software Project Management (1).pptx
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
 
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptxSE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptx
 
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptxSE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
 
SE - Lecture 5 - Requirements Engineering.pptx
SE - Lecture 5 - Requirements Engineering.pptxSE - Lecture 5 - Requirements Engineering.pptx
SE - Lecture 5 - Requirements Engineering.pptx
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptx
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptx
 
SE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptxSE - Lecture 2 - SW Devl Process.pptx
SE - Lecture 2 - SW Devl Process.pptx
 
SE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxSE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptx
 

Recently uploaded

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 

Recently uploaded (20)

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

SE - Lecture 6 - Software Design n Construction.pptx

  • 1. ITS 66404 Principles of Software Engineering Nur Haifa Chapter 6- Software Design and Construction Sequence Diagram
  • 2. Agenda ✧ Software Development phases ✧ Software Lifecycle activities ✧ Software Design ✧ Software Construction ✧ Sequence Diagram Chapter 1 – Intro to Software Engineering 2
  • 3. 3 Software Development Phases Requirements What needs to be done Analysis How it should be done Design Create a software structure (architecture) around which code will be built Construction Fill in the software structure with code Testing Check that the code does what it is supposed to (functionality, performance, reliability, …) Project Management Devise a plan, manage resources, costs, time, …
  • 4. 4 Software Phases Related to this Course Design Create a software structure (architecture) around which code will be built Construstion Fill in the software structure with code
  • 5. 5 Design Create a software structure (architecture) around which code will be built
  • 6. Introduction to Software Design 6 Software Life Cycle Activities Defined
  • 7. 7 Software Life Cycle Activities (more) ✧Requirements Specification ▪ System analyst works with users to clarify the detailed system requirements ▪ Questions include format of input data, desired form of any output screens, and data validation ✧Analysis ▪ Make sure you completely understand the problem before starting the design or program a solution ▪ Evaluate different approaches to the design
  • 8. Chapter 1: Introduction to Software Design 8 Software Life Cycle Activities (continued) ✧Design Modelling ▪ Top-down: break system into smaller subsystems ▪ Object-oriented: identify objects and their interactions ▪ UML diagrams: tool to show interactions between: • Use case diagram • Class diagram • Object diagram • Sequence diagram • Activity diagram • State diagram
  • 9. Chapter 1: Introduction to Software Design 9 Example of Top-Down: Stepwise Refinement
  • 10. 10 Construstion Fill in the software structure with code
  • 11. Software Construction 11 Construction Definition of Software Construction: Detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging Software construction closely tied to ▪ Software design ▪ Software testing Design Construction Testing 5/9/2021
  • 12. Software Construction 12 More on Construction ✧ Significant detailed design occurs during construction ✧ Low-level (e.g. unit and module integration) testing occurs during construction ✧ Construction produces high volume of configuration items ▪ Thus construction linked to configuration management ✧ Construction is tool intensive ✧ Quality (or lack thereof) is very evident in the construction products ✧ Construction highly related to Computer Science due to ▪ Use of algorithms ▪ Detailed coding practices 5/9/2021
  • 13. Software Construction 13 The fundamentals of software construction include: ▪ Minimizing complexity ▪ Anticipating change ▪ Constructing for verification ▪ Standards in construction The following slides discuss each of these fundamentals 5/9/2021 Software Construction Fundamentals
  • 14. Software Construction 14 Minimizing Complexity ✧ Humans are severely limited in our ability to hold complex information in our working memories ✧ As a result, minimizing complexity is one the of strongest drivers in software construction ✧ Need to reduce complexity throughout the lifecycle ✧ As functionality increases, so does complexity ✧ Accomplished through use of standards ✧ Examples: ▪ J2EE for complex, distributed Java applications ▪ UML for modeling all aspects of complex systems ▪ High-order programming languages such as C++ and Java ▪ Source code formatting rules to aid readability 5/9/2021
  • 15. Software Construction 15 Anticipating Change ✧ Software changes over time ✧ Anticipation / hope of change affect how software is constructed ✧ This can effect ▪ Use of control structures ▪ Handling of errors ▪ Source code organization ▪ Code documentation ▪ Coding standards 5/9/2021
  • 16. Software Construction 16 Constructing for Verification Construct software that allows bugs to be easily found and fixed Examples: ✧ Enforce coding standards ▪ Helps support code reviews ✧ Unit testing ✧ Organizing code to support automated testing ✧ Restricted use of complex or hard-to-understand language structures 5/9/2021
  • 17. Software Construction 17 Standards in Construction Standards which directly affect construction issues include: ✧ Programming languages ▪ E.g. standards for languages like Java and C++ ✧ Communication methods ▪ E.g. standards for document formats and contents ✧ Platforms ▪ E.g. programmer interface standards for operating system calls, J2EE ✧ Tools ▪ E.g. diagrammatic standards for notations like the Unified Modeling Language 5/9/2021
  • 19. Sequence diagrams ✧ Sequence diagrams are part of the UML and are used to model the interactions between the actors and the objects within a system. ✧ A sequence diagram shows the sequence of interactions that take place during a particular use case or use case instance. ✧ The objects and actors involved are listed along the top of the diagram, with a dotted line drawn vertically from these. ✧ Interactions between objects are indicated by annotated arrows. 19 5/9/2021
  • 20. Creating interaction diagrams You should develop a class diagram and a use case model before starting to create an interaction diagram. ▪ There are two kinds of interaction diagrams: • Sequence diagrams • Communication diagrams
  • 21. Objects Interact with Messages ✧ A message shows how one object asks another object to perform some activity. : Car buyer :RegistrationController :CourseCatalogSystem getCourseOfferings(forSemester) Message
  • 22. What Is a Sequence Diagram? ✧ A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. ✧ The diagram shows: ▪ The objects participating in the interaction. ▪ The sequence of messages exchanged. Sequence Diagram
  • 23. Sequence Diagram Contents: Objects :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem Anonymous Objects Lifelines Named Object
  • 24. :RegisterForCours esForm :RegistrationCo ntroller SWTSU Catalog : CourseCatalogS ystem : Student Sequence Diagram Contents: Actor Actor instances :Course Catalog
  • 25. Sequence Diagram Contents: Messages Reflexive Messages 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) : Student : Course Catalog 6: display blank schedule( ) 5: display course offerings( ) Message :RegisterForCours esForm :RegistrationCo ntroller SWTSU Catalog : CourseCatalogS ystem
  • 26. 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) 6: display blank schedule( ) :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog Sequence Diagram Contents: Execution Occurrence Execution Occurrence 5: display course offerings( )
  • 27. 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) 6: display blank schedule( ) Sequence Diagram Contents: Event Occurrence Event Occurrence 5: display course offerings( ) :RegisterForCours esForm :RegistrationCo ntroller SWTSU Catalog : CourseCatalogS ystem : Student :Course Catalog
  • 28. Scenario Scenarios are used to describe how use cases are realized as interactions among societies of objects. A scenario is an instance of a use case; it is one path through the flow of events for use case. Scenarios are developed to help identify the objects, the classes, and the objects interactions needed to carry out a piece of functionality specified by the use case.
  • 29. objectName objectName : ClassName : ClassName Object name Object name and class Class name 3 Naming Conventions for Objects
  • 30. objectName Representing an object in an sequence diagram
  • 31. Messages Message that go from one object to another goes from one object timeline to the other object’s timeline. An object can send s message to itself – that is, from its timeline back to its own timeline – A message can be return, synchronous, or asynchronous
  • 32. A synchronous message is when an object sends a message, and waits for an answer to that message before it proceeds with its business Synchronous An asynchronous message is when an object sends a message, and does not wait for an answer before it proceeds Asynchronous Return Not a message but a return from the earlier message Notations
  • 33. Time The sequence diagram represents time in the vertical direction. Time starts at the top and progresses toward the bottom. A message that’s closer to the top occurs earlier in time than a message that’s closer to the bottom. The sequence diagram is two-dimensional. The left-to- right dimension is the layout of the objects, and the top-to- bottom dimension that shows the passage of time
  • 35. aMember: LibraryMember : LibraryMember theCopy: Copy 0. borrow(theCopy) 1. okToBorrow (< LoanLimit) 2. borrow() 3. updateAvaCopies() 4. borrowed 5. updateLoanItem() 6. confirm A Simple Sequence Diagram of Library System
  • 36. Sequence Diagram - A phone system p: PhoneSystem s : Caller r : Caller 1: pick up hand set 3: beeps and sound 4: dial number 5: create connection 7b: connect(r) 6: pick up hand set 7a: connect(s) 2: insert coins 8: return coins
  • 37. CDS student : Student : YearTutor Mr. TutorOfCDS choose modules confirm choice email Register for modules inform student (accept / reject) Course management
  • 38. Sequence diagram for View patient information 38 5/9/2021
  • 40. Summary 1. There are 3 types of messages: _________, ___________ and _________ 2. Sequence diagram shows interaction between _________. 3. A sequence diagram must always be initiated by an _____________. 4. Objects in the sequence diagram should be ideally sequenced in the order of ________, _______ and ______. 5. An object can be represented in 3 ways: ________, ________ and ____________. 6. A sequence diagram has TWO (2) dimension. The horizontal dimension represents ________ and the vertical dimension represents ____________.