Java case studies: game playing. development



Similar documents
The non-trivial Java example Mouse in a Maze

"New Java course material and available pool of.ppt presentations"

CREATE AN ANIMATED AQUARIUM IN POWERPOINT

- User input includes typing on the keyboard, clicking of a mouse, tapping or swiping a touch screen device, etc.

Chapter 13: Program Development and Programming Languages

The JCSE Teaching Material - A Review

Use these cards as a matching game

Starting Concept Mapping Activities

Sources: On the Web: Slides will be available on:

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Lectures 9 Advanced Operating Systems Fundamental Security. Computer Systems Administration TE2003

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

V.A.R.K. LEARNING STYLES TEST

YOUTH SOCCER COACHES GUIDE TO SUCCESS Norbert Altenstad

How to Create a Resume Using Microsoft Word

Tech Radar - May 2015

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

Chapter 1 Fundamentals of Java Programming

1. FINNISH FRIEND PROGRAMME GUIDE WHY DO YOU WANT A FINNISH FRIEND? GOOD PRACTISES CONTACT HOW TO AND HOW OFTEN...

Arcade Game Maker Product Line Production Plan

REPEATED TRIALS. The probability of winning those k chosen times and losing the other times is then p k q n k.

Considering Learning Styles in Learning Management Systems: Investigating the Behavior of Students in an Online Course*

The Richard Pate School. Draft Year 4 Scheme of Work for Scratch

Relay. Calendar Setup. Google Calendar

Chapter 13: Program Development and Programming Languages

UML Class Diagrams (1.8.7) 9/2/2009

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman

Introduction to U-verse Easy Remote

Applying MDA in Developing Intermediary Service for Data Retrieval

Getting Started with 4-part Harmony

Microsoft PowerPoint Exercises 4

FileBound: Internet Settings & Requirements

The rest of this document describes how to facilitate a Danske Bank Kanban game.

Fusion's runtime does its best to match the animation with the movement of the character. It does this job at three different levels :

Shutting down / Rebooting Small Business Server 2003 Version 1.00

Greetings Keyboard Mastery Keyboarding Students! Teacher: Mrs. Wright

GUI and Web Programming

Introduction to scripting with Unity

One pile, two pile, three piles

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

FAQ Exodus Proxima Centauri 07/2013

Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course

Mapping with CMap Software Jamie Armstrong

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Dr. Mary Hynes Danielak, PsyD

Creating a Time-lapse Effect in Corel VideoStudio Pro

CHAPTER 14 Understanding an App s Architecture

To begin, visit this URL:

Node-Based Structures Linked Lists: Implementation

Kodu Curriculum: Getting Started with Keyboard and Mouse

STEP 1: IDENTIFY A BEHAVIOR TO CHANGE

COMPUTER SCIENCE 1026A COMPUTER SCIENCE FUNDAMENTALS

INFO/CS 4302 Web Information Systems. FT 2012 Week 1: Course Introduction

Using Word 2007 For Mail Merge

3D web visualization of huge CityGML models

Chapter 13 Configuration Management

Sample Pages. This pdf contains sample pages from the ebook The Easy Guide to Jazz Guitar Arpeggios. To get the full ebook, Click Here

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Blackboard s Collaboration Tool

Thank you for choosing mysdatv box for being your gateway to faith and family programming. I pray that this programming will be a blessing for you

Mathematical goals. Starting points. Materials required. Time needed

Nero Video: Add and Edit Menus with Nero Video

COMMUNITY COLLEGE OF CITY UNIVERSITY CITY UNIVERSITY OF HONG KONG

Working With Microsoft PowerPoint

OPERATING SYSTEM SERVICES

Study Skills P ATTERSON 4TH GRADE PLEASE USE THIS INFORMATION TO ASSIST YOU IN UTILIZING EFFICIENT STUDY SKILLS.

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Let s put together a Manual Processor

Dr. Pat Mirenda. Software Design Specification Document

CREDIT CARD FRAUD DETECTION SYSTEM USING GENETIC ALGORITHM

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Suitable for: Beginners with absolutely no previous experience. Beginners who appear particularly shy or nervous.

WIDAM - WEB INTERACTION DISPLAY AND MONITORING

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

Action settings and interactivity

Introduction to extreme Programming (XP)

Effective Java Programming. efficient software development

Automated Testing Tool

First Settings Check for your Internet Explorer 7.0. Please make sure that you follow the settings process on all pages attached

Pigeonhole Principle Solutions

Advanced Digital Imaging

The Promised Land. You will need: Other items depending on the activities chosen

CHAPTER 18 Programming Your App to Make Decisions: Conditional Blocks

Zero-knowledge games. Christmas Lectures 2008

We are going to investigate what happens when we draw the three angle bisectors of a triangle using Geometer s Sketchpad.

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

THE OPEN UNIVERSITY OF TANZANIA

0 0 such that f x L whenever x a

Conflict Resolution / Behavior Management Notes - New

