About project

Software development requires a variety of technical knowledge and skills from different fields of computer science, software engineering and management. Beside having good coding skills, knowledge regarding the software development process is required from every software engineer. Furthermore, considering the complexity of problems at hand, it is absoultely necessary to have good understanding of different tools and technologies and ability to integrate them into own applications. 

Project assignment is designed to represent a real-world software engineering project of rather small complexity which consists of a GUI, database, client-server communication over network etc. To successfully complete the project, students must use previously gained knowledge and skills from several different topics of computer science (databases, GUI, OS, networking...), actively build on top and combine them with the knowledge acquired in this course. Project development implies the use of generic development processes with the support for engineering approach to problem solving. Development environments, collaboration tools (CVS, IDE, CASE...) and component reuse are also needed in order to ensure a steady and timely project development.

The project implies team work which requires good management and organisational skills needed for oral and written communication inside and outside of the team. Timeliness and efficient team work are the key for successful project completion. The students are advised that it is in their best interest to solve any conflicts or misunderstandings which arise during the project development and may have a negative impact on end result, among the team members through discussion and reaching compromise. In the case of a serious conflict between group members or non-participation of one or more group members in project activities the group should come to the teaching assistant for help as soon as possible. Complaints about teamwork issues articulated at the end of the semester will be disregarded.

Project results will be monitored and graded on a regular basis by the TA assigned to each project team. Remarks about project development, current state and results in each phase of the project with recommendations for improvement should serve as a guideline for further project development. The knowledge and skills acquired through the process of project development will give students valuable experience and a starting point for future careers in industry.

 


Deadlines and scores

Breakdown of main project activities focus (work on a particular activity can begin earlier and overlap with other activities).

Week

Topics

1.

 

Group forming.

2.

 

Task analysis, funcionality definition, perliminary selection of tools and technologies.

3.

 

Task analysis, funcionality definition, perliminary selection of tools and technologies.

4.

 

Defining Use Cases for functional requirements description.

5.

 

Design of Sequential diagrams  for functional requirements description. Non-functional requirements definition.

6.

 

System architecture: puprose, general priorities and system outline. UML class diagram.

7.

 

Class and associated Object diagram. Overview of completed work and  outline of planned future work.

Documentation upload deadline: Friday,  16.11.2018., 11:59PM.

8.

Midterm exam.

9.

First examination of project results.

10.

 

Project implementation. Description of tool and technologies used.

11.

 

Project implementation. UML diagrams: activity, state, collaboration, component and deployment.

 

Holidays.

11.

Project implementation. UML diagrams: activity, state, collaboration, component and deployment.

12.

 

Project implementation. User manual. Code snippets. Alpha testing: demonstration of accomplished results to the teacher, with discussion of current project state.

13.

 

Implementation finish. Test case documentation. Consclusion.

Project upload deadline (documentation and source code): Thursday, 17.1.2019., 11:59 PM.

14.

 

  Second (final) examination of project results.

 

Schedule

Description

Friday, November 16th 2018., 11:59PM. 

First cycle documentation upload deadline.

December 3th - 7th 2018.

First examination.

January 7nd - 11th 2019.

Alpha testing.

Thursday, January 17th 2019., 11:59PM.

Final project upload deadline (cource code and documentation).

January 21st - 25th 2019.

Final project examination.

 

Students are advised to respect the above stated deadline. Late project uploads will be penalised.

 

Project score formula:

Project score = first_examination_score + second_examination_score

  • first_examination_score = points for documentation (given by project leader), MAX = 6 

                                                +

                                                points for oral examination (given by teacher), MAX = 6

  • second_examination_score = points for documentation & application (assigned by project leader), MAX = 9

+

points for oral examination (given by teacher), MAX = 9

 

Oral examination topics:

 

1. examination: functional and non-functional requirements; UML diagrams: Use Case, Sequential, Class & Object diagram; OO paradigm.

2. examination: UML diagrams: collaboration, state, activity, component and deployment diagram; software testing (topics from first examiation are implied). Understanding of project software organisation and functioning.