Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

8.
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Moving from Analysis to Design. Overview ● What is the difference between analysis and design? ● Logical v. physical design ● System v. detailed design.
Chapter 2 Database Environment.
HCI Designing Interface Objects. The presentation layer How prototyping can be used to try out different interface designs How to model boundary classes.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Chapter 2 Database Environment Pearson Education © 2014.
IELM 230: Industrial Data Systems Course topics: - Relational Database Design - DB development and optimized usage - DB backed web-applications.
System Architecture: Desing alternatives and methodologies.
Logical Architecture and UML Package Diagrams
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
The Client/Server Database Environment
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
INFO 355Week #61 Systems Analysis II Essentials of design INFO 355 Glenn Booker.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
Database Architectures and the Web Session 5
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
ITEC224 Database Programming
An Introduction to Software Architecture
9.4 Software Architecture
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Dr. Mohamed Osman Hegazi 1 Database Systems Concepts Database Systems Concepts Course Outlines: Introduction to Databases and DBMS. Database System Concepts.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Chapter-2- Database System Concepts and Architecture Text Book : “Fundamentals of Database Systems” Additional References: Prof. Beat Signer Lecture notes.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
1 CMPT 275 High Level Design Phase Modularization.
Bayu Adhi Tama, M.T.I 1 © Pearson Education Limited 1995, 2005.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
UML Package Diagrams. Package Diagrams UML Package Diagrams are often used to show the contents of components, which are often packages in the Java sense.
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 2 Database Environment.
SYSTEMSDESIGNANALYSIS 1 Chapter 21 Implementation Jerry Post Copyright © 1997.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
BTS430 Systems Analysis and Design using UML
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
CS 325: Software Engineering
#01 Client/Server Computing
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 13 Logical Architecture.
Database Environment Transparencies
Systems Analysis and Design in a Changing World, 6th Edition
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Analysis models and design models
An Introduction to Software Architecture
Design Yaodong Bi.
Chapter 6: Architectural Design
#01 Client/Server Computing
Presentation transcript:

Introduction

System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object Design Program Design

System Design What is System Design? The Outputs of System Design The (Global) System Architecture Classification of Applications State of the Market

System Design Major Tasks of System Design Identify major hardware and software subsystems and components. Identify (usage, control or data) dependencies among subsystems. Decide on a hardware and software platform for the new system. Design the information system software, database, and user interfaces.

Other Elements of System Design Other Elements of System (...Not discussed in this course….) Plan control aspects of the application. Test plans. Code development standards. Priorities for design trade-offs. Implementation requirements (e.g., data conversion)

Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture Broker Architectures for Distributed Systems

Selecting a Computing Platform Choosing Hardware, Software, and Networking Equipment Criteria and Selection Process Hardware Alternatives and their Features Software Alternatives and their Features Networking Alternatives

Computing Platforms A computing platform consists of the hardware, software (e.g., operating system, compilers, database management systems, etc.) and networking configuration. Key questions: What platform suits best the needs of the project? What criteria should be used to decide? How should hardware, software, and networking equipment be selected? Why? What general principles should be kept in mind? Key concern: Understanding of systems (hardware, software, and networking)

Software Architectures A software architecture defines the components of a software system and their inter-dependencies. For example, the client-server client-server architecture consists of servers that support services, clients clients that use services. With such an architecture, I/O is placed on clients, running on PCs and workstations; data storage is assigned to a server, implemented in terms of a DBMS (e.g., DB2) and placed on a mainframe or mini. Consistency checking is located with the server, applications run on clients. Thick servers hick servers offer a lot of functionality, thin ones little. Thick clients have their own services, thin ones get almost everything from servers.

Subsystems A software subsystem is a component of a system or of another subsystem. Modules or components components are atomic subsystems It’s useful to subdivide software into subsystems For better-managed software development; For improved reuse (through components); For improved portability (platform- specific code isolated to particular subsystems.) For easier maintenance. Each subsystem has a well-defined interface with respect to the rest of the system.

Database Design Databases and DBMS Data Models, Hierarchical, Network, Relational Data Models, Hierarchical, Network, Relational Database Design Restructuring an ER schema Performance analysis Analysis of Redundancies, Removing generalizations Translation into a Relational Translation into a Relational Schem Normal Forms and Normalization

Database Design Databases and DBMS Data Models, Hierarchical, Network, Relational Data Models, Hierarchical, Network, Relational Database Design Restructuring an ER schema Performance analysis Analysis of Redundancies, Removing generalizations Translation into a Relational Translation into a Relational Schem Normal Forms and Normalization

User Interface Design What is Human-Computer Interaction? Affordances, Mappings, Mental Models, Feedback, Forcing Functions, Learning How to Design Interfaces User Dialogue Design Inputs and Outputs

Interface Objects Three-Tier Architectures The Presentation layer Sequence Diagrams for User Interface Classes Prototyping the User Interface User Interface Class and Package Diagrams Model-View-Controller Architecture Revisited Statechart Diagrams for Dialogue Dynamics

Class Design What is Class Design? Types of Design Classes Class Specifications and Interfaces Components, Sub-Systems and Packages Cohesion and Coupling Designing Associations Integrity Constraints Referential, Dependency and Domain Integrity