Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into.

Slides:



Advertisements
Similar presentations
Chapter 4, Requirements Elicitation
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
CEN 4010 Fifth Lecture February 8, 2006 Introduction to Software Engineering (CEN- 4010) Spring 2006 Instructor: Masoud Sadjadi
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5: Analysis, Object Modeling.
Software Testing and Quality Assurance
Chapter 4, Requirements Elicitation
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Team 13: Cody Smoker Chris Rickerd Matthew Berryhill Galaxy Sleuth.
ARENA Case Study Project for Software Engineering Prepared by: Dalal Al-Shammari 2001/55313 Fall 2005 Supervisor: Dr. Qutaibah Mallohi.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java Project Management Introduction Using UML, Patterns,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Example of a Problem Statement: Introduction into ARENA.
Web Browsers It is an application software that is used to display and interact with text, images and other information located on web pages at web sites.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Reminders  First project report due today 14:00.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Project Analysis Course ( ) Week 2 Activities.
Chapter 4, Requirements Elicitation
Presentation material is based on notes from Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 ECE.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Software Engineering CS B Prof. George Heineman.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 8, Object Design: Reusing Pattern Solutions.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Object Modeling.
Credit Hours Agenda IntroductionProblem Statement Objectives Project PlanMethodology Work Breakdown Structure Requirements and specificationSoftware Requirements.
1 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Reminders The 0 th project reports (case) will.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
CEN th Lecture Advance Software Engineering (CEN-5011) Instructor: Masoud Sadjadi Requirements Elicitation.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 A Typical Example of Software Lifecycle Activities.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Distributed Control and Measurement via the Internet
Example of a Problem Statement: Introduction into ARENA
Hyper-V Cloud Proof of Concept Kickoff Meeting <Customer Name>
Example of a Problem Statement: Introduction into ARENA
Advance Software Engineering (CEN-5011)
Chapter 1, Introduction to Software Engineering
Example of a Problem Statement: Introduction into ARENA
Introduction to Software Engineering (CEN-4010)
Chapter 4, Requirements Elicitation
Presentation transcript:

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into ARENA Instructor Date

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Outline Problem Statement Functional Requirements Nonfunctional Requirements User Interface Object Model System Decomposition Deployment

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Problem Statement The problem statement is developed by the client as a description of the problem addressed by the system A problem statement describes The current situation The objectives The functionality the new system should support The environment in which the system will be deployed Deliverables expected by the client Delivery dates A set of acceptance criteria.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Ingredients of a Problem Statement 1.Current situation The problem to be solved Description of one or more scenarios 2.Objectives 3.Requirements Functional and nonfunctional requirements Constraints (“pseudo requirements”) 4.Target environment The environment in which the delivered system has to perform a specified set of system tests 5.Project schedule Major milestones including deadline for delivery 6.Client acceptance criteria Criteria for the system tests.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Current situation: The problem to be solved There is a problem in the current situation Examples: The response time when playing chess is too slow. I want to play Go, but cannot find players on my level. What has changed? Why can address the problem now? Change in the application domain A new function (business process) is introduced into the business Change in the solution domain A new solution (technology enabler) has appeared

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 ARENA: The Current Situation The Internet has enabled virtual communities Multi-player computer games now include support for virtual communities Players can receive news about game upgrades, new game levels, announcement of matches and scores Currently each game company develops such community support in each individual game Each company uses a different infrastructure, different concepts, and provides different levels of support This redundancy leads to problems: High learning curve for players joining a community Game companies develop the support from scratch Advertisers contact each community separately.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 ARENA: The Objectives Provide a generic infrastructure to Support virtual game communities. Register new games Register new players Organize tournaments Keeping track of the players scores. Provide a framework for tournament organizers to customize the number and sequence of matchers and the accumulation of expert rating points. Provide a framework for game developers for developing new games, or for adapting existing games into the ARENA framework. Provide an infrastructure for advertisers.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 ARENA: The Objectives (2) Provide a framework for tournament organizers to customize the number and sequence of matchers and the accumulation of expert rating points Provide a framework for game developers for developing new games, or for adapting existing games into the ARENA framework Provide an infrastructure for advertisers.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 ARENA Functional Requirements Spectators must be able to watch matches in progress without prior registration and without prior knowledge of the match The operator must be able to add new games.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 ARENA Nonfunctional Requirements The system must support 10 parallel tournaments, Each involving up to 64 players and several hundreds of spectators. The ARENA server must be available 24 hours a day The operator must be able to add new games without modifications to the existing system ARENA must be able to dynamically interface to existing games provided by other game developers.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Constraints Constraint: Any client restriction on the solution domain and project management Sometimes also called Pseudo Requirements Constraints restrict the solution space Example of constraints Delivery constraints (“must be delivered before Christmas”) Organizational constraints (“must have a separate testing team”) Implementation constraints (“must be written in Cobol”) Target platform constraints (“must run on Windows 98”)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 ARENA Target Environment Example: Users must be able to run ARENA games as applets in any Web Browser The web page must be validated through the W3C Markup Validation Service Interaction with the ARENA Server must be via HTTP/1.1. To be distinguished from development environment “Prototypes will be built with Revolution 2.6.1” “Games will be tested with Internet Explorer and Firefox” “The implementation language will be Java ” “The IDE will be Eclipse 3.2”

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Project Schedule The project schedule is an optional part of the problem statement Managerial information Often the seed for the schedule in the software project management plan. Lists only major milestones negotiated with the client 3 to 4 dates (fixed dates!) Example: Project-kickoff April 15 System review May 15 Review of first prototype Jun 10 Client acceptance test July 30

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Client Acceptance Criteria The system supports 10 parallel tournaments with 64 players and 10 spectators per tournament The client supports the games Tic-Tac-Toe and Asteroids The average response time for a command issued by a client is less than 1 second The average up-time of the ARENA server during one week of testing is 95%.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 (Initial) ARENA Models Subsystem Decomposition User Interface of Client User Interface of Server Object Model

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 ARENA Subsystem Decomposition Tournament Component Management User Management Tournament Statistics User DirectoryUser Interface Session Management Advertisement

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 ARENA Object Model Tournament League Game Tournament Style Player Round Match KOStyle RoundRobin

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 ARENA Object Model (2) Tournament League Game TournamentStyle Player Round Match TicTacToe Asteroids KOStyle RoundRobin Move MatchPanel Factory MatchPanel creates

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 ARENA Instance-Diagram

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 ARENA User Interface (Client)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 ARENA User Interface (Server)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 More Information on ARENA The ARENA Website: The ARENA case study is described at the end of each chapter, starting with Chapter 4 Read Chapter 4.6