SlideShare a Scribd company logo
Chapter 7:
Design: Architecture and Methodology
1
Design Topics Covered
Architectural vs. detailed design
“Common” architectural styles, tactics, and reference
architectures
Basic techniques for detailed design
Basic issues with user-interface design
2
Design
Starts mostly from/with requirements (evolving mostly from
functionalities and other non-functional characteristics).
How is the software solution going to be structured?
What are the main components—(functional comp)?
Often directly from requirements’ functionalities
(use cases).
How are these components related?
Possibly re-organize the components
(composition/decomposition).
Two main levels of design:
Architectural (high level)
Detailed design
How should we depict design—notation/language?
3
Relationship between Architecture and Design
Detailed Design
Comes from
Requirements &
Architecture
4
Software Architecture
Structure(s) of the solution, comprising:
Major software elements
Their externally visible properties
Relationships among elements
Every software system has an architecture.
May have multiple structures!
Multiple ways of organizing elements, depending on the
perspective
External properties of components (and modules)
Component (module) interfaces
Component (module) interactions, rather than internals of
components and modules
5
Views and Viewpoints
View – representation of a system structure
4+1 views (by Krutchen)
Logical (OO decomposition – key abstractions)
Process (run-time, concurrency/distribution of functions)
Subsystem decomposition
Physical architecture
+1: use cases
Other classification (Bass, Clements, Kazman)
Module
Run-time
Allocation (mapping to development environment)
Different views for different people
6
Architectural Styles/Patterns
Pipes and filters
Event driven
Client-server
Model-view-controller (MVC)
Layered
Database centric
Three tier
We discuss architectural styles/patterns as
“reusable” starting point for design activities.
7
Pipe-Filter Architecture Style
The high-level design solution is decomposed into two
“generic” parts (filters and pipes):
Filter is a service that transforms a stream of input data into a
stream of output data.
Pipe is a mechanism or conduit through which the data flows
from one filter to another.
Input
time cards
Prepare for
check processing
Process checks
Problems that require batch file processing seem to fit this
architecture: e.g., payroll, compilers, month-end accounting.
** Reminds one of DFD without the data store or source sink.**
8
Event Driven (Real Time)
The high-level design solution is based on an event dispatcher,
which manages events and the functionalities that depend on
those events. These have the following characteristics:
Events may be a simple notification or may include associated
data.
Events may be prioritized or be based on constraints such as
time.
Events may require synchronous or asynchronous processing.
Events may be “registered” or “unregistered” by components.
Personal (device)
dispatcher
voice
call
text
msg
Image
keypad
Phone
processing
Text
processing
Image
processing
Problems that fit this architecture include real-time systems
such as: airplane control,
medical equipment monitor, home monitor, embedded device
controller, game, etc.
- - - Try a commercial flight control system - - -
9
Basic Client-Server Style
Application split into client component and server component.
10
Client-Server Style
Client may connect to more than one server (servers are usually
independent).
11
Separates model (data) from view.
Controller often integrated with view nowadays.
Model-View-Control (MVC) Style
Most internet web applications fall under this style.
12
The “outer” layer can only ask for service from the “inner”
layer;
the “upper” layer can only ask for service from the “lower”
layer.
− Strict layering: only directly inside or below layers
− Relaxed layering: any inside or below layers
Layered Style
13
Shared Data (DB)-Centric Style
Very popular within the business applications community
14
Three-Tier Style (Mixture)
Clients do not access DB directly.
Better flexibility, integrity. (Why?)
Reminds one of client server or MVC.
15
Architectural Tactics
Tactics (in contrast to architectural style) are for solving
“smaller, specific” problems.
Do not affect overall structure of system.
Example: we add specific functionalities or component (e.g., to
increase reliability) in the design for fault detection—especially
for distributed systems:
Heartbeat
Ping/echo
16
Reference Architectures
Full-fledged architectures.
Serve as “templates” or as “a reference” for a class of systems.
Example: J2EE reference architecture (MVC2).
There also are “application domain−specific” reference
architectures.
17
Detailed Design
Further refine architecture and match with requirements.
How detailed?
How formal?
Maybe of different levels of detail for different views.
18
Functional Decomposition Technique
Dates back to “structured programming”
[now (non-OO) Web apps with PHP tool].
Start with: main (task/requirements) --> module.
Refine into sub-modules.
There are alternative decompositions.
19
Possible Decomposition of
(Student-Course Management App)
20
“Alternative” Decomposition/Composition
21
Relational Database Design
Most databases use relational technology.
Relations (tables):
Two-dimensional sets
Rows (tuples), columns (attributes)
A row may be an entity; columns may be relationships or
attributes.
Primary key (unique identifier) – for search
Foreign keys (connects tables)
22
Database Design
Conceptual modeling (done during analysis/requirement phase)
produces ER diagram.
Logical design (to relational).
Physical design (decide data types, etc.).
Deployment/maintenance:
Low-level physical (which hard drive, etc.)
Adjustment of indexes
23
Entity-Relationship Diagrams
Entities (rectangles)
Weak: double lines
Relationships (diamonds)
Attributes (ovals)
Multi-valued: double lines
Identifying: underlined
24
ER Diagram Example
25
Logical DB Design – Entities
Table per entity.
Flatten composite attributes.
For weak entities, add the primary key of the strong entity.
26
Logical DB Design – Multi-Valued
New table needed for multi-valued attributes.
27
Logical DB Design – Relationships
If one side related to just one entity, add foreign key to that
side.
For many to many, need new table.
For ternary, need new table.
28
Physical DB Design
Data types for each attribute.
Check which ones your DBMS support.
Encoding.
Decide on indexes.
Searches are faster, updates are slower.
Indexes consume space.
Can always adjust during deployment.
Denormalization done sometimes (avoid).
29
OO Design
First step: review and refine use cases.
Decide:
Which classes to create
How are the classes related
Use UML as the design language.
30
Use Case Diagram
31
Class Design
Classes represent real-world entities or system concepts.
Organized into classes: objects in a class have similar
characteristics.
Classes have properties (attributes or data).
Classes also have methods (perform functions).
32
UML Class Diagrams
Association
Composition
Use “no-fill” diamond for aggregation.
33
UML Class Diagrams – Inheritance
34
UML State Diagram
depicting a student’s “status” in school
35
UML “Sequence Diagram”
used to depict a flow of interactions
36
User Interface Design
Most apparent to the user
Two main issues:
Flow of interactions
ii) Look and feel
Types of interfaces
Command-line
Text menus
Graphical (GUI)
37
Flow of Interactions
Prototype screens
Registration:
Select term.
Registration: shows term.
Select first course.
Registration: shows term, course(s) with schedule and cost.
Select *Additional course; *Delete course; *Finish registration.
Registration: shows final schedule.
Select Confirm or Cancel.
38
High Fidelity Prototype
39
User: Screens: Process:
User Interaction Added to the Sequence Diagram
41
Norman’s 7 Stage Model
42
The GOMS Model
(an “advanced” topic for UI)
Consider different kinds of users.
Four factors (for the kind of user)
Goals of the user
Operations provided by the system
Methods or the sequence of operations
Selection rules for the methods
43
Other UI Issues
Kinds of users
Heuristics
UI guidelines
Multicultural issues
Metaphors
Multiplatform software
Accessibility
Multimedia interfaces
44
HTML Script Simple Example
45
Model-View-Controller (MVC) Software Project
Model
SQL database
View HTML
Controller PHP
46
Object-Relational Impedance Mismatch
(an “advanced” topic)
How do we handle mismatches between object-oriented
concepts and relational DB such as:
Typing
Private and public
Inheritance and polymorphism
Nested structure versus table structure
47
Chapter 7 Design Architecture and Methodology1.docx

