ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study.

Slides:



Advertisements
Similar presentations
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Advertisements

Objectives Detailed Object-Oriented Requirements Definitions
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Mgt 240 Lecture Decision Support Systems March 3, 2005.
Design of Web-based Systems IS Development: lecture 10.
Design 15 February. Software Engineering: Elaborated Steps Concept (contract, intro on web site) Requirements (use cases, requirements) Architecture Design.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
The case study ‘Encounter’ Section ‘About case studies’ 4 th Workshop “Software Engineering Education and Reverse Engineering” Zagreb, 5 – 12 September.
2.0. Requirements Capture and Analysis with UML The Unified Modeling Language 2.0 ( Class/Object diagrams (static) Sequence diagrams (dynamic)
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Object-Oriented Analysis and Design
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
REQUIREMENTS ANALYSIS II
Lecture 6 Unified Modeling Language (UML)
UNIT TESTING. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering Roadmap Identify corporate.
Chapter 13 Requirements and Domain Classes. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed.
REQUIREMENTS ANALYSIS. Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area.
Comp2110 Software Design lecture 13Detailed Design (1)  detailed design contrasted with high level design  introducing the Observer Design Pattern 
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture.
Fundamentals of Game Design, 2 nd Edition by Ernest Adams Chapter 10: Core Mechanics.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Requirements Documentation CSCI 5801: Software Engineering.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
1 Modeling interactions and behavior Lecturer Dr. Mai Fadel.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
1. The Context of Software Engineering. Definition of “Engineering” The profession in which a knowledge of the mathematical and natural sciences gained.
REQUIREMENTS ANALYSIS - C1. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Identify corporate practices.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Sept. 18, 2003CS WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.
ANU comp2110 Software Design lecture 4 COMP2110 Software Design in 2003 lecture 4 Requirements Specifications lecture 2 of 3 1.The process of creating.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Modelling Class T07 Conceptual Modelling – Behaviour References: –Conceptual Modeling of Information Systems (Chapters 11, 12, 13 and 14)
OHTO -99 SOFTWARE ENGINEERING LECTURE 7 Today: - Design principles: - maintainability & localisation - Testing & testing plan.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
CSC 480 Software Engineering
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
SYSE 802 John D. McGregor Module 1 Session 2 Requirements Modeling in SysML.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
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.
Prof. Hany H. Ammar, CSEE, WVU, and
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
Summary from previous lectures
CSC480 Software Engineering Lecture 7 September 16, 2002.
4 REQUIREMENTS ANALYSIS II. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Software Engineering Roadmap:
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
People and Teams Design.  For me ◦ Team meetings ◦ Next week’s demos  For client ◦ Your responsibility to schedule ◦ Can invite to next week’s presentation.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Object Oriented Analysis & Design By Rashid Mahmood.
REQUIREMENTS ANALYSIS II. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Software Engineering Roadmap:
COMP2110 Software Design in 2004 lecture 09 High level design
Chapter 9 Requirements Modeling: Scenario-Based Methods
Chapter 13 Requirements and Domain Classes
4 REQUIREMENTS ANALYSIS CASE STUDY
Analysis models and design models
RPG Video Game Architecture Packages -- showing domain classes only
Classes for Encounter Video Game
Sketch of Encounter State-Transition Diagram
Initialize Use Case for Encounter
Presentation transcript:

ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study 1. introduction to the Problem – the Encounter Game 2. examples from the specification document

ANU comp2110 Software Design lecture 5 The Software Requirements Specification SRS The product of the Analysis phase is a well defined information model: a set of labelled, organised requirements statements: functional consumer and developer requirements system requirements performance requirements a set of use cases or scenarios that capture and express the relationships between the model and the real world of the problem other explanatory models: interfaces, states, decisions

ANU comp2110 Software Design lecture 5 A Case Study of Encounter: Overview (1) An overview of the Specification of the Encounter video game Specification document comes in 2 parts: Encounter-SRS/EncounterSRS-1.html and... EncounterSRS-1.html you need to study this to prepare for tutorial in week 3

ANU comp2110 Software Design lecture 5 A Case Study of Encounter: Overview (2) The Encounter game is a computer based role playing game which simulates all or part of the lifetime of the player’s character includes characters not under player’s control, called foreign chacters game characters have a number of qualities: strength, speed, patience etc each quality has a numerical values the game is played over a map of areas (rooms) characters engage each other when in the same area the result of an engagement depends on the area and the values of the qualities of the two characters success is measured by living as long as possible with accumulated points

ANU comp2110 Software Design lecture 5 Sample Encounter Screen dressing room kitchen living room COURTYARD Set qualitiesEnd gameGet status Graphics reproduced with permission from Corel. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

ANU comp2110 Software Design lecture 5

User Interface for Setting Quality Values Shawn Choose the quality you wish to set 16.3 Current life points: Choose the value of the quality selected image Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

ANU comp2110 Software Design lecture 5 User Interface for Setting Quality Values The values of the qualities not specifically chosen remain in the same proportion to each other. Values less than 1.0 are counted as zero. E.g., before: strength = 10.0, endurance = 60.0, intelligence = 30.0, patience = 0.0 (current life points = 100.0) change: strength from 10.0 to 20.0 after: strength = 20, endurance = 53.33, intelligence = Current life points: Image Choose the quality you wish to set Choose the value of the quality selected Explanation Shawn OK Graphics reproduced with permission from Corel. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

ANU comp2110 Software Design lecture 5 2. Player requests a window for setting his character’s qualities.

ANU comp2110 Software Design lecture 5 Engage Foreign Character Use Case Encounter player 1. System displays the foreign character in the same area as the player’s. 2. System exchanges data between the two characters. 3. System displays the results of the engagement in a message window. 4. Player dismisses window. Initialize.. Engage foreign character Name of use case Details of use case Actor (agency external to the application) Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

ANU comp2110 Software Design lecture 5 A use case expressed in text "Engage Foreign character" use case Actor: player of Encounter 1. System displays the foreign character into the same area as the player 2. System exchanges data between the two characters 3. System displays the results of the engagement in a message window. 4. Player dismisses window.

ANU comp2110 Software Design lecture 5 A use case expressed in text "Engage Encounter Foreign character" use case Actor: player of Encounter 1. System displays the moves a foreign character into the same area as area occupied by the player or Player moves into the area containing a foreign character. 2. System exchanges data between the two characters causes the two characters to engage. 3. System displays the results of the engagement in a message window. 4. Player dismisses window. 4. If either the player's character or the foreign character has no points, the game terminates; or 5. System moves the player's character to a random area different from that in which the encounter took place, and displays it there.

ANU comp2110 Software Design lecture 5 A use case expressed in text - and refined "Encounter Foreign character" use case Actor: player of Encounter 1. System moves a foreign character into the area occupied by the player or Player moves into the area containing a foreign character. 2. System causes the two characters to engage. 3. System displays the results of the engagement 4. If either the player's character or the foreign character has no points, the game terminates; or 5. System moves the player's character to a random area different from that in which the encounter took place, and displays it there.

ANU comp2110 Software Design lecture create; display Sequence Diagram for Engage Foreign Character Use Case 2.1 execute 3 create and show :Engagement Display :Engagement 2.2 change quality values 1.2 create :Player Character :Encounter Game freddie: Foreign Character Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

ANU comp2110 Software Design lecture 5 From Sequence diagrams to Domain classes (1) these sequence diagrams are figures 13.22, 13.23, in Braude SD (with some changes) use cases are a beginning point for requirements and analysis alternatives include scenarios, event-action cases no prescribed format: but writing the use cases drags needs from the client drives the analysis of the information model to identify the “ingredients” - domain classes and some of the actions drives refinement, organisation, improvement of specification

ANU comp2110 Software Design lecture 5 From Sequence diagrams to Domain classes (2) Classes in the Encounter game classobject from Initialize sequence diagram: EncounterGame(a single object) PlayerCharactermainPlayerCharacter AreadressingRoom PlayerQualityWindow (a GUI class for the use case only) from Encounter foreign character: ForeignCharacterfreddie Engagement(a single object) Other domain classes can come from brainstorming & paring down.

ANU comp2110 Software Design lecture 5 Other sources of Domain classes? The use cases do not provide all of the useful classes for writing and organising the specifications EncounterGame PlayerCharacter Area PlayerQualityWindow ForeignCharacter Engagement EngagementDisplay GameCharacter AreaConnection ConnectionHyperlink Other domain classes can come from brainstorming & paring down door exit combat passageway result score rule quality... and more see fig 13.41

ANU comp2110 Software Design lecture 5 Other sources of Domain classes? (2)... brainstorming & paring down Game: not a domain class, too general GameCharacter : too general – replace by PlayerCharacter ForeignCharacter : OK to keep, acts a bit differently from PlayerCharacter – so introduce EncounterCharacter as common parent Quality : omit, try to handle as an attribute of EncounterCharacter Room : we already have Area which covers this concept, no need to distinguish any difference

ANU comp2110 Software Design lecture 5 Why look for the domain classes? the domain classes are the key concepts (nouns) that should appear in most of our functional requirements statements we want to easily match requirements with classes in the design: keeping the domain classes (and adding more classes) is a good starting point for design

ANU comp2110 Software Design lecture 5 Information models – finite state model