Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 Second Deliverable By:

Slides:



Advertisements
Similar presentations
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Advertisements

Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
The Sherlock Project Purdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader Tobey Pasheilich Raj Talwar.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The Architecture of Transaction Processing Systems
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Introduction to Web Applications Instructor: Enoch E. Damson.
Web-based Software Development - An introduction.
Software Design and Development Tool. The quality of our products come as result of the more of 50 successful years of combined experience of our technical.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
NMS1.0(c) Copyright Final Year Project Demonstration Dublin City University 29 th May 2003 Team Members : David ReadeTimothy Kelly
INFO425: Systems Design INFORMATION X Finalizing Scope (functions/level of automation)  Finalizing scope in terms of functions and level of.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
1 Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 First Deliverable By:
CS 160: Software Engineering October 8 Class Meeting
Fundamentals of Database Chapter 7 Database Technologies.
Dot Net FM Chris Zamanillo Ana Rodriguez Allen Lee Peter Singh Allen Vega Robert Lyn Software and Object Design.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 Another group of Patterns Architectural Patterns.
PROJECT SECME1 Carthik A. Sharma Juan Carlos Vivanco Majid Ali Khan Santhosh Kumar Grandai Software Engineering Fall 2002.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Computer Emergency Notification System (CENS)
Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 First Deliverable By: Prasad.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
CEN Advanced Software Engineering
Architectural Design Identifying system components and their interfaces.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
© 2005 Prentice Hall10-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
How I spend my money Software architecture course Mohan, Maxim.
Lecture 18: Object-Oriented Design
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
CCCognos Connection RSReport Studio ASAnalysis Studio QSQuery Studio ESEvent Studio CSContent Store FWM Framework.
Computer Science 340 Software Design & Testing Software Architecture.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
Biosolid Design Spec Brief April 21, Overview Design Overview Proposed System Architecture User Interface Subsystem Interfaces Package & File Organization.
ECpE Student Database Team 21 Adviser: Tien Nguyen ECpE and Tony Moore.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Programming Contest Management System Supervisor : Lecturer Phan Tr ư ờng Lâm Students : Hoàng Quang Mạnh Trần Đình Tuấn Nguyễn Thành Trung Phạm Thị Hồng.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Web-based Software Development - An introduction
Structure of a web application
Review for Final, Fall 2010 Close book, Close notes
<<Project Name>> <<Team Members>>
Web Software Model CS 4640 Programming Languages for Web Applications
OO Methodology OO Architecture.
ONGO-08 K-12 Teaching Application
Introduction to Databases Transparencies
Starting Design: Logical Architecture and UML Package Diagrams
An Introduction to Software Architecture
The Islamia University Bahawalpur
Design Yaodong Bi.
Design.
Presentation transcript:

Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 Second Deliverable By: Prasad Tummala, Hien Nguyen, Jose Ballesteros, Pablo A. Maurin, Bin Liu, Rafael Alpízar (Team Four)

Road Map  Introduction  Proposed Software Architecture  System Decomposition Component Diagram Deployment Diagram  Sub System Services  Object Design

Introduction  Purpose Build a system that will manage the ACM Programming Competition including the registration of teams on the web, and the game operations. The system will minimize errors inherent in manual operations, decrease the number of staff required to run the games, increase the communications with the participants prior to the event, and provide current and final results automatically.

Introduction  Design Goal Usability User Friendly Response time Maintenance No dependencies to commercial software component.

Current Software Architecture  Composed of two separate systems that do not have any communications with each other. 1. Web based registration system  Using ASP deployed on IIS  With flat table database deployed on MS SQL server 2. Game Management  Web-based system deployed on Tomcat.  Polling based notification of the judges that a solution has been submitted.

Proposed Software Architecture  Two main subsystems Web Based Subsystem Game Management Subsystem  Three other ancillary subsystems DB Access Subsystem subsystem Utility Subsystem

Subsystem Decomposition  Web Based Subsystem Security Subsystem Team Information Management Subsystem Game Configuration Subsystem

Subsystem Decomposition  Game Management Login Judge Interface Team Player Interface Score Board Game Server Scoring Game Communication Framework

Proposed Software Architecture (Diagram)

Hardware/Software Mapping  Web Based System Components  WebBrowser  Security   ManageTeamServlet  DBInterface  Database Deployed on two nodes:  PC  HostMachine

Component Diagram For Web Subsystem

Deployment Diagram For Web Subsystem

Hardware/Software Mapping  Game Management Subsystem Components  Login  TeamInterface  JudgeInterface  ScoreBoard  GameServer  Scoring  GameCommunicationFramework  DBInterface  Database Deployed on many nodes:  1 Game server  n TeamPC  m JudgePC  1 ScoreBoard

Component Diagram For Game Management Subsystem

Deployment Diagram For Game Management Subsystem

Object Design Trade-Off  Use MS-SQL Server vs. new database  MS Access database vs. other database  Java vs. other languages  Java Messaging System (JMS) vs. Sockets  Tomcat webserver vs. ISS  Servlet & JSP vs. ASP

Sub System Services & Object Design  DB Access Subsystem saveTeam saveAccount updateTeam updateAccount getTeam getAccount deleteTeam saveJudge getJudge deleteJudge setNewScore saveScore

Sub System Services & Object Design  Web-based  Team Information createNewTeam validateInfo updateTeam deleteTeam reportPay recordComment assignTeamID verifyTeam

Subsystem Package Diagram

Subsystems Dependencies

DB Access Subsystem  Provides an interface to interact with the database and is responsible for all object relational mappings.  We solve this problem by applying the Façade Pattern.

DB Access Subsystem  Part of querying a database involves setting up a connection to the database.  Creating and initializing the connection is the most expensive part of a database query.  Avoid creating a connection if at all possible.  Allow all components in a process to use a single global connection resource.  We solve this problem by applying the GangOfFour SingletonPattern. GangOfFourSingletonPattern

 If a system only needs one instance of a class, and that instance needs to be accessible in many different parts of a system, you control both instantiation and access by making that class a singleton.  Ensure a class only has one instance  Provide a global point of access to it  The DBAccess class is made a Singleton, so the single connection will be shared by all components.

Game Communication Framework  Heart of Game Management Subsystem.  Sits on top of JMS  Provides abstraction layer for Server Judge Team Scoreboard

Game Communication Framework  What is JMS?  A framework that provides mechanism for messaging between nodes in distributed network environment.  Provides Point-to-Point Publisher/Subscriber

Software Architecture (Diagram) TCP JMS Server Game Communication Framework Score Board Team Interface Judge Interface  GameManagement Subsytem Layers

Game Communication Framework Class Diagram

Subsystems Dependencies

Game Server Subsystem  Manages all relevant game events Maintaining scores Generating final score report Keeps Game clock. Stores solutions for later retreival.  Sits on top of Game Communications Framework  Implements receiveSolutionNotification() callback method.

Game Server Class Diagram

Scorer Subsystem.  Computes Standing for the game  Rules of the game can potentially change  Two Classes Scorer class provides methods to the Server subsystem for computing standings RulesEngine Interface defines the expected behavior of a RulesEngine to be used by the Scorer class.

Scoring Class Diagram

Thank you