26 February Humpty Dumpty Presentations Software Architecture (cont)

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

4.01 How Web Pages Work.
18 October Team Meetings  All team meetings for this week are cancelled (If you WANT to meet, I will)  Beginning next week, demo required at EVERY.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
Application architectures
Patterns Design 13 February.
Design 15 February. Software Engineering: Elaborated Steps Concept (contract, intro on web site) Requirements (use cases, requirements) Architecture Design.
Searching and Researching the World Wide: Emphasis on Christian Websites Developed from the book: Searching and Researching on the Internet and World Wide.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Computer Skills Preparatory Year Presented by: L.Obead Alhadreti.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Course Instructor: Aisha Azeem
(from Diane Pozefsky). Requirements to Product 1. You understand what you want to build 2. Model the real world in software 3. Choose an architecture.
System Design & Software Architecture
18 September Requirements to Product 1. You understand what you want to build 2. Model the real world in software 3. Choose an architecture to.
The Internet & The World Wide Web Notes
* The basic components of a web site are: * Content – information displayed or accepted from users * Static – content that doesn’t change for different.
Application architectures
UNIT-V The MVC architecture and Struts Framework.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
The Design Discipline.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Copyright © Allyn & Bacon 2008 POWER PRACTICE Chapter 7 The Internet and the World Wide Web START This multimedia product and its contents are protected.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Introduction to Information Systems Class Agenda Instructor Introductions –Instructor –Class Objectives Competitive Advantages will be a key area Very.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Chapter 8 The Internet: A Resource for All of Us.
Programming the Web Web = Computer Network + Hypertext.
MULTIMEDIA REVOLUTION
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
System Models, Patterns and Software Architectures 14 February.
Diane Pozefsky. Requirements to Product 1. You understand what you want to build 2. Model the real world in software 3. Choose an architecture to do it:
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
CHAPTER TEN AUTHORING.
SWE 316: Software Design and Architecture Objectives Lecture # 15 Behavioral Design Patterns SWE 316: Software Design and Architecture  To learn the behavioral.
Informatics 43 – May 26, The Design Phase of Software Development Something usually needs to be done after the user’s requirements are specified.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 1 Computer Systems. Why study Computer Architecture? Examples Web Browsing - how does the browser access pages from a server? How can we create.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas -A large element is use of UML as.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
ANU comp2110 Software Design lecture 8 COMP2110 Software Design in 2004 lecture 8 Software Architecture 1 of 2 (design, lecture 3 of 6) Goal of this small.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
ANU comp2110 Software Design lecture 10 COMP2110 Software Design in 2004 lecture 10 Software Architecture 2 of 2 design lecture 5 of 6 Goal of this small.
Lesson 10—Networking BASICS1 Networking BASICS The Internet and Its Tools Unit 3 Lesson 10.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Informatics 43 – May 24, The Design Phase of Software Development Something usually needs to be done after the user’s requirements are specified.
General Architecture of Retrieval Systems 1Adrienn Skrop.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
A PPLICATION ARCHITECTURES Chapter 13. O BJECTIVES To explain the organisation of two fundamental models of business systems - batch processing and transaction.
Professorial kvetches
CS & CS Capstone Project & Software Development Project
System And Application Software
COMP 101 Introduction.
Chapter 5 Architectural Design.
Presentation transcript:

26 February Humpty Dumpty Presentations Software Architecture (cont)

If Programmers Had to Build Planes planes.htm planes.htm

Humpty Dumpty Considerations How far behind are the other two parts? Need for testing with one-of-a- kind hardware How closely related are the parts? Don’t underestimate your predecessor Use industry terminology Testing models Suggestions Short checkpoints Inspections or reviews Tools, esp. testing Available software packages Common utilities Requirements review and reprioritization Protecting teams Chief designer Formal vs. informal channels

Midterm Presentations: Purpose You don’t understand something until you’ve taught it Clarification of your thought process and understanding Sharpen your understanding of the project Facilitate sharing Learn from each other Practice presenting

