Posts Tagged ‘programming project’

Unipoli

Friday, June 6th, 2008

We finally finished our university project, Unipoli. The Java implementation of the famous Monopoly game by Hasbro has been released under GPLv3 (yes it's free software) . You can have a look at the source code, simple but elegant, written using coding standards, following xP practices and Scrum software development process (at least we tried to follow them).
On the project site you will find useful documentation, too: Vision Statement, User Stories, Noun Extraction, Product Backlog, UML Classes, Hierarchy and Relations, UML class diagram, Javadoc.
The game has been written for Programming Project course.
(more...)

  • Share/Save/Bookmark

The product backlog becomes multicolored!

Wednesday, May 14th, 2008

I'm very proud of this, after so many problems encountered during the first two months of development, our product backlog begins to turn green and yellow!

Anyway, I think that Scrum Method is not the best software development process that we could have adopted, I will espress my thoughts during the exam and I will publish them

  • Share/Save/Bookmark

Scrum Development Process

Thursday, April 17th, 2008

For Programming Project course we're adopting Scrum as software development process.
Scrum focuses on agile-like project management. The goal of Scrum is to deliver as much quality software as possible within a series of short intervals called Sprints. Scrum concentrates on identifying project variables (quality, time, requirements, etc.) and monitoring them constantly.

This process has been brought to our attention by prof. Pekka Abrahamsson, a guest professor that will stay with us until june.

I will update this page with new information as soon as they will be availabe.
These are the principal roles in Scrum:

Scrum Master: responsible for ensuring that the project is carried through according to the rules of Scrum and that it progesses as planned
Product Owner: responsible fot the project, managing and controlling. Makes the final decisions of the tasks related to a product backlog
Scrum Team: the project team that decides on the necessary actions and to organize itself in order to achieve the goals
Customer: participates in the tasks related to product backlog
Management: in charge of final decision making

Here is a nice model I drew yesterday, of the principal concepts of the Scrum method:

  • Share/Save/Bookmark

Un piccolo break per le cazzatine

Friday, April 11th, 2008

Tra un task di DSA e un commit per Programming Project, anche bodom_lx si svaga (ebbene sì!). Solitamente evito di fare quei stupidissimi test che arrivano come catena, ma questo era carino e lo incollo.. Click qui sotto per continuare..
(more...)

  • Share/Save/Bookmark

Object Oriented Memory Management

Wednesday, March 19th, 2008

Major Update on 10th April 2009, inclusion of C++ programming language!
Updated on 18th April 2008, a complete example on stack and heap
Updated on 15th April 2008, new contents and new layout!
Updated on 6th April 2008, new contents!

The paper you can download from here is about a model for memory management during the execution of programs written in Java and C++.

It started on March, 2008 as a summary of the lecture notes of both the "Programming Project" and
"Software Engineering Project" courses held by professors of the CASE (Center for Applied Software Engineering) of the Free University of Bolzano - Bozen.

The first versions of this publication were only about Java memory management.
Subsequent revisions added information found on other sources. Unfortunately, the author forgot to
reference the sources on the document.

On March, 2009 the author began to add the information about C++ programming language. More
information from other sources were added, including their attribution.

The biggest source of this document is still the set of presentations of CASE.
The code snippets and their corresponding stack/heap diagrams are copied in full from those of the
slides.

The next major revision will contain original images (not belonging to CASE slides), as well as other code
snippets that I could find more clear than those of CASE.

If you find that this document contains information taken from one of your publications, please
contact the author, that is willing to either delete them from this document or to add an attribution to
your work.

Download the PDF of the summary

Table of Contents:

  • The model
  • Code load and execution
  • Activation Record (AR)
  • Contents of the Activation Record
  • Abbreviations for
  • Declaration vs. Definition
  • The scope of a variable
  • Extent of a Variable
  • Blocks
  • Scope Activation Record (SAR)
  • Example on SAR
  • Role of SLs
  • Dynamic Memory Allocation And Handling
  • Dynamic Vs. Static memory allocation
  • Dynamic Memory Scope and Extent
  • Accessing dynamic memory
  • Classes
  • Objects
  • Object instantiation
  • Objects in Memory (Java)
  • Objects in Memory (C++)
  • Memory Management issues (Java)
  • Memory Management issues (C++)
  • Methods
  • Methods (Java)
  • Methods (C++)
  • Attributes
  • The null value (Java)
  • The NULL value (C++)
  • Parameter
  • Parameter Passing (Java)
  • Example of parameters passing (Java)
  • Example of parameters passing (Java), continued
  • Parameter Passing (C++)
  • Example of parameters passing by value (C++)
  • Example of parameters passing by reference (C++)
  • Pointers vs. Parameters (C++)
  • Previous example using pointers (C++)
  • Constructor
  • Inline initialization
  • A constructor's call (Java)
  • Class attributes
  • Example of class attributes (Jav)
  • Example of class attributes (C++)
  • Class Method
  • Example of Stack/Heap Diagrams in Java
  • Code
  • Stack Diagram
  • Heap Diagram
  • Memory portions assigned to a program (code area, heap / dynamic memory area), execution stack
  • How code is loaded in Java
  • The Activation Record (AR) and function calls
  • Abbrevations (AR, RV, RA, SP, N/E, @, ??, arb)
  • Examples on method calls and activation records usage
  • Declaraion vs. Definition of a variable, the scope of a variable, blocks
  • Scope Activation Record (SAR), Static Link (SL), the role of SL
  • The extent/lifetime of a variable
  • Dynamic memory allocation and handling
  • Dynamic vs. Static memory allocation
  • Dynamic memory scope and extent
  • Accessing dynamic memory
  • Classes and Objects in detail, object instantiation
  • Memory Management issues
  • Objects vs. Variables (definitions)
  • Methods of Objects
  • Class Attributes
  • The null value
  • Parameters (formal, actual), parameters passing (by reference, by value)
  • Constructors and Inline Initialization
  • Constructor's call
  • Class attributes (static variables)
  • Class methods (static methods)
  • Complete Example of Stack/Heap Diagrams

Everything is integrated with simple examples.

Download the PDF of the summary

  • Share/Save/Bookmark