Transcription:

Java case studies: game playing A simple software development process from specification, to design, implementation, and test DAAD project Joint Course on OOP using Java Humboldt University Berlin, University of Novi Sad, Polytehnica University of Timisoara, University of Plovdiv, University of Belgrade Author: Dušan Tošić Version: Sep. 21, 2006 Points of this development Java sample games For the lecturer only Create a simple game by using Java Point out the significance of requirements in software development Demonstrate the importance of software engineering principles for simple Java programs development Using Java API DAAD project Joint Course on OOP using Java 2 1

Course materials For the lecturer only Lecture slides: about 20 slides takes 1 lecture hour Assignments: modify presented programs by adding new requirements make new games using presented examples Starting from presented examples, make a program that can be use in education. DAAD project Joint Course on OOP using Java 3 Goal: Develop the program-game: game: Memory test Task: Develop a program, to test the memory of the user! Motive: Test the memory of some pupils. DAAD project Joint Course on OOP using Java 4 2

First option The Requirements are not specified on the beginning. A pupil: I made a good Pascal program, we can use it! OK, we can try that program! (The same kind of program, as an application, we can easily make in Java!) Text-based program:pascal\mem1.exe DAAD project Joint Course on OOP using Java 5 Facts concerning software development phases Most errors of software systems result from misunderstanding the problem to be solved. Software development consists only of a small part of programming: Requirements analysis: 20 % Design: 15% Implementation: 20 % Test: 45 % This slide is taken from K. Bothe DAAD project Joint Course on OOP using Java 6 3

Learning goals The presented examples should stress out the importance of requirements in the process of software development. Before implementing, the next step should be design of the application: specify components and relations between them. Starting with the implementation too early may lead to project s failure. DAAD project Joint Course on OOP using Java 7 Development process of Memory test Requirements analysis Design Implementation and test DAAD project Joint Course on OOP using Java 8 4

1. Requirements analysis: Memory test Task: Develop a program based on GUI to test memory of the user. The user should have possibilities to open 2 fields and see data there. If 2 fields with same data are opened, the fields stay opened, otherwise closed. The goal is to open all fields. Questions? DAAD project Joint Course on OOP using Java 9 Open questions What kind of program should be developed (applet or application in Java)? Whether use keyboard or mouse? How the field should look like? What kind of data should be put into fields? How to measure the properties (capacity) of memory? DAAD project Joint Course on OOP using Java 10 5

Requirements specification (1,2,3) 1. It is not so important; the applet is acceptable. 2. The mouse should be use. 3. The table with fields can be designed in the following way: A field DAAD project Joint Course on OOP using Java 11 Requirements Specification (4,5) 4. For the beginning, the kind of data is not so important (we can use: numbers, letters, signes,...) 5. The numbers of mouse-clicks can be use as the measure. The second option: MarijaSegrt\PAMCENJE.HTML DAAD project Joint Course on OOP using Java 12 6

2. Requirements analysis: Memory test The first 3 requirements can stay. Additional requirements: Instead the numbers, some pictures can be used as data in fields. For example, something like these: Some other measures could be use for the capacity of memory. For example the time spent. DAAD project Joint Course on OOP using Java 13 Some changes are made in design of table and two new implementations are created. The third option: Ann\SEMINARSKI_JEZICI\index.html SrdjanJeisel\memorija.html DAAD project Joint Course on OOP using Java 14 7

3. Requirements analysis: Memory test The previous requirements can be kept. The game may be improved by introducing the different levels. As the measure, the number of tests can be used (in fact, this measure is used in the second option). The fourth option: Dusan Radojevic\Memory.html DAAD project Joint Course on OOP using Java 15 Development process of Memory test Requirements analysis Design Implementation and test DAAD project Joint Course on OOP using Java 16 8

Notes about design SW architecture description languages: UML- industry standard. So, the UML is used in this process. The finding of classes and relations between them is the most important task. (In our cases different classes are used in different examples.) Our task is not so complicated (it is a simple student s assignment!) Thus, the structure of our program(s) should not be complicated. We will skip the details about design-phase. DAAD project Joint Course on OOP using Java 17 Development process of Memory test Requirements analysis Design Implementation and test DAAD project Joint Course on OOP using Java 18 9

Note about implementation The different implementations are presented here. The programming language Java is used for the GUI-implementation. If requirements are well defined and design phase is completed, the implementation phase is simple. The details related to the implementation will be skipped. (The source code is available.) DAAD project Joint Course on OOP using Java 19 Testing This is the most time consuming phase. After the first version of programs, different corrections are made. On the beginning, the testing is made without pictures. Later, the pictures are included. The most interesting cases are examined but the errors are possible. DAAD project Joint Course on OOP using Java 20 10

Critics of the implementations The on-line help is usually absent. The applets are not scaleable. Better structure of classes is necessary. Program should be more secure (the private variable should be used).... DAAD project Joint Course on OOP using Java 21 11