SlideShare a Scribd company logo
Third Assignment
Describe in 100 – 200 words an application with which you are
familiar. This should be an application with which other
students and the course instructor are likely to be familiar. An
example would be Microsoft Word. Then, select one of the
architectural design styles given in the presentation on
Architectural Design. Explain why this style is appropriate for
the application you described. Then apply this style to the
application and explain the result in enough detail that your
fellow students are likely to understand.
Organization of your submission
Third Assignment
Your name
Submission Date
Application Description
Style you have selected
Why this style is appropriate for this application
The application’s architecture using this style
Explanation of this architecture (show how some common
tasks for this application might be performed using this
architecture)
Grading Rubric
Criterion
Points
Application description is well-organized
5
Style choice is one of the styles described
2
Style choice is effectively justified
8
Presented architecture uses the selected style
3
Presented architecture is complete
4
Architecture is described clearly
8
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
Third AssignmentDescribe in 100 – 200 words an application with .docx

More Related Content

DOCX
Chapter 7 Design Architecture and Methodology1.docx
PDF
SADP PPTs of all modules - Shanthi D.L.pdf
PPTX
UNIT 3 SE.pptx
PPTX
OOSAD-Object Oriented Systems Analysis and Design - Chapter06-Part I.pptx
PPT
New phase ii-2010
PPTX
Software Engineering Architectural Design
PPTX
PPT
3 analysis and design overview
Chapter 7 Design Architecture and Methodology1.docx
SADP PPTs of all modules - Shanthi D.L.pdf
UNIT 3 SE.pptx
OOSAD-Object Oriented Systems Analysis and Design - Chapter06-Part I.pptx
New phase ii-2010
Software Engineering Architectural Design
3 analysis and design overview

Similar to Third AssignmentDescribe in 100 – 200 words an application with .docx (20)

PDF
Object oriented analysis and design unit- iv
PPT
Object oriented sad-5 part i
PPTX
Elaboration
PPTX
SA_UNIT_1.pptx
PPT
software engineering unit-3 in software engineering
PPT
Slides chapter 9
PPT
Design engineering
PPT
Design engineering
PPT
Software_Archi-1.ppt
PPT
chapter 5 Objectdesign.ppt
PPTX
Architecture and design
DOC
Unit-3.doc
PPT
Software architecture
PPTX
design concepts in software engineering.pptx
PPTX
Design patterns
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
Chapter 7 Basic Building of SE Architecture.ppt
PPTX
An Introduction To Software Development - Architecture & Detailed Design
Object oriented analysis and design unit- iv
Object oriented sad-5 part i
Elaboration
SA_UNIT_1.pptx
software engineering unit-3 in software engineering
Slides chapter 9
Design engineering
Design engineering
Software_Archi-1.ppt
chapter 5 Objectdesign.ppt
Architecture and design
Unit-3.doc
Software architecture
design concepts in software engineering.pptx
Design patterns
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
Chapter 7 Basic Building of SE Architecture.ppt
An Introduction To Software Development - Architecture & Detailed Design
Ad

More from randymartin91030 (20)

