SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.

Slides:



Advertisements
Similar presentations
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Advertisements

Technical Architectures
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Design Creative Process of transferring the problem into a solution
Lecture 23: Software Architectures
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
SWE Introduction to Software Engineering
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Course Instructor: Aisha Azeem
System Design & Software Architecture
UNIT-V The MVC architecture and Struts Framework.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Nicolas Teirlinckx Made for Software Engineering Groep 1 (2009 – 2010)
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
OOAD – III Software Design Nupul Kukreja 10 th October, 2014.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Chapter : 9 Architectural Design
CS223: Software Engineering
Lecture 6 – Architectural Design
Chapter 12: Architecture
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
N-Tier Architecture.
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
MVC and other n-tier Architectures
Software Design and Architecture
Part 3 Design What does design mean in different fields?
COMP2110 Software Design in 2004 lecture 09 High level design
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
Informatics 43 – May 26, 2016.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
CS 425/625 Software Engineering Architectural Design
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
Chapter 12: Physical Architecture Layer Design
Chapter 6 – Architectural Design
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
Exercises 1 副标题.
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
ICS 52: Introduction to Software Engineering
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
Chapter 6 – Architectural Design
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
Presentation transcript:

SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin

Agenda – Lecture 5b Review & renew. How do I come up with a design? Introduction to Architectural Styles Client-server Layered Servlets, an introduction. Exercise Set 4 1/1/2019 SOEN 343, © P.Chalin,

Opening Remarks Tutorial period: Homework Tutorial 5: Short. Java Servlets, A First Contact. Nothing to submit this time. Take the time to finish other tutorials (and ask tutors for help if needed). (Ask questions about Quiz 1 if you require further clarifications.) Homework Hand it in before the end of the class. 1/1/2019 SOEN 343, © P.Chalin,

[Design, How To?]-----------------

How Do I Come Up With a Design? Given Product requirements. Project plan How do I come up with a design? 1/1/2019 SOEN 343, © P.Chalin,

Design – Repeat Successes Has a (successful) similar product been built? Yes, then reuse domain specific: Architectural Style (e.g. client/server, database, process control) Patterns. Design Patterns (& idioms). Use Domain model as source of inspiration. 1/1/2019 SOEN 343, © P.Chalin,

Design – New Application Area? Has a (successful) similar product been built? No, then choose among general: Architectural Style (e.g. client/server, database, process control) Patterns. Design Patterns (& idioms). Use Domain model as source of inspiration. This course: offering guidelines, suggesting choices. 1/1/2019 SOEN 343, © P.Chalin,

Common Architectural Styles [FYI] Dataflow Pipes and filters Batch sequential Data-centered Repository Blackboard Virtual Machine Interpreter Rule-based system Call and Return Main program and subroutine Object-oriented (& Data abs.) Layered Independent Components Communicating processes Client/server Event systems Implicit invocation Explicit invocation [BCK98, Fig 5.1 p. 95] 1/1/2019 SOEN 343, © P.Chalin,

Layered Architectural Style Our focus today: Architectural style: Layered. References Larman, Chapter 30 (Section 30.2). Fowler, EA. Briefly, lets review Client-Server 1/1/2019 SOEN 343, © P.Chalin,

Client-Server (Two-tiered System) “… most people see tier as implying a physical separation. Client-server systems are often described as two-tier systems …” [Fowler, p.19] 1/1/2019 SOEN 343, © P.Chalin,

Enterprise Application Layers 1/1/2019 SOEN 343, © P.Chalin,

Enterprise Application Layers Presentation Domain Logic Data Source 1/1/2019 SOEN 343, © P.Chalin,

Layering – General Scheme Layers Presentation / Application. UI. Generally “thin”. (Term “application” can be misleading. It does not mean …) Domain / Business Logic. Core system functionality. Technical Services. 1/1/2019 SOEN 343, © P.Chalin,

Domain Logic (Layer) “… also referred to as business logic. … It involves calculations based on inputs and stored data, validation of any data that comes in from the presentation, and figuring out exactly what data source logic to dispatch …” [Fowler, p.20] 1/1/2019 SOEN 343, © P.Chalin,

Layered Style Characteristics Each layer offers services to layers above. Hence, layers build upon each other to provide increased functionality. 1/1/2019 SOEN 343, © P.Chalin,

Layers: Functionality Presentation Domain Functionality / services Data Source 1/1/2019 SOEN 343, © P.Chalin,

Presentation Domain Data Source Layers: Dependencies Dependencies 1/1/2019 SOEN 343, © P.Chalin,

Layer Dependencies Example Larman Fig. 30.4 1/1/2019 SOEN 343, © P.Chalin,

Not permitted in pure style Layering – Pure Style Pure style: components are permitted to use services of other components in same layer. layer immediately below. Not permitted in pure style 1/1/2019 SOEN 343, © P.Chalin,

Where to Run Your Layers [Folwer, pp. 22-24] Your software application ? ? 1/1/2019 SOEN 343, © P.Chalin,

Where to Run Your Layers EA software Technical Services 1/1/2019 SOEN 343, © P.Chalin,

Presentation Domain Logic Data Source EA Layers Refined Refine by splitting each layer into two. Data Source 1/1/2019 SOEN 343, © P.Chalin,

General Layering Scheme Refined Presentation Domain Technical services Presentation Application Domain (logic) Low-level domain logic Technical services Foundation. 1/1/2019 SOEN 343, © P.Chalin,

General Layering Scheme Refined Presentation Domain Technical services Presentation Application Business services Low-level business services Technical services Low-level technical services Alternate names for 1/1/2019 SOEN 343, © P.Chalin,

Layering (Larman) See Larman Sect 30.2 for examples of layer content. 1/1/2019 SOEN 343, © P.Chalin,

Servlets, The General Idea 1/1/2019 SOEN 343, © P.Chalin,

Exercise Set 4 1/1/2019 SOEN 343, © P.Chalin,