Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object."— Presentation transcript:

1 Introduction

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

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

4 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.

5 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)

6 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

7 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

8 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)

9 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.

10 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.

11 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

12 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

13 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

14 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

15 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


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

Similar presentations


Ads by Google