1 Some initial Design suggestions… Getting started… where to begin? Find out whether your design architecture will work… as soon as possible. If you need.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Testing Relational Database
1 SWE 513: Software Engineering Requirements II. 2 Details in Requirements Requirements must be specific Examples -- university admissions system Requests.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
6/1/2015Ch.31 Defining Enterprise Architecture Bina Ramamurthy.
Distributed components
© 2005 Prentice Hall7-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Application architectures
Middleware Technologies compiled by: Thomas M. Cosley.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Distributed Information Systems - The Client server model
Figure 1.1 Interaction between applications and the operating system.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Course Instructor: Aisha Azeem
Client/Server Architecture
Application architectures
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
N-Tier Architecture.
Client/Server Technology Two-Tier Architecture Three-Tier Architecture Josh Antonelli Jenn Lang Joe Schisselbauer Chad Williams.
Business Processes and Workflow How to go from idea to implementation
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Software Engineering CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Team Members David Haas Yun Tang Robert Njoroge Tom Kerwin Clients Facilities Management Don Anderson Rick Klein.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecture Planning and designing a successful system Use tried and tested techniques Easy to maintain Robust and long lasting.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
New perfSonar Dashboard Andy Lake, Tom Wlodek. What is the dashboard? I assume that everybody is familiar with the “old dashboard”:
We will cover in this lecture A first look at issues related to Security Maintenance Scalability Simple Three Tier Architecture Module Road Map Assignment.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Design Patterns -- Omkar. Introduction  When do we use design patterns  Uses of design patterns  Classification of design patterns  Creational design.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Or how to work smarter when building solutions.  2:30 – 3:30 Mondays – focus on problem solving (with some terminology thrown in upon occasion)  All.
1 Exchange Network – Why Should I participate??? Whad’ya Node? Exchange Network Node Mentoring Workshop Presented by Molly O’Neill New Orleans, Louisiana.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Chapter 1 Revealed Distributed Objects Design Concepts CSLA.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Lecture VIII: Software Architecture
Chapter 2 Database Environment.
CS223: Software Engineering
CS223: Software Engineering Lecture 14: Architectural Patterns.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
N-Tier Architecture.
Redundancy Control For PostgreSQL
Distribution and components
Part 3 Design What does design mean in different fields?
Lecture 1: Multi-tier Architecture Overview
Tiers vs. Layers.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
CORBA Programming B.Ramamurthy Chapter 3 5/2/2019.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

1 Some initial Design suggestions… Getting started… where to begin? Find out whether your design architecture will work… as soon as possible. If you need to make changes to the initial design… better sooner rather than later. You need sponsor feedback on the usability of your design as soon as possible.

2 Create an End-to-End Working System System components created as “hollow” objects. –Client, web server, and database layer Initially the objects do no work. –Login accepts a single user name and generates a valid login. –Database access layer returns canned data, not data from the database Define the information that the objects need to exchange and document these interfaces with method signatures. Now each object can be assigned to a different set of team members. Write enough code to make everything look as if it works.

3 System with Four Major Layers Client Server Business Rules Data Access Layer Database

4 Each Layer is worked on independently Assume each layer exists on a different computer – with all communication over the network. No one can access the code of another layer directly. Architecture is scalable … e.g. if a layer requires more resources, you could conceivably move to a larger machine.

5 Write Interface Stubs Keep it simple – the goal of the interface is to be just thin enough to compile and be used. Examples: Boolean Login (String userName, String passWord) {return true;} DataSet AnalyzeDataSet (DataSet thisDataSet) {DataSet thatDataSet = new DataSet( ); thatDataSeet.add(2); thatDataSeet.add(3); thatDataSeet.add(5); return thatDataSet; } These are routines that a client can invoke and use

6 Make sure the “hollow” shell works… The goal… Complete, documented, architecture. Proof of Concept that shows the designed architecture works. –You can see a client request run, end-to-end. –You have a design prototype! Clear boundaries defined for work assignments. Functionality has been encapsulated. Team interaction is facilitated with the need to talk about “adjacent” code.

7 Adding Detail Trying to define all the detail at the beginning is time consuming and delays finding out whether the design as a whole will work. Adding the functionality will take time… make sure the hollow shell works end to end before implementing the real “stuff”. When you start adding detail… solve the hardest problems first. Making Login work first is a mistake.

8 Effective Design Meetings?? One team member leads the meeting… maintains order and focus… keeps a speaker list. Notes should be recorded on a white board… everyone must be able to see method signatures as they are discussed and agreed upon. Record the interfaces and “publish” them so everyone knows!! Hold meetings where you will not be interrupted.