DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.

Slides:



Advertisements
Similar presentations
Interaction Design: Visio
Advertisements

Game with US Beginner Tutorial. Welcome!! Who I am What is Processing? Basic Coding Input Methods Images Classes Arrays.
L3:CSC © Dr. Basheer M. Nasef Lecture #3 By Dr. Basheer M. Nasef.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UML for design: Class Diagrams.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Unit 1: Java and Eclipse UML. Depending on the source, the acronym UML is said to stand for “unified modeling language” or “universal modeling language”.
1 CSE1301 Computer Programming: Lecture 23 Algorithm Design (Part 1)
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Development Software Life Cycle UML Diagrams.
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
Concept of a Multilingual Virtual Classroom Network for Software Engineering Module Katerina Zdravkova Institute of Informatics, Skopje
18-Jun-15 Applets. 2 An applet is a program that is typically embedded in a Web page and can be run from a browser You need special HTML in the Web page.
OOP&M - laboratory lectures1 OOP&M – LAB3 LABtres: drawing.
Applets. An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page and can be run from a browser You.
26-Jun-15 Applets. 2 An applet is a Panel that allows interaction with a Java program A applet is typically embedded in a Web page and can be run from.
DAAD Project “Joint Course on Software Engineering” Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University.
28-Jun-15 Applets. 2 An applet is a program that is typically embedded in a Web page and can be run from a browser You need special HTML in the Web page.
Java Quick & Dirty By Bert Wachsmuth. Overview  We will cover: What is Java Using and Writing Java applets Getting more information  We will need: Knowledge.
1 CSE1301 Computer Programming: Lecture 25 Software Engineering 2.
Copyright policy DAAD Project Joint Course on Software Engineering Contributors K. Bothe, D. Bojić, Z. Budimac, K. Schützler, S. Stoyanov, K. Zdravkova.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Review Reports: a means to Collect Experience and Feedback1 Review Reports: a Means to Collect Experience and Feedback Klaus Bothe 3rd Workshop Software.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
Object Oriented Software Development
DAAD project “Joint Course on OOP using Java” Design Patterns in the course ‘OOP in Java’ - first experiences Ana Madevska Bogdanova Institute of informatics.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The Program Development Cycle
More with Methods (parameters, reference vs. value, array processing) Corresponds with Chapters 5 and 6.
Learn about the types of Graphics that are available Develop a basic Graphics applet Develop a basic Graphics application Review the Java API and use.
1 k Jarek Rossignac,  2008 Processing  Install Processing  Learn how to edit, run, save, export, post programs  Understand.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
SEE&REZagreb, On the course architecture and course homepage Mirjana Ivanovic Faculty of Science, Department of Mathematics and Informatics Trg.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
7th Workshop SEERE, Risan, 8-15 September, "New Java course material and available pool of.ppt presentations" D. Pešović, M. Ivanović, Ž. Komlenov.
Tot 15 LTPDA Graphic User Interface summary and status N. Tateo 26/06/2007.
POS 406 Java Technology And Beginning Java Code
Introduction into component programming based on Java beans Dušan Tošić
Verb Expansion Game Team 3 Bryan Bloss Jeremy Comardelle Gordon Gable Gleyner Garden Sponsored By: Dr. Beth Young.
23-Oct-15 Abstract Data Types. 2 Data types A data type is characterized by: a set of values a data representation, which is common to all these values,
Java Applets 1. What is an applet? An applet is a small Java program that is typically embedded in a Web page and can be run using the applet viewer or.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
STAR Sti, main features V. Perevoztchikov Brookhaven National Laboratory,USA.
1 6th Workshop "SEERE", Ravda, September 2006 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe.
Data Structures Using C++ 2E
Java Fundamentals Usman Ependi UBD
90-723: Data Structures and Algorithms for Information Processing Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 1: Introduction Data.
Object-Oriented Principles Applications to Programming.
Dr D. Greer, Queens University Belfast )Chapter Six 1 Software Engineering Chapter Six Software Design Quality Learning Outcomes.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 11 Object-Oriented.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
CHAPTER 14 Classes, Objects, and Games XNA Game Studio 4.0.
By Mr. Putnam. In Catfall, the goal of the game is to touch the falling cats with the mouse. Every time you touch a cat, your score goes up by one point.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Object Oriented Analysis & Design By Rashid Mahmood.
Lecture 1 Introduction. © 2006 Pearson Addison-Wesley. All rights reserved 1-2 Your world is filled with objects. Many of these objects are controlled.
ASSIGNMENT OBJECTIVES
Chapter 11 Object-Oriented Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Week 13: Wrap-up Refining Class Diagram and Implementation
The non-trivial Java example ‘Mouse in a Maze’
Week 15: Refining Class Diagram and Implementation
Presentation transcript:

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. 2, 2005 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“ © 2 Points of this development Java sample game Create a simple game by using Java Illustrate a methodology how to develop a Java- applet step by step. Demonstrate the importance of software engineering principles for simple Java programs development Inspired by the lecture K. Bothe “Mouse in a Maze ” Using Java API For the lecturer only