Midterm Presentations: Logistics March 4 and 6 Assignments now 10 minute presentations (excluding set up) Copies of charts to be posted on website me attachment or link Full attendance is expected

Presentations: The Basics Speak loudly and clearly Stand up No chewing gum when speaking Speak, don’t read: you ARE the experts Practice, practice, practice Set up and test demos and laptops early – and again the day you present

Presentations Hints Cover all topics, but they don’t need equal time! Focus on what’s special about your project Don’t try to cover too much Keep it light (8 other presentations!) Give the audience something to look at

Death by PowerPoint Google it and you can waste many hours One that I like…

Presentations Grading Content and style count Single grade for group Everyone does NOT need to present

Presentation Content Motivation Introduction to the area and project Key domain problems to be addressed “Use Cases” Who are the users What do they need to do Design System design and further detail as needed Key technical problems to be addressed Technologies being used (and why) Demo: what you present to your customer this week Any interesting “why”s

Motivation Tell the class about the problem Information about the group Similar websites or projects Things that you are building on How things are done today What are the problems being faced Why is the project being done

Design The first picture that you would draw for a new team member Sharing with other teams Technologies Major problems (solved or open)

Examples of Architecture Pictures Game Engine Sound File I/O Controller I/O Visual Interface Omega CONTROL MODEL Login VerifyUser Monster Breed VIEW Monster Combat Login

SOME WELL-KNOWN ARCHITECTURES

The Architectures Model-View-Controller Data flow systems Pipes and filters Batch sequential Independent components Client-server Parallel communicating processes Event systems Virtual machines Interpreters Rule-based systems Repositories Databases Hypertext systems Layered architectures

Independent Components Components operating in parallel and communicating occasionally Three types Client-server Browser-web server most familiar example Separate systems with narrow interface Sometimes expanded to three tiers (why?) Façade pattern (single unified interface) Parallel communicating processes Several processes executing at the same time Typically modeled with sequence diagrams Observer pattern (one-to-many dependencies) Event systems Set of components waiting for input Example: word processor waiting for user input State transition diagrams State pattern (alter behavior depending on state)

Parallel Communicating Processes Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Customer: customer n withdraw Customer: customer n+1 Session: session k Session: session m deposit create Account: customer n+1 saving Account: customer n checking create retrieve 3 types of processes, 2 instances of each Duration of process processes actions sequence diagram

Observer Design Pattern Gamma et al Source notify() Observer update() ConcreteSubject state ConcreteObserver observerState update() Client of this system n Request others be notified Notify all observers Determines if change needed Single source of data with a number of clients that need to be updated

Event Systems and State Transition Diagrams Set of components waiting for input

Virtual machines Treats an application as a program written in a special language Payoff is that the interpreter code is the basis for multiple applications Two types Interpreters Rule-based systems

Repository A system built around data Two types Databases Hypertext systems

A Typical Repository System Database DBMS GUI Analysis process 1 Analysis process n …... Control Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Iterator pattern void setToFirst(); points to first element void increment(); causes the iterator to point to its next element C getcurrentElement(); return the element pointed to by the iterator boolean isDone(); true if all elements processed

Hypertext: Basis of the Web Motivated by Vannevar Bush in 1945Vannevar Bush “As We May Think” (Atlantic Monthly)As We May Think Theoretical machine, "memex," to enhance human memory by allowing the user to store and retrieve documents linked by associations Invented by Ted Nelson in the 1960sTed Nelson Popularized with HTML (Tim Berners-Lee)Tim Berners-Lee

Ted Nelson "If computers are the wave of the future, displays are the surfboards." Xanadu: 1974 "give you a screen in your home from which you can see into the world's hypertext libraries... offer high-performance computer graphics and text services at a price anyone can afford... allow you to send and receive written messages... [and] make you a part of a new electronic literature and art, where you can get all your questions answered...“ Computer Lib/Dream Machines

Layered Architecture Role-playing game layer Characters LayoutRolePlayingGame Encounter Characters Encounter Environment Encounter Game Application layer 3D engine layer «uses» Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Coherent collection of software artifacts, typically a package of classes