sea side software engineering annotations n.
Skip this Video
Loading SlideShow in 5 Seconds..
SEA Side Software Engineering Annotations PowerPoint Presentation
Download Presentation
SEA Side Software Engineering Annotations

Loading in 2 Seconds...

play fullscreen
1 / 31

SEA Side Software Engineering Annotations - PowerPoint PPT Presentation

  • Uploaded on

SEA Side Software Engineering Annotations. Architectural Patterns Professor Sara Stoecklin Director of Software Engineering- Panama City 850-522-2091 850-522-2023 Ex 182 Florida State University Computer Science . Patterns.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'SEA Side Software Engineering Annotations' - kylemore

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sea side software engineering annotations

SEA Side Software Engineering Annotations

Architectural Patterns

Professor Sara Stoecklin

Director of Software Engineering- Panama City


850-522-2023 Ex 182

Florida State University

Computer Science



Pattern: A representation of a proven solution.


Applicable Forces




software architecture
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.
architecture specification
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.
types of patterns
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
architectural layers patterns
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
presentation architectural patterns
Presentation Architectural Patterns
  • Presentation interactions with the user
  • No Client
  • Thick Client (rich client)
  • Thin Client
presentation architectural patterns1
Presentation Architectural Patterns
  • Model View Controller
  • Application Controller
  • Input Controller
    • Page Controller
    • Front Controller
  • View Controller
    • Template View
    • Transform View
    • Two Step View
model view controller
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

application controller
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



Domain Layer


application controller2
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.
front vs page controller
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
template vs transform vs two step
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
data storage
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.
data storage patterns
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.
distribution patterns
Distribution Patterns
  • Remote Façade
  • Data Transfer Object
  • 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.

Computing Degrees at FSU-Panama City

Information System Degrees

Scientific Degrees

Computer Science (MS, Web-BS)

Management Information Systems (BS)

. Advisor Jeanne Dexter –

. Advisor Sara Stoecklin

  • Systems Analysis
  • IT Management
  • Computer Consulting
  • Application Programming
  • Operating Systems
  • Systems Programming
  • Applications Programming
  • Database Administration
  • Systems Administration





Information Studies (Web – BS,MS)

Computer Engineering (BS, Web-MS)

. Advisor Alan Stromberg

. Advisor Kamran Imen

  • Embedded Systems
  • Image Processing
  • Electronics and Electromagnetics
  • Signals and Systems
  • Communications
  • Microprocessors
  • Computer Architecture
  • Web Development
  • Network Management
  • Information Systems
  • Management of Information Services
  • Social Informatics
  • Information and Communication Technologies

. Degree Programs