Software Architecture. CSC 440: Software Engineering Slide #1

Similar documents
Class Diagrams. CSC 440/540: Software Engineering Slide #1

c. What is the average rate of change of f on the interval [, ]? Answer: d. What is a local minimum value of f? Answer: 5 e. On what interval(s) is f

Information System Desig

gender mains treaming in Polis h practice

MOLINA HEALTHCARE, INC. (Exact name of registrant as specified in its charter)

Form and content. Iowa Research Online. University of Iowa. Ann A Rahim Khan University of Iowa. Theses and Dissertations

LU N C H IN C LU D E D

AGRICULTURE SYLLABUS

One Optimized I/O Configuration per HPC Application

UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C Form 8-K/A (Amendment No. 2)

600 Billy Smith Road, Athens, VT

M a n a g e m e n t o f H y d ra u lic F ra c tu rin g D a ta

MySQL 5.1. Past, Present and Future. Jan Kneschke MySQL AB

STEEL PIPE NIPPLE BLACK AND GALVANIZED

ANNUAL MONITORING REPORT 2000

B ooks Expans ion on S ciencedirect: 2007:

High Capacity Double Pillar Fully Automatic Bandsaw. p h a r o s 2 8 0

TTM TECHNOLOGIES, INC. (Exact Name of Registrant as Specified in Charter)

UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C FORM 8-K

Functional pottery [slide]

THE BANK OF NEW YORK MELLON CORPORATION (Exact name of registrant as specified in its charter)

EKOLOGIE EN SYSTEMATIEK. T h is p a p e r n o t to be c i t e d w ith o u t p r i o r r e f e r e n c e to th e a u th o r. PRIMARY PRODUCTIVITY.

Grain Reserves, Volatility and the WTO

UNITED STATES SECURITIES AND EXCHANGE COMMISSION WASHINGTON, D.C FORM 8-K

A L A BA M A L A W R E V IE W

UNITED STATES SECURITIES AND EXCHANGE COMMISSION FORM 8-K. Farmer Bros. Co.

TECHNICAL MANUAL OPTIMA PT/ST/VS

S o b re o T e rm o. Am b ie n te s d e Mid d le w a re , % - n s c in.u fp e.b r ! " " # $ % & ' " #

LSU Historical Dissertations and Theses

REFUGEE AND FORCED MIGRATION STUDIES

S U E K E AY S S H A R O N T IM B E R W IN D M A R T Z -PA U L L IN. Carlisle Franklin Springboro. Clearcreek TWP. Middletown. Turtlecreek TWP.

Photo. EPRI s Power System and Railroad Electromagnetic Compatibility Handbook

Estonian Place Names in the National Information System and the Place Names Register *

Lesson Ten. What role does energy play in chemical reactions? Grade 8. Science. 90 minutes ENGLISH LANGUAGE ARTS

Matador Resources Company (Exact name of registrant as specified in its charter)

UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, DC FORM 8-K. Current Report

Texas Student Assessment Program. Student Data File Format for Student Registration and Precoding

Breakup of weakly bound nuclei and its influence on fusion. Paulo R. S. Gomes Univ. Fed. Fluminense (UFF), Niteroi, Brazil

VERITAS L1 trigger Constant Fraction Discriminator. Vladimir Vassiliev Jeremy Smith David Kieda

University Microfilms

MONTHLY REVIEW. f C r e d i t a n d B u s i n e s s C o n d i t i o n s F E D E R A L R E S E R V E B A N K O F N E W Y O R K MONEY MARKET IN JUNE

1980 Annual Report / FEDERAL R ESER V E BA N K OF RICHMOND. Digitized for FRASER Federal Reserve Bank of St.

Transaction Cost Economics of Port Performance: A Composite Frontier Analysis

NORWEGIAN MARITIME DIRECTORATE

C o r p o r a t e l i f e i n A n c i e n t I n d i a e x p r e s s e d i t s e l f

Memorial to William Taylor Thom, Jr.

Beechwood Music Department Staff

TECH DATA CORPORATION (Exact name of registrant as specified in its charter)