DOCX
Ask Michael E. Mark about his company’s procedures for making a big .docx
DOCX
ask an expertwww.NursingMadeIncrediblyEasy.com JanuaryFe.docx
DOCX
Ask clarifying or thought provoking questions.Provide personal or .docx
DOCX
Asian American ResearchHello class, I hope this finds you all we.docx
DOCX
ASIAN CASE RESEARCH JOURNAL, VOL. 23, ISSUE 1, 153–191 (2019).docx
DOCX
Asian Americans had been excluded from entering the U.S. for more th.docx
DOCX
Asia; Opera and Society and a DilemmaPlease respond to t.docx
DOCX
Asian Academy of Management Journal, Vol. 18, No. 1, 1 –17, 20.docx
DOCX
Ashry 1Nedal AshryProf. GuzikENGL 301B15 February 20.docx
DOCX
Ashford Graduate Intro Week Six Discussion Two 2 Examples.docx
DOCX
Ashford 6 - Week 5 - Final ProjectFinal ProjectImagine that you.docx
DOCX
ASD Services ResourcesAutism ResourcesFlorida Department of H.docx
DOCX
ASCI 615 AviationAerospace Accident Investigation and.docx
DOCX
ASCM 631 – Integrative Supply Chain Management – Midterm Examinati.docx
DOCX
ASB3109 Strategic ManagementYour Individual Assignment.docx
DOCX
asapnursingProvide a Topic of Health Promotion Paper for App.docx
DOCX
Asap Essay Need, it needs to be 4-5pages long. I really want to get .docx
DOCX
ASB 100Spring 2019Writing Assignment 3In this assignme.docx
DOCX
asapnursingHealth policy unfolds daily and drives clinical p.docx
DOCX
Asam100bbXinyu ShangReading journal week1In the article Im.docx
Ask Michael E. Mark about his company’s procedures for making a big .docx
ask an expertwww.NursingMadeIncrediblyEasy.com JanuaryFe.docx
Ask clarifying or thought provoking questions.Provide personal or .docx
Asian American ResearchHello class, I hope this finds you all we.docx
ASIAN CASE RESEARCH JOURNAL, VOL. 23, ISSUE 1, 153–191 (2019).docx
Asian Americans had been excluded from entering the U.S. for more th.docx
Asia; Opera and Society and a DilemmaPlease respond to t.docx
Asian Academy of Management Journal, Vol. 18, No. 1, 1 –17, 20.docx
Ashry 1Nedal AshryProf. GuzikENGL 301B15 February 20.docx
Ashford Graduate Intro Week Six Discussion Two 2 Examples.docx
Ashford 6 - Week 5 - Final ProjectFinal ProjectImagine that you.docx
ASD Services ResourcesAutism ResourcesFlorida Department of H.docx
ASCI 615 AviationAerospace Accident Investigation and.docx
ASCM 631 – Integrative Supply Chain Management – Midterm Examinati.docx
ASB3109 Strategic ManagementYour Individual Assignment.docx
asapnursingProvide a Topic of Health Promotion Paper for App.docx
Asap Essay Need, it needs to be 4-5pages long. I really want to get .docx
ASB 100Spring 2019Writing Assignment 3In this assignme.docx
asapnursingHealth policy unfolds daily and drives clinical p.docx
Asam100bbXinyu ShangReading journal week1In the article Im.docx
Ad

Recently uploaded (20)

PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Pharma ospi slides which help in ospi learning
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
RMMM.pdf make it easy to upload and study
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Business Ethics Teaching Materials for college
PPTX
Cell Structure & Organelles in detailed.
PPTX
Institutional Correction lecture only . . .
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
PPH.pptx obstetrics and gynecology in nursing
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Pharma ospi slides which help in ospi learning
Anesthesia in Laparoscopic Surgery in India
2.FourierTransform-ShortQuestionswithAnswers.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
human mycosis Human fungal infections are called human mycosis..pptx
Complications of Minimal Access Surgery at WLH
Final Presentation General Medicine 03-08-2024.pptx
Week 4 Term 3 Study Techniques revisited.pptx
RMMM.pdf make it easy to upload and study
O5-L3 Freight Transport Ops (International) V1.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Business Ethics Teaching Materials for college
Cell Structure & Organelles in detailed.
Institutional Correction lecture only . . .
O7-L3 Supply Chain Operations - ICLT Program
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
VCE English Exam - Section C Student Revision Booklet
PPH.pptx obstetrics and gynecology in nursing

Third AssignmentDescribe in 100 – 200 words an application with .docx

  • 1. Third Assignment Describe in 100 – 200 words an application with which you are familiar. This should be an application with which other students and the course instructor are likely to be familiar. An example would be Microsoft Word. Then, select one of the architectural design styles given in the presentation on Architectural Design. Explain why this style is appropriate for the application you described. Then apply this style to the application and explain the result in enough detail that your fellow students are likely to understand. Organization of your submission Third Assignment Your name Submission Date Application Description Style you have selected Why this style is appropriate for this application The application’s architecture using this style Explanation of this architecture (show how some common tasks for this application might be performed using this architecture) Grading Rubric Criterion Points Application description is well-organized 5 Style choice is one of the styles described 2 Style choice is effectively justified 8 Presented architecture uses the selected style 3
  • 2. Presented architecture is complete 4 Architecture is described clearly 8 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).
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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.
  • 8. 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
  • 9. “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.
  • 10. 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):
  • 11. 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
  • 12. 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.
  • 13. 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
  • 14. 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
  • 15. 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)
  • 16. 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
  • 17. 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
  • 18. 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