Software Architecture & Design

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Professional Services Developer Program Services
Software Reuse SEII-Lecture 28
Outline About author. The problem that discussed in the article.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
IS6112 Application Modelling and Design Introduction.
SIM SOFTWARE ARCHITECTURE Instructor: Dr. Masrah Azrifah Azmi Murad Room: A2.37 Tel: masrah.azrifah [at] gmail.com / masrah.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
NMS1.0(c) Copyright Final Year Project Demonstration Dublin City University 29 th May 2003 Team Members : David ReadeTimothy Kelly
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
EECE 310 Software Engineering Lecture 0: Course Orientation.
1 University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444F Software Engineering I Prof. Paulo Pacheco
Software Requirements Engineering CSE 305 Lecture-2.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Module Info Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
CS 494 Web Development Class Size: Winter, 214: 97 Spring, 214: 81 Summer, 2014: 69.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
1 of 8Prof. Dr. Dr. h.c. Otto Spaniol Computer Science, Informatik 4 Communication and Distributed Systems 25/10/2015 Distributed Applications and Network.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
CSEP 545 Transaction Processing for E-Commerce Course Information Spring (March – May) 2007.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
CS223: Software Engineering Lecture 13: Software Architecture.
CS223: Software Engineering Lecture 14: Architectural Patterns.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
What is BizTalk ?
Building Enterprise Applications Using Visual Studio®
Business System Development
Course Overview - Database Systems
GRASP – Designing Objects with Responsibilities
N-Tier Architecture.
IS301 – Software Engineering Dept of Computer Information Systems
TAL 7011 Architecture of Large Software Systems
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Web Application Modeling
Web Engineering.
CPSC 441: Computer Communications
Course Overview - Database Systems
Service-centric Software Engineering
EECE 310 Software Engineering
CS 425/625 Software Engineering Architectural Design
Systems Analysis and Design
Lecture 1: Multi-tier Architecture Overview
Chapter 6 – Architectural Design
Lecture1: Introduction to IT322 Software Engineering I
Chapter 5 Architectural Design.
Software Architecture & Design
Software Architecture & Design
Software Architecture & Design
Computer Engineering Department Islamic University of Gaza
Mark Quirk Head of Technology Developer & Platform Group
Chapter 13 Logical Architecture.
Software Architecture & Design
Presentation transcript:

Software Architecture & Design 6CCS3SAD / 7CCSMDAS Dr Kevin Lano

Module Overview 2018-19

What is an architecture? Coarse grained view of a system: Main components and component relations Middleware decisions Distribution structure Heterogeneous links to external systems running on different platforms/middleware are often present Structure considered first class artefact Not a fine-grained view of a system process UML use-case or a statechart or pseudocode  5CCS2OSD dealt with these 21/01/2016 (c) Steffen Zschaler

Why is it important? How architectural designs help: Aid to project management top-down development components are assigned to different teams Centralized coordination of how everything should fit together Decisions about middleware, platforms, structure Non-functional properties of systems Performance, reliability, security, ... 21/01/2016 (c) Steffen Zschaler

Why is it important? (2) Many systems end in disaster because Architecture is given a limited role Architecture becomes a factor too late in development Hacked up structures are difficult to maintain and scale during and after development Hacked up architectures often lead to functional and non-functional problems 21/01/2016 (c) Steffen Zschaler

Therefore... Software architects some of the most important people in software projects versus 21/01/2016 (c) Steffen Zschaler

Learning Objectives At the end of this module you should be able to Function as a software architect Explain a broad range of issues, techniques and processes involved in architecture design Design medium to large size software systems Use the UML2 effectively to design architectures Work with and design metamodels and frameworks 21/01/2016 (c) Steffen Zschaler

Pet store example Online pet store sells animals to customers A web site for customers Different classes of other users Admins, external businesses (e.g., suppliers), vets Access to specific categories of functionality Interact with application through specific interfaces 21/01/2016 (c) Steffen Zschaler

Pet Store Example Architecture JSP EJB .NET web services Pet Store Web Site (Front End) Order Fulfilment Supplier Customer Credit Card Services Other Suppliers Full architecture expands these components to define their structure For example, order fulfilment involves several components encapsulating business logic 21/01/2016 (c) Steffen Zschaler

Bad Architecture  Poor Scalability, Maintenance Customer Petshop website (including order fulfilment) Database Architecturally unsound All business logic coded up in the website presentation tier Difficult to maintain – concerns are all mixed together 21/01/2016 (c) Steffen Zschaler

Bad Architecture  Poor Performance Web Site Hotel Reservation Credit Card Banking Car Reservation Air Reservation Data Management (Server) Direct connection of client component to multiple server components (several reasons why this style of architecture is flawed) 21/01/2016 (c) Steffen Zschaler

Good architecture  Better Performance Holiday Reservation Session Web Site Hotel Reservation Credit Card Banking Car Reservation Air Reservation Data Management Business Logic Server 21/01/2016 (c) Steffen Zschaler

Beyond Boxes and Lines Good architectural designs don’t solve all architectural issues Role of software architect includes Reuse of good architectural patterns Domain-specific meta-modelling Product lines – architectural families Model-driven programming – programming through architectures We will look at some of these, too 21/01/2016 (c) Steffen Zschaler

Course Details Prerequisites Lectures Introductory UML, programming experience Lectures Mondays 10am to 12.00; room K4.U12 From 4th February, starts with 1 hour of tutorials from 9am–10am exercises discussions group work  Tasks and details on KEATS 21/01/2016 (c) Steffen Zschaler

Assessment Exam worth 100% of final grade Two parts – easy and hard First part (40%) tests basic understanding of learning outcomes Second part (60%) assesses deeper level of skills and understanding Level 7 exam different from Level 6, also pass-mark is 50% instead of 40% 21/01/2016 (c) Steffen Zschaler

Questions All material is on KEATS Email: kevin.lano@kcl.ac.uk Office hours, Tuesdays 1.30pm–3.30pm, BH N6.01 21/01/2016 (c) Steffen Zschaler

Recommended Reading Mary Shaw and David Garlan: Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996 Bass, Clements, and Kazman: Software Architecture in Practice, Addison-Wesley, 2003 Designing Software Architectures: A Practical Approach, 2016, Humberto Cervantes and Rick Kazman John Cheesman and John Daniels: UML Components, Addison-Wesley, 2000 Warmer and Kleppe: The Object Constraint Language: Getting Your Models Ready for MDA, Addison-Wesley, 2003 Marco Brambilla, Jordi Cabot, Manuel Wimmer: Model-Driven Software Engineering in Practice, Morgan & Claypool, 2012 Kevin Lano, Agile Model-Based Development Using UML-RSDS , CRC Press, 2016. 21/01/2016 (c) Steffen Zschaler

Course Roadmap Week 1: Overview, Basic Architecture Concepts Week 2: A Simple Process for Architecture Design Week 3: Compound Components, Basic Styles Week 4: More Styles, Complex Connectors Week 5/6: .NET Enterprise Services Week 7: Enterprise Styles + Deployment, Clouds, Containers Week 8: Object-Constraint Language (OCL) Week 9/10: Model-Driven Engineering Week 11: Revision Abstract Architecture Concrete Platforms Physical Architecture Using Architectures