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
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Advertisements

CPSC 481 Foundations and Principles of Human Computer Interaction
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.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Fundamentals of Information Systems, Second Edition
James Tam CPSC 481 Foundations and Principles of Human Computer Interaction James Tam.
Copyright policy DAAD Project Joint Course on Software Engineering Contributors K. Bothe, D. Bojić, Z. Budimac, K. Schützler, S. Stoyanov, K. Zdravkova.
Algorithm Programming Coding Advices Bar-Ilan University תשס " ו by Moshe Fresko.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
C++ fundamentals.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
Data Structures and Programming.  John Edgar2.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
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.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
The Program Development Cycle
CSC 142 B 1 CSC 142 Java objects: a first view [Reading: chapters 1 & 2]
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.
Software Engineering Management Lecture 1 The Software Process.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Software Specification and Design Sirisin Kongsilp & James Brucker.
Assembler Design Options
Introduction into component programming based on Java beans Dušan Tošić
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
1 Introduction to Database Systems CSE 444 Lecture 06 SQL in C#, Project October 5, 2007.
DAAD project “Joint Course on OOP using Java” On Object Oriented modeling in Java (Why & How) Ana Madevska Bogdanova Institute of informatics Faculty of.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
OOP with Java, David J. Barnes Bits, Bytes, and Java1 The Challenge Writing programs well is a challenge. –From coder to software engineer. We want programs.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 10 Slide 1 Chapter 13 Finalizing Design Specifications.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved COS240 O-O Languages AUBG,
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
1 6th Workshop "SEERE", Ravda, September 2006 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe.
Seven Myths of Formal Methods - by Anthony Hall, Praxis Systems Presented by Shanmughapriya Senthil.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Object-Oriented Principles Applications to Programming.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
© Bennett, McRobb and Farmer 2005
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Principles of Programming and Software Engineering.
CS 101 – Oct. 7 Solving simple problems: create algorithm Structure of solution –Sequence of steps (1,2,3….) –Sometimes we need to make a choice –Sometimes.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Reference: COS240 Syllabus
Chapter 9 : Assembler Design Options
Creating and Using Classes
Lecture 09:Software Testing
Assembler Design Options
Project Name Group Members.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Information system analysis and design
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. 21, 2006 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 games 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 For the lecturer only

DAAD project „Joint Course on OOP using Java“ © 3 Course materials  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. For the lecturer only

DAAD project „Joint Course on OOP using Java“ © 4 Goal: Develop the program-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“ © 5 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.EXEPascal\MEM1.EXE

DAAD project „Joint Course on OOP using Java“ © 6 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“ © 7 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“ © 8 Development process of “Memory test“ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 9 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“ © 10 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“ © 11 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“ © 12 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 MarijaSegrt\PAMCENJE.HTML

DAAD project „Joint Course on OOP using Java“ © 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“ © 14 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“ © 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“ © 16 Development process of “Memory test“ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 17 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“ © 18 Development process of “Memory test“ Requirements analysis Design Implementation and test

DAAD project „Joint Course on OOP using Java“ © 19 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“ © 20 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“ © 21 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). ...