More Related Content

Similar to Chapter 7 Design Architecture and Methodology1.docx

software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
Satyanandaram Nandigam
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
Ahmad sohail Kakar
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
Purvik Rana
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
chitranshidheeraj6
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap762
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .ppt
guruswamyd785
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Bule Hora University
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
Sudarsun Santhiappan
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
Megan Espinoza
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
rabiyathulbachiriyar
 
Unit 3
Unit 3Unit 3

Similar to Chapter 7 Design Architecture and Methodology1.docx (20)

software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .ppt
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Unit 3
Unit 3Unit 3
Unit 3
 

More from mccormicknadine86

Option #2Researching a Leader Complete preliminary rese.docx
Option #2Researching a Leader Complete preliminary rese.docxOption #2Researching a Leader Complete preliminary rese.docx
Option #2Researching a Leader Complete preliminary rese.docx
mccormicknadine86
 
Option 1 ImperialismThe exploitation of  colonial resources.docx
Option 1 ImperialismThe exploitation of  colonial resources.docxOption 1 ImperialismThe exploitation of  colonial resources.docx
Option 1 ImperialismThe exploitation of  colonial resources.docx
mccormicknadine86
 
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docxOption Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
mccormicknadine86
 
Option A Land SharkWhen is a shark just a shark Consider the.docx
Option A Land SharkWhen is a shark just a shark Consider the.docxOption A Land SharkWhen is a shark just a shark Consider the.docx
Option A Land SharkWhen is a shark just a shark Consider the.docx
mccormicknadine86
 
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docx
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docxOption 3 Discuss your thoughts on drugs and deviance. Do you think .docx
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docx
mccormicknadine86
 
