What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components.

Slides:



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

Welcome to Middleware Joseph Amrithraj
Apache Struts Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Enterprise Java Beans Welcome to the world of “Distributed System” Presented By: Sameer Nanda Date: 12/17/03.
Layers & Tiers Umair Javed Lec - 41.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Technion – Israel Institute of Technology Department of Electrical Engineering Software Lab Grades Server on J2EE Technology Edo Yichie Sagee Rosen Supervisor:
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
Course Instructor: Aisha Azeem
Nilesh Mandani Competencies include: Volume Licensing Enterprise Resource Planning Customer Relationship Management Business Intelligence Proposal for.
Web-based Software Development - An introduction.
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
UNIT-V The MVC architecture and Struts Framework.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Data Bridge for Heterogeneous Data Sources Presented by Rahul Vaghela & Pravin Vajirkar.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Case study concerning architecture development Emil Doychev, Georgi Cholakov, University of.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
J2EE Structure & Definitions Catie Welsh CSE 432
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Architectural Design.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Slide 1 Physical Architecture Layer Design Chapter 13.
1 Another group of Patterns Architectural Patterns.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Explore Patterns in Context-Aware Applications --Using Reactor Pattern to Develop In/Out Board Fall 2002 Yu Du.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Design Patterns Definition:
Consultant Effective Patterns and Practices in J2EE George de la Torre.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 9 Case Study.
J2EE Platform Overview (Application Architecture)
Web-based Software Development - An introduction
Structure of a web application
ORACLE ADF ONLINE TRAINING COURSE
Chapter 2: Database System Concepts and Architecture - Outline
Introduction to Advanced Java Programming
Introduction to J2EE Architecture
Enterprise Java Bean. Overview of EJB View of EJB Conversation Roles in EJB, Types of Enterprise Beans Lifecycle of Beans Developing Applications using.
Design and Maintenance of Web Applications in J2EE
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Component--based development
Chapter 1: The Database Environment
The Database Environment
Database Management Systems
Quality Assurance for Component-Based Software Development
Struts BY: Tejashri Udavant..
SDMX IT Tools SDMX Registry
Presentation transcript:

What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components.

Who Does Design Software designer, software programmer or software architect.

Why is Design Difficult 1.Nascent Body of Knowledge – relatively new field. 2.Confusion and Gurus – good designers must lead 3.Professional Jealously – use humility 4.Management Trap 5.Software Crisis

Where is DESIGN in the SDLC System Initiation Requirements Analysis MockUp User Prototype Design

Where is DESIGN in the SDLC Design Build Database Architecture Build Interface Architecture Build Distributed Architecture Build Technology Architecture

Build Database Architecture Input: Entity Relationship Diagram/Class Diagram Process: Transform ERD into Database Architecture Output: LAYOUT for Relational Database TablesOR IMS Database Segment OR Codasyl Database Pointers OR Object Oriented Database Entities OR Flat File Components

Build Database Architecture STUDENTENROLLSECTIONS M M SSN9 digits{0..9} SName20 char{A..Z, a..z} Major5 digits{0..9} ReferenceNo5 digits{0..9} ClassID7 char{A..Z, 0..9} Bldg5 char{A..Z, a..z} SSN9 digits{0..9} ReferenceNo5 digits{0..9}

Build Interface Architecture Input: Screen Definition, Output Definition Process: Transform Screen Definition into Screen Design with Navigation (Identifying reusable I/O components) Transform Output Definition into Reports and other outputs Outputs: Screen Prototype and Output Prototype

Build Interface Architecture SRF = SSN + {class information} + total hours Class information = Class ID + ref# + hours SSN:Name: Total Hours: Reference NoClass IDHours

Build Distributed Architecture Input: Specification for inputs/outputs, Specification for Use Cases Specification for Domain Classes Specification for Database Process: Transform Specifications into Distributed Specifications Output: Distributed Inputs/Outputs Distributed Use Cases Distributed Databases

Build Distributed Architecture System CRUD request Create Reference Update Delete CRUD response

Build Distributed Architecture Web Browser Web Server http request http response DB db request db response File Server Java Servlet JSP

Build Distributed Architecture Controller http response http request routed request Use Case Servlet Classes Entity Classes do CRUD(SQL request) JavaBean DB db request db response update db resultset JSP Request Dispatcher putValue (JSP bean) Http Session make a JSP Bean ( result set): instance forward to JSP

Build Technology Architecture Inputs: Database Designs Input/Output Designs Distribution Design Process: Transform Designs into Good Design using Analysis Patterns Design Patterns, Refactoring, Component Building Framework Building

Design Build Database Architecture Build Interface Architecture Build Distributed Architecture Build Technology Architecture Majority of course dedicated to Technology Architecture

Technology Design Approaches 1.Zachman 2.Open Distributed Processing (ODP) 3.Domain Analysis View Model

1.Zachman (30 viewpoints of design) IBM Approach (using structured techniques) Who what when why where how for software plan own build design for construction DOD C4ISR –Command, control, computers, communications, intelligent surveillance and reconnaissance Technology Design Approaches

2.Open Distributed Processing (ODP) 5 viewpoints Enterprise viewpoint – domain objects Informational viewpoint- object models Computational viewpoint – components Engineering viewpoint – distributed middleware DCOM (MS distributed object model) CORBA (common object request broker architecture) EJB (sun enterprise java beans) Technology Viewpoint - design patterns Technology Design Approaches

3.Domain Analysis Building systems in a particular domain which utilize reuse and commonalities in the domain. Frameworks in particular domains Technology Design Approaches

4.4+1 View Model Use Case View Logical View Process View Implementation (component) View Deployment View Technology Design Approaches

Global Level Enterprise Level System Level Application Level Frameworks Micro Architectures Objects/ Classes DESIGN LEVELS Commercial marker - Internet Across the Enterprise 0..N Applications 0..N Frameworks 0..N Components 0..N Objects/Classes Refactoring, Design Patterns

Design Patterns Definition: Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits

Design Patterns Definition: Anti-Pattern: A solution pair not a problem solution pair Anti Pattern Solution Contextual Causes Refactored Solution Consequences Benefits Symptoms and Consequences