SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-

Slides:



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

Chapter 10: Designing Databases
Apache Struts Technology
Chapter 10 The Traditional Approach to Design
Web Applications Development Using Coldbox Platform Eddie Johnston.
Objectives In this session, you will learn to:
CS 432 Object-Oriented Analysis and Design
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
8.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Apache Struts Technology A MVC Framework for Java Web Applications.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
Architecture of Enterprise Systems: Domain Model and Database layer
Design I: Web Application Architecture and Patterns Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September.
The Design Discipline.
Databases C HAPTER Chapter 10: Databases2 Databases and Structured Fields  A database is a collection of information –Typically stored as computer.
MVC and MVP. References enter.html enter.html
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
An Introduction to Software Architecture
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Architectural Design.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
1 Another group of Patterns Architectural Patterns.
SEA Side Software Engineering Annotations Annotation 13: Use Cases Professor Sara Stoecklin Director of Software Engineering- Panama City
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Annotation 1: Extreme Programming Professor Sara Stoecklin Director of Software.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 Mapping to Relational Databases Presented by Ramona Su.
Pertemuan 10 Enterprise Application Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Core Indigo Patterns Ted Neward
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
IAD 2263: System Analysis and Design Chapter 7: Designing System Databases, Interfaces and Security.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Architectural Patterns Support Lecture Patterns Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Apache Struts Technology A MVC Framework for Java Web Applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
MVC and other n-tier Architectures
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Design and Maintenance of Web Applications in J2EE
Enterprise Architecture Patterns
Lecture 1: Multi-tier Architecture Overview
Systems Analysis and Design in a Changing World, 6th Edition
Analysis models and design models
Presentation transcript:

SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering- Panama City Ex 182 Florida State University Computer Science

SEA Side – Extreme Programming 2 Patterns Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits

SEA Side – Extreme Programming 3 Software Architecture Architecture is OVERLOADED –System architecture –Application architecture Architecture for this presentation is The modules, processes, interconnections, and protocols which constitute the deployed software system. Different from the behavioral architecture which describes how the business classes execute the business processes.

SEA Side – Extreme Programming 4 Architecture Specification Document which defines in text and diagrams the design, flow and technologies of the design. Shows how persistence, communication, and behavior are to be implemented in the system.

SEA Side – Extreme Programming 5 Types of Patterns Lowest Level – Programming Patterns –Iterator, if, while Design Level – Design Patterns –Factory, builder, --- gang of 4 Before Design – Architectural Patterns –Martin Fowler- presentation, domain, data storage, environment Analysis Patterns – –used in requirements analysis

SEA Side – Extreme Programming 6 Architectural Layers - Patterns –Presentation » interactions with the user – HTML, thick client, MVC, web services –Domain (Logic) »Business rules, validations, calculations, verifications –Data Storage »database –Environmental »Session management, messaging

SEA Side – Extreme Programming 7 Presentation Architectural Patterns Presentation interactions with the user No Client Thick Client (rich client) Thin Client

SEA Side – Extreme Programming 8 Presentation Architectural Patterns Model View Controller Application Controller Input Controller –Page Controller –Front Controller View Controller –Template View –Transform View –Two Step View

SEA Side – Extreme Programming 9 Model View Controller Separation of Presentation (View/Controller) from Domain (Model) Separation of View and Controller Model – Domain object View – Presentation object Controller – Controller object to handle user request/response

SEA Side – Extreme Programming 10 Application Controller A centralized point for handling screen navigation and flow of an application. Application Controller – determines which type of input is needed or which screen. Input Controller View Application Controller Domain Layer

SEA Side – Extreme Programming 11 Application Controller

SEA Side – Extreme Programming 12 Application Controller A single point of control to change program flow and navigation May be in mediating layer between the presentation and the domain May be reusable across various presentations Testable outside the UI framework.

SEA Side – Extreme Programming 13 Front Controller

SEA Side – Extreme Programming 14 Page Controller

SEA Side – Extreme Programming 15 Front vs Page Controller Front Controller –Single point for adding behavior –Can add behavior dynamically (filter pattern) –Use with more complex applications Page Controller –Simple - Input controller per page –Don’t put controller logic into scriplets – use separate classes –More prone to duplicate code with this controller

SEA Side – Extreme Programming 16 Template View

SEA Side – Extreme Programming 17 Transform View

SEA Side – Extreme Programming 18 Template vs Transform vs Two Step Template View –Follows natural editing notions –Supports non=programmer editors of HTML –Needs discipline to avoid scriplets Transform View –Can test without server –Works well with XML Two Step View –Easy to make global appearance changes –Easy to support multiple appearances –Complex

SEA Side – Extreme Programming 19 Example

SEA Side – Extreme Programming 20 Data Storage Need mechanisms to allow RDBMS to communicate in the OO world. With OO databases none of these patterns necessary. Useful even if non-OO language wants to communicate with RDBMS to make the DB flexible to change in type and to make the data representation protected.

SEA Side – Extreme Programming 21 Data Storage Patterns Table Data Gateway Row Data Gateway Active Record Data Mapper Structural Patterns –Foreign Key Mapping, Identify Field Association, Table Mapping, Single Table Inheritance.

SEA Side – Extreme Programming 22 Table Data Gateway

SEA Side – Extreme Programming 23 Row Data Gateway

SEA Side – Extreme Programming 24 Row Data Gateway (2)

SEA Side – Extreme Programming 25 Active Record

SEA Side – Extreme Programming 26 Data Mapper

SEA Side – Extreme Programming 27 Distribution Patterns Remote Façade Data Transfer Object

SEA Side – Extreme Programming 28 Remote Facade

SEA Side – Extreme Programming 29 Data Transfer Object

SEA Side – Extreme Programming 30 Summary No one patterns is an end all Patterns are mechanisms to help decompose applications into reusable, maintainable, modules. The layers of development help to define the needed patterns No pattern is always correct -- fit the application.

SEA Side – Extreme Programming 31 Computing Degrees at FSU-Panama City Math&Science Business Math&EE General Information System Degrees Scientific Degrees Management Information Systems (BS) Information Studies (Web – BS,MS) Computer Science (MS, Web-BS) Computer Engineering (BS, Web-MS)  Systems Analysis  IT Management  Computer Consulting  Application Programming  Web Development  Network Management  Information Systems  Management of Information Services  Social Informatics  Information and Communication Technologies  Embedded Systems  Image Processing  Electronics and Electromagnetics  Signals and Systems  Communications  Microprocessors  Computer Architecture  Operating Systems  Systems Programming  Applications Programming  Database Administration  Systems Administration. Degree Programs Advisor Jeanne Dexter – Advisor Alan Stromberg Advisor Kamran Imen Advisor Sara Stoecklin