Software Engineering General architecture. Architectural components:  Program organisation overview Major building blocks in a system Definition of each.

Slides:



Advertisements
Similar presentations
Interactive lesson about operating system
Advertisements

Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Introduction To System Analysis and Design
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
11 DICOM Image Communication in Globus-Based Medical Grids Michal Vossberg, Thomas Tolxdorff, Associate Member, IEEE, and Dagmar Krefting Ting-Wei, Chen.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
Figure 1.1 Interaction between applications and the operating system.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Essential Software Architecture Chapter Three - Software Quality Attributes Ian Gorton CS590 – Winter 2008.
Case Study: The E1 Distributed Operating System Chris Krentz 3/20/2007.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Managing Information Systems Information Systems Security and Control Part 2 Dr. Stephania Loizidou Himona ACSC 345.
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Upstream Prerequisites
© Rheinmetall Defence 2013 The Geospatial Catalogue and Database Repository (GCDR) and the Knowledge Management System (KMS) Shane Reschke – Technical.
Computer System Architectures Computer System Software
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Addressing design Goals  We decompose the system to address complexity  Assigning each subsystem to team to work on  But we also need to address system.
Chapter 1 In-lab Quiz Next week
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Approaching a Problem Where do we start? How do we proceed?
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 6 Architectural Design.
Cohesion and Coupling CS 4311
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Krista Lozada iAcademy First Term 2009
9 Systems Analysis and Design in a Changing World, Fourth Edition.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Construction Planning and Prerequisite
CSC480 Software Engineering Lecture 10 September 25, 2002.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
CS223: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
25/02/2016 SW Development Process - SW Architecture/Stefan L. Meier/Electronic Product Development SW Architecture EPD Software Development Process 1.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
WEB TESTING
Preparation for coding
Topics discussed in this section:
Software Design and Architecture
Part 3 Design What does design mean in different fields?
The Client/Server Database Environment
Systems Design Chapter 6.
Connected Vehicle Reference Implementation Architecture (CVRIA)
Chapter 29: Program Security
Exam 1 review CS 360 Lecture 20.
Design.
Preparation for coding
Overview of Computer system
Presentation transcript:

Software Engineering General architecture

Architectural components:  Program organisation overview Major building blocks in a system Definition of each building block’s area of responsibility  A building block should know as little as possible about other building blocks’ areas of responsibility  Communication rules for each building block should be well defined

General architecture  Major classes Responsibilities of each major class Interaction with other classes Class hierarchies State transitions Object persistence Organisation of classes in subsystems

General architecture  Data design Major files and table designs to be used Access policies (sequential, direct, etc.) Storage policies High-level organisation and contents of data and databases Typically, data should be accessed directly by only one class or subsystem

General architecture  Business rules Using the terminology of General Systems Theory, environmental rules that affect the behaviour of the system

General architecture  User interface design Interface paradigm(s) Architecture should be such that interface could be replaced without affecting other parts of the system

General architecture  Resource management Database connections Threads Handles Memory

General architecture  Security Manipulation of buffers Rules for handling untrusted data Encryption Level of detail contained in error messages Protection of data in memory

General architecture  Performance issues Performance goals Performance bottlenecks  Scalability  Interoperability

General architecture  Internationalisation / localisation Obs: issue of growing importance nowadays  Input / Output I/O policy (look ahead, look behind, just in time) I/O error detection level (field, record, stream, file, etc.)

General architecture  Error processing Corrective versus detective Active versus passive Error propagation policy Conventions for handling error messages Exception handling policy  At what levels are errors handled?  What is the level of responsibility of each class for validating input data? Tailor made error processing or use development environment pre-fabricated solutions?

General architecture  Fault tolerance Expected fault tolerance Fault tolerance strategies  Architectural feasibility Is proposed design viable, considering available resources and proposed requirements?  Overengineering How to ensure system level robustness?

General architecture  “Buy” or build?  Reuse decisions  Architecture recurring revision strategy

General architecture  General architecture quality How to preserve conceptual integrity Clearly stated architecture’s objectives Motivations for all major decisions Machine- and language-independent architecture Multiple views NO COMPROMISING!