DAAD project „Joint Course on OOP using Java“ © 3 Course materials  Lecture slides: about 20 slides takes 2 lecture hours (to complete the whole process)  Assignments: modify presented program make new games using presented example. For the lecturer only

DAAD project „Joint Course on OOP using Java“ © 4 Global description of the task: “Lost cat” Task: Develop a program, to simulate the finding of a lost cat by using information ‘closer- further’. Next steps? First step?

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 Learning goals  This example should illustrate the importance of a complete and correct requirements specification for the project success.  Before implementing, try to apply all previous phases in SW development.  Start with the implementation when all classes and methods are known.

DAAD project „Joint Course on OOP using Java“ © 7 Development process of ‚Lost cat‘ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 8 Requirements analysis: ‚Lost cat‘ Task: Develop an applet (using GUI), to simulate the searching a lost cat. The position of cat is randomly chosen. The searching is simulated by mouse-clicks. Open questions ?

DAAD project „Joint Course on OOP using Java“ © 9 Open questions  How to mark a visited position?  How to keep the visited positions?  How to present information „you are closer (further) to the cat“?  When the cat is found?  What will happen when the cat is found?  What is the environment where we look for?

DAAD project „Joint Course on OOP using Java“ © 10 Requirements specification (1,2) We point out the position of a lost cat by mouse-click in current position of the mouse pointer. We will mark the chosen position in some way. The different kinds of flags, can be used, but we decide to use the simplest one: the filled circle. visited position We will keep the visited positions in an array. (Data structures like: vectors, linked lists, … could be used too.) By using this array we will draw the circles.

DAAD project „Joint Course on OOP using Java“ © 11 Requirements Specification (3) We will use two ways to inform the player about position of the cat: by text-messages by flags (circles) The different colors of flags determine whether the chosen position is closer or further (related to previous position) from the cat. The following colors are used: start position closer further found cat

DAAD project „Joint Course on OOP using Java“ © 12 Requirements Specification (4,5) If the point (xc, yc) is position of the cat and (x,y) position of the mouse pointer, we will suppose that the cat is found if: (|xc-x|<10) & (|yc-y|<10) (We may measure the distance on some other way.) When the cat is found, the picture of the cat will fill the window of applet. The follow picture is used :

DAAD project „Joint Course on OOP using Java“ © 13 Requirements Specification (6) We can use any color for the background of our applet. Moreover, it is more convenient to simulate nature environment in some way. We deside to use the following picture to simulate the nature environment

DAAD project „Joint Course on OOP using Java“ © 14 Development process of ‚Lost cat‘ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 15 Design: develop the software architecture  SW architecture description languages: UML- industry standard.  Main problem: How to find classes? „Finding a proper class structure may be more challenging then implementing the Java program code“ (K. Bothe).

DAAD project „Joint Course on OOP using Java“ © 16 Software architecture Our task is not so complicated (it is a simple student’s assignment!) Thus, the structure of our program should not be complicated. Moreover, we have to define:  Which components exist?  Which relations are between them? We will have a main class (CatGame) and an auxiliary class (Mouse)

DAAD project „Joint Course on OOP using Java“ © 17 UML diagram CatGame paint() Graphics Applet Mouse MouseAdapter

DAAD project „Joint Course on OOP using Java“ © 18 The main class CatGame... init() addCircle() update(Graphics g ) paint(Graphics g)

DAAD project „Joint Course on OOP using Java“ © 19 Development process of ‚Mouse in a Maze‘ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 20 Implementation phase We use 3 steps in the implementation (In fact 3 applets are developed. Each applet is independently tested): 1.Circle 2.Circles 3.CatGame

DAAD project „Joint Course on OOP using Java“ © 21 Testing  The applets Circle and Circles are very simple for the testing.  The applet CatGame is more complicated. We should complete game to see the picture of the cat.  We should to adjust all parameters to fit everything in the window of applet Demonstration

DAAD project „Joint Course on OOP using Java“ © 22 Critics of the implementation  The structure of classes should be better organized.  UML diagrams could be presented with more details.  Program should be more secure (the private variable should be used) ...