WSFS Financial Corporation (Exact name of registrant as specified in its charter)

Operation Manual for Automatic Leveling Systems

McCormick & Company, Incorporated (Exact name of registrant as specified in its charter)

I M P O R T A N T S A F E T Y I N S T R U C T I O N S W h e n u s i n g t h i s e l e c t r o n i c d e v i c e, b a s i c p r e c a u t i o n s s h o

7.2 P rodu c t L oad/u nload Sy stem s

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Case Study of Electronic Materials Packaging with Poor Metal Adhesion and the Process for Performing Root Cause Failure Analysis

UNITED STATES SECURITIES AND EXCHANGE COMMISSION WASHINGTON, DC FORM 8-K CURRENT REPORT

Report Documentation Page

The Effects of Apprehension, Conviction and Incarceration on Crime in New York State

Product Data Sheet KyoRack 4

Machine Made Sampling Designs: Applying Machine Learning Methods for Generating Stratified Sampling Designs

A new ThermicSol product

Country Report Government (Part I) Due: November 14, 2017

Sodium-Initiated Polymerization of Alpha- Methylstyrene in the Vicinity of Its Reported Ceiling Temperature

A Reconfigurable Quantum Computer

Product Data Sheet KyoRack 2

Floor piece suite : a re-examination of three historical visual devices

Certificate Sound reduction of building elements

CHAPTER 6 SUMMARV, m a in FINDIN6S AND C0NCUL5I0NS

The Ability C ongress held at the Shoreham Hotel Decem ber 29 to 31, was a reco rd breaker for winter C ongresses.

Vlaamse Overheid Departement Mobiliteit en Openbare Werken

Software Process Models there are many process model s in th e li t e ra t u re, s om e a r e prescriptions and some are descriptions you need to mode

What is GIS and How Can It Help Me?

Distributive Justice, Injustice and Beyond Justice: The Difference from Principle to Reality between Karl Marx and John Rawls

Capacitor Discharge called CD welding

Form 8-K. Piedmont Office Realty Trust, Inc. (Exact name of registrant as specified in its charter)

Engineering for Compatibility

UML. Design Principles.

Dentists incomes, fees, practice costs, and the Economic Stabilization Act: to 1976

F48T10VHO, F60T10VHO, F72T10VHO, F96T12HO (1 LAMP ONLY) ELECTRICAL DATA (120V APPLICATION)

Boom of airport capacity based on wake vortex hasards mitigation sensors and systems

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Sam Williamson

heliozoan Zoo flagellated holotrichs peritrichs hypotrichs Euplots, Aspidisca Amoeba Thecamoeba Pleuromonas Bodo, Monosiga

SCHOOLS DIVISION OFFICE OF KABANKALAN CITY

Bioscience, Biotechnology, and Biochemistry. Egg white hydrolysate inhibits oxidation in mayonnaise and a model system

T H E ' B R I T M E f f B 'l T A R Y D O C U M E N T S U P P l Y C E N T R E

A Crash Course in Spatial History

Geo-enabling a Transactional Real Estate Management System A case study from the Minnesota Dept. of Transportation

Digitized for FRASER Federal Reserve Bank of St. Louis MARRIAGE AND DIVORCE PLATES

MPP5800 series - PANEL MOUNT PRINTERS. Options

COURSE CONTENT for Computer Science & Engineering [CSE]

Use precise language and domain-specific vocabulary to inform about or explain the topic. CCSS.ELA-LITERACY.WHST D

M. H. DALAL & ASSOCIATES C H ARTERED ACCOUNTANTS

ST 602 ST 606 ST 7100

An Exploratory Study of the Development of Virtual Learning Environments for Adult Literacy Education.

T R A I N I N G M A N U A L 1. 9 G H Z C D M A P C S 80 0 M H Z C D M A /A M P S ( T R I - M O D E ) PM325

Campus News June 10, 1994

NARAYANA IIT ACADEMY INDIA

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

APPENDIXES. Remark: The appendixes are published in the name and on the responsibility o f the different authors.

2 tel

Transcription:

Software Architecture CSC 440: Software Engineering Slide #1