OPTION 2 Can we make the changes we need to make After the pandemi.docx
OPTION 2 Can we make the changes we need to make After the pandemi.docxOPTION 2 Can we make the changes we need to make After the pandemi.docx
OPTION 2 Can we make the changes we need to make After the pandemi.docx
mccormicknadine86
 
Option 1 You will create a PowerPoint (or equivalent) of your p.docx
Option 1 You will create a PowerPoint (or equivalent) of your p.docxOption 1 You will create a PowerPoint (or equivalent) of your p.docx
Option 1 You will create a PowerPoint (or equivalent) of your p.docx
mccormicknadine86
 
Option A Description of Dance StylesSelect two styles of danc.docx
Option A Description of Dance StylesSelect two styles of danc.docxOption A Description of Dance StylesSelect two styles of danc.docx
Option A Description of Dance StylesSelect two styles of danc.docx
mccormicknadine86
 
Option #2Provide several slides that explain the key section.docx
Option #2Provide several slides that explain the key section.docxOption #2Provide several slides that explain the key section.docx
Option #2Provide several slides that explain the key section.docx
mccormicknadine86
 
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docxOption 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
mccormicknadine86
 
Option 2 ArtSelect any 2 of works of art about the Holocaus.docx
Option 2 ArtSelect any 2 of works of art about the Holocaus.docxOption 2 ArtSelect any 2 of works of art about the Holocaus.docx
Option 2 ArtSelect any 2 of works of art about the Holocaus.docx
mccormicknadine86
 
Option #1 Stanford University Prison Experiment Causality, C.docx
Option #1 Stanford University Prison Experiment Causality, C.docxOption #1 Stanford University Prison Experiment Causality, C.docx
Option #1 Stanford University Prison Experiment Causality, C.docx
mccormicknadine86
 
Option A  Gender CrimesCriminal acts occur against individu.docx
Option A  Gender CrimesCriminal acts occur against individu.docxOption A  Gender CrimesCriminal acts occur against individu.docx
Option A  Gender CrimesCriminal acts occur against individu.docx
mccormicknadine86
 
opic 4 Discussion Question 1 May students express religious bel.docx
opic 4 Discussion Question 1 May students express religious bel.docxopic 4 Discussion Question 1 May students express religious bel.docx
opic 4 Discussion Question 1 May students express religious bel.docx
mccormicknadine86
 
Option 1Choose a philosopher who interests you. Research that p.docx
Option 1Choose a philosopher who interests you. Research that p.docxOption 1Choose a philosopher who interests you. Research that p.docx
Option 1Choose a philosopher who interests you. Research that p.docx
mccormicknadine86
 
Option #1The Stanford University Prison Experiment Structu.docx
Option #1The Stanford University Prison Experiment Structu.docxOption #1The Stanford University Prison Experiment Structu.docx
Option #1The Stanford University Prison Experiment Structu.docx
mccormicknadine86
 
Operationaland Organizational SecurityChapter 3Princ.docx
Operationaland Organizational SecurityChapter 3Princ.docxOperationaland Organizational SecurityChapter 3Princ.docx
Operationaland Organizational SecurityChapter 3Princ.docx
mccormicknadine86
 
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docxOpen the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
mccormicknadine86
 
onsider whether you think means-tested programs, such as the Tem.docx
onsider whether you think means-tested programs, such as the Tem.docxonsider whether you think means-tested programs, such as the Tem.docx
onsider whether you think means-tested programs, such as the Tem.docx
mccormicknadine86
 
Operations security - PPT should cover below questions (chapter 1 to.docx
Operations security - PPT should cover below questions (chapter 1 to.docxOperations security - PPT should cover below questions (chapter 1 to.docx
Operations security - PPT should cover below questions (chapter 1 to.docx
mccormicknadine86
 

More from mccormicknadine86 (20)

Option #2Researching a Leader Complete preliminary rese.docx
Option #2Researching a Leader Complete preliminary rese.docxOption #2Researching a Leader Complete preliminary rese.docx
Option #2Researching a Leader Complete preliminary rese.docx
 
Option 1 ImperialismThe exploitation of  colonial resources.docx
Option 1 ImperialismThe exploitation of  colonial resources.docxOption 1 ImperialismThe exploitation of  colonial resources.docx
Option 1 ImperialismThe exploitation of  colonial resources.docx
 
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docxOption Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
Option Wireless LTD v. OpenPeak, Inc.Be sure to save an elec.docx
 
Option A Land SharkWhen is a shark just a shark Consider the.docx
Option A Land SharkWhen is a shark just a shark Consider the.docxOption A Land SharkWhen is a shark just a shark Consider the.docx
Option A Land SharkWhen is a shark just a shark Consider the.docx
 
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docx
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docxOption 3 Discuss your thoughts on drugs and deviance. Do you think .docx
Option 3 Discuss your thoughts on drugs and deviance. Do you think .docx
 
OPTION 2 Can we make the changes we need to make After the pandemi.docx
OPTION 2 Can we make the changes we need to make After the pandemi.docxOPTION 2 Can we make the changes we need to make After the pandemi.docx
OPTION 2 Can we make the changes we need to make After the pandemi.docx
 
Option 1 You will create a PowerPoint (or equivalent) of your p.docx
Option 1 You will create a PowerPoint (or equivalent) of your p.docxOption 1 You will create a PowerPoint (or equivalent) of your p.docx
Option 1 You will create a PowerPoint (or equivalent) of your p.docx
 
Option A Description of Dance StylesSelect two styles of danc.docx
Option A Description of Dance StylesSelect two styles of danc.docxOption A Description of Dance StylesSelect two styles of danc.docx
Option A Description of Dance StylesSelect two styles of danc.docx
 
Option #2Provide several slides that explain the key section.docx
Option #2Provide several slides that explain the key section.docxOption #2Provide several slides that explain the key section.docx
Option #2Provide several slides that explain the key section.docx
 
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docxOption 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
Option 2 Slavery vs. Indentured ServitudeExplain how and wh.docx
 
Option 2 ArtSelect any 2 of works of art about the Holocaus.docx
Option 2 ArtSelect any 2 of works of art about the Holocaus.docxOption 2 ArtSelect any 2 of works of art about the Holocaus.docx
Option 2 ArtSelect any 2 of works of art about the Holocaus.docx
 
Option #1 Stanford University Prison Experiment Causality, C.docx
Option #1 Stanford University Prison Experiment Causality, C.docxOption #1 Stanford University Prison Experiment Causality, C.docx
Option #1 Stanford University Prison Experiment Causality, C.docx
 
Option A  Gender CrimesCriminal acts occur against individu.docx
Option A  Gender CrimesCriminal acts occur against individu.docxOption A  Gender CrimesCriminal acts occur against individu.docx
Option A  Gender CrimesCriminal acts occur against individu.docx
 
opic 4 Discussion Question 1 May students express religious bel.docx
opic 4 Discussion Question 1 May students express religious bel.docxopic 4 Discussion Question 1 May students express religious bel.docx
opic 4 Discussion Question 1 May students express religious bel.docx
 
Option 1Choose a philosopher who interests you. Research that p.docx
Option 1Choose a philosopher who interests you. Research that p.docxOption 1Choose a philosopher who interests you. Research that p.docx
Option 1Choose a philosopher who interests you. Research that p.docx
 
Option #1The Stanford University Prison Experiment Structu.docx
Option #1The Stanford University Prison Experiment Structu.docxOption #1The Stanford University Prison Experiment Structu.docx
Option #1The Stanford University Prison Experiment Structu.docx
 
Operationaland Organizational SecurityChapter 3Princ.docx
Operationaland Organizational SecurityChapter 3Princ.docxOperationaland Organizational SecurityChapter 3Princ.docx
Operationaland Organizational SecurityChapter 3Princ.docx
 
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docxOpen the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
Open the file (Undergrad Reqt_Individual In-Depth Case Study) for in.docx
 
onsider whether you think means-tested programs, such as the Tem.docx
onsider whether you think means-tested programs, such as the Tem.docxonsider whether you think means-tested programs, such as the Tem.docx
onsider whether you think means-tested programs, such as the Tem.docx
 
Operations security - PPT should cover below questions (chapter 1 to.docx
Operations security - PPT should cover below questions (chapter 1 to.docxOperations security - PPT should cover below questions (chapter 1 to.docx
Operations security - PPT should cover below questions (chapter 1 to.docx
 

Recently uploaded

How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 

Recently uploaded (20)

How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 

Chapter 7 Design Architecture and Methodology1.docx

  • 1. Chapter 7: Design: Architecture and Methodology 1 Design Topics Covered Architectural vs. detailed design “Common” architectural styles, tactics, and reference architectures Basic techniques for detailed design Basic issues with user-interface design 2 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non-functional characteristics). How is the software solution going to be structured? What are the main components—(functional comp)? Often directly from requirements’ functionalities (use cases). How are these components related? Possibly re-organize the components (composition/decomposition).
  • 2. Two main levels of design: Architectural (high level) Detailed design How should we depict design—notation/language? 3 Relationship between Architecture and Design Detailed Design Comes from Requirements & Architecture 4 Software Architecture Structure(s) of the solution, comprising: Major software elements Their externally visible properties Relationships among elements Every software system has an architecture. May have multiple structures! Multiple ways of organizing elements, depending on the perspective External properties of components (and modules) Component (module) interfaces Component (module) interactions, rather than internals of components and modules
  • 3. 5 Views and Viewpoints View – representation of a system structure 4+1 views (by Krutchen) Logical (OO decomposition – key abstractions) Process (run-time, concurrency/distribution of functions) Subsystem decomposition Physical architecture +1: use cases Other classification (Bass, Clements, Kazman) Module Run-time Allocation (mapping to development environment) Different views for different people 6 Architectural Styles/Patterns Pipes and filters Event driven Client-server Model-view-controller (MVC) Layered
  • 4. Database centric Three tier We discuss architectural styles/patterns as “reusable” starting point for design activities. 7 Pipe-Filter Architecture Style The high-level design solution is decomposed into two “generic” parts (filters and pipes): Filter is a service that transforms a stream of input data into a stream of output data. Pipe is a mechanism or conduit through which the data flows from one filter to another. Input time cards Prepare for check processing Process checks Problems that require batch file processing seem to fit this architecture: e.g., payroll, compilers, month-end accounting. ** Reminds one of DFD without the data store or source sink.** 8 Event Driven (Real Time) The high-level design solution is based on an event dispatcher, which manages events and the functionalities that depend on
  • 5. those events. These have the following characteristics: Events may be a simple notification or may include associated data. Events may be prioritized or be based on constraints such as time. Events may require synchronous or asynchronous processing. Events may be “registered” or “unregistered” by components. Personal (device) dispatcher voice call text msg Image keypad Phone processing Text processing Image processing Problems that fit this architecture include real-time systems such as: airplane control, medical equipment monitor, home monitor, embedded device
  • 6. controller, game, etc. - - - Try a commercial flight control system - - - 9 Basic Client-Server Style Application split into client component and server component. 10 Client-Server Style Client may connect to more than one server (servers are usually independent). 11 Separates model (data) from view. Controller often integrated with view nowadays. Model-View-Control (MVC) Style Most internet web applications fall under this style. 12 The “outer” layer can only ask for service from the “inner” layer;
  • 7. the “upper” layer can only ask for service from the “lower” layer. − Strict layering: only directly inside or below layers − Relaxed layering: any inside or below layers Layered Style 13 Shared Data (DB)-Centric Style Very popular within the business applications community 14 Three-Tier Style (Mixture) Clients do not access DB directly. Better flexibility, integrity. (Why?) Reminds one of client server or MVC. 15 Architectural Tactics Tactics (in contrast to architectural style) are for solving “smaller, specific” problems. Do not affect overall structure of system.
  • 8. Example: we add specific functionalities or component (e.g., to increase reliability) in the design for fault detection—especially for distributed systems: Heartbeat Ping/echo 16 Reference Architectures Full-fledged architectures. Serve as “templates” or as “a reference” for a class of systems. Example: J2EE reference architecture (MVC2). There also are “application domain−specific” reference architectures. 17 Detailed Design Further refine architecture and match with requirements. How detailed? How formal? Maybe of different levels of detail for different views. 18 Functional Decomposition Technique
  • 9. Dates back to “structured programming” [now (non-OO) Web apps with PHP tool]. Start with: main (task/requirements) --> module. Refine into sub-modules. There are alternative decompositions. 19 Possible Decomposition of (Student-Course Management App) 20 “Alternative” Decomposition/Composition 21 Relational Database Design Most databases use relational technology. Relations (tables): Two-dimensional sets Rows (tuples), columns (attributes) A row may be an entity; columns may be relationships or attributes.
  • 10. Primary key (unique identifier) – for search Foreign keys (connects tables) 22 Database Design Conceptual modeling (done during analysis/requirement phase) produces ER diagram. Logical design (to relational). Physical design (decide data types, etc.). Deployment/maintenance: Low-level physical (which hard drive, etc.) Adjustment of indexes 23 Entity-Relationship Diagrams Entities (rectangles) Weak: double lines Relationships (diamonds) Attributes (ovals) Multi-valued: double lines Identifying: underlined 24 ER Diagram Example
  • 11. 25 Logical DB Design – Entities Table per entity. Flatten composite attributes. For weak entities, add the primary key of the strong entity. 26 Logical DB Design – Multi-Valued New table needed for multi-valued attributes. 27 Logical DB Design – Relationships If one side related to just one entity, add foreign key to that side. For many to many, need new table. For ternary, need new table. 28 Physical DB Design
  • 12. Data types for each attribute. Check which ones your DBMS support. Encoding. Decide on indexes. Searches are faster, updates are slower. Indexes consume space. Can always adjust during deployment. Denormalization done sometimes (avoid). 29 OO Design First step: review and refine use cases. Decide: Which classes to create How are the classes related Use UML as the design language. 30 Use Case Diagram 31 Class Design Classes represent real-world entities or system concepts.
  • 13. Organized into classes: objects in a class have similar characteristics. Classes have properties (attributes or data). Classes also have methods (perform functions). 32 UML Class Diagrams Association Composition Use “no-fill” diamond for aggregation. 33 UML Class Diagrams – Inheritance
  • 14. 34 UML State Diagram depicting a student’s “status” in school 35 UML “Sequence Diagram” used to depict a flow of interactions 36 User Interface Design Most apparent to the user Two main issues: Flow of interactions ii) Look and feel Types of interfaces Command-line Text menus Graphical (GUI) 37 Flow of Interactions
  • 15. Prototype screens Registration: Select term. Registration: shows term. Select first course. Registration: shows term, course(s) with schedule and cost. Select *Additional course; *Delete course; *Finish registration. Registration: shows final schedule. Select Confirm or Cancel. 38 High Fidelity Prototype 39 User: Screens: Process: User Interaction Added to the Sequence Diagram 41 Norman’s 7 Stage Model
  • 16. 42 The GOMS Model (an “advanced” topic for UI) Consider different kinds of users. Four factors (for the kind of user) Goals of the user Operations provided by the system Methods or the sequence of operations Selection rules for the methods 43 Other UI Issues Kinds of users Heuristics UI guidelines Multicultural issues Metaphors Multiplatform software Accessibility Multimedia interfaces 44 HTML Script Simple Example
  • 17. 45 Model-View-Controller (MVC) Software Project Model SQL database View HTML Controller PHP 46 Object-Relational Impedance Mismatch (an “advanced” topic) How do we handle mismatches between object-oriented concepts and relational DB such as: Typing Private and public Inheritance and polymorphism Nested structure versus table structure 47