Topics 1. What is software architecture? 2. Why do we need software architecture? 3. Architectural principles 4. UML package diagrams 5. Software architecture examples CSC 440: Software Engineering Slide #2

What is Software Architecture? Software architecture is the high level fundamental organization of a system. Division of system into a set of components. Defining relationships between those components. CSC 440: Software Engineering Slide #3

4+1 View Model Logical view focuses on functional for end users. Can model with SSDs. Development view is from programmer s perspective. Can model with package diagrams. Process view deals with dynamic aspects of system: concurrency, scalability, etc. Physical view illustrates how software components are deployed on physical machines. CSC 440: Software Engineering Slide #4

Architecture lets designers 1. Analyze effectiveness of design in meeting requirements. 2. Consider architectural alternatives before spending time designing and implementing them. 3. Reduce risks associated with implementing software. 4. Provide key abstractions for reasoning about design. CSC 440: Software Engineering Slide #5

Requirements to Architecture Nonfunctional requirements constrain architecture. Availability Ease of deployment Maintainability Modifiability Performance Reliability Security Usability CSC 440: Software Engineering Slide #6

Architectural Principles 1. Separation of concerns. Divide software into components with little functional overlap. Minimize interaction to enable reuse and redesign. 2. Single Responsibility. Each component should control only a single type of functionality. 3. Principle of Least Knowledge. Components should not know about internal details of other components. CSC 440: Software Engineering Slide #7

Separation of Concerns Example Model-View separation means No application logic in user interface classes. No user interface code in domain layer classes. Domain layer classes should not have UI objects as attributes and vice versa. Benefits of Model-View separation Enables separate development Localizes changes to interface requirements Can add new views (add mobile and CLI to web app) CSC 440: Software Engineering Slide #8

Architecture in the UP S a m p le U P A r tifa c t R e la tio n s h ip s D o m a in B u s in e s s M o d e l M o d e lin g * * R e q u ir e - U s e -C a s e M o d e l V is io n S upplem entary S pecification G lo s s a ry m e n ts T h e lo g ic a l a rc h ite c tu re is in flu e n c e d b y th e c o n s tra in ts a n d n o n -fu n c tio n a l re q u ire m e n ts c a p tu re d in th e S u p p. S p e c. D e s ig n M o d e l p a c k a g e d ia g r a m s UI o f th e lo g ic a l arch itectu re (a s ta tic v ie w ) D o m a in T e c h S e r v ic e s : R e g is te r : P ro d u c tc a ta lo g D e s ig n in te ra c tio n d ia g ra m s (a d y n a m ic v ie w ) e n te rite m (ite m ID, q u a n tity ) s p e c = g e tp ro d u c ts p e c ( ite m ID ) R e g is te r P roductc atalog c la s s d ia g ra m s (a s ta tic v ie w )... 1 1... m a k e N e w S a le () e n te rite m (...)... g e tp ro d u c ts p e c (...)... Slide #9

Package Diagrams UI S w in g n o t th e J a v a S w in g lib ra rie s, b u t o u r G U I c la s s e s b a s e d o n S w in g W e b D o m a in S a le s P a y m e n ts T a x e s T e c h n ic a l S e rv ic e s P e rs is te n c e L o g g in g R u le s E n g in e Slide #10

Nested Packages UI D o m a in S w in g W e b S a le s UI UI::S w in g UI::W e b D o m a in ::S a le s S w in g W e b D o m a in S a le s CSC 440: Software Engineering Slide #11

Layered Architectures A layered architecture hides implementation details of lower layers from higher levels. Layers interact only with adjacent layers. The OSI (Open System Interconnect) Reference Model is a network model consisting of seven layers

Example of Layered Architecture Slide #13

Layers and Partitions D o m a in P O S In v e n to ry T a x V e rtic a l L a y e rs T e c h n ic a l S e rv ic e s P e rs is te n c e S e c u rity L o g g in g H o riz o n ta l P a rtitio n s CSC 440: Software Engineering Slide #14

Mapreduce Architecture CSC 440: Software Engineering Slide #15

Service-Oriented Architecture CSC 440: Software Engineering Slide #16