Print

Semester Project: Client/Server System

Code

IT-SEP2

Version

1.4

Offered by

ICT Engineering

ECTS

10

Prerequisites

Completed the 1st semester Software Engineering course “Software Development with UML and Java 1” or a similar course.

The course must be passed before graduation.

Main purpose

The purpose is to develop and document a client/server system as well as demonstrate the acquisition of process skills.

Knowledge

The student will be able to:
  • Describe the relation between design and test in relation to a software system
  • Define and use group roles when using Scrum to control a software project
  • Describe how to deploy a software system

Skills

The student will be able to:
  • Use an iterative system development method when executing a software project
  • Execute effective literature searching, in order to judge validity and reliability
  • Document the Analysis and Design of a software system using UML
  • Capture and formulate the requirements, both functional and non-functional, of a software system
  • Write a project description for a software project
  • Design and describe object-oriented models
  • Design a normalized relational database for data persistence, based on the preliminary analysis
  • Use SCRUM to control the development process of a software project
  • Use Unified Process as a system development method
  • Display considerable skills for presentation, both written and oral
  • Construct a project report in a well-structured manner, using provided templates
  • Describe a project execution in a process report
  • Conduct and execute a software project in collaboration with group members
  • Perform unit testing and use case testing based on the requirements and code of a software system
  • Implement a client-server software system in Java according to the system’s design
  • Implement a relational database as part of a client-server system according to the system’s design
  • Apply theory of database normalization that will result in a relational database on 3rd normal form
 

Competences

The student will be able to:
  • Capture requirements, analyse, design, implement and test a client/server system using UML, Java and SQL
  • Create and ague for a design that supports team collaboration of implementation and tests
  • Execute a software project with a clear connection between requirements, analysis, design, implementation, test and documentation
  • Create a small, robust, concurrent client/server system with the proper selection of design patterns and database-persistence to achieve a maintainable and flexible architecture
  • Choose between, argue for, and evaluate various technical solutions for implementing client/server systems
  • Describe and reflect on the development process and project work in a Process Report
  • Black- and Whitebox testing of a software system using relevant testing techniques
  • Apply relevant design principles including SOLID principles so that the resulting software system is maintainable, flexible, and robust
  • Reflect upon chosen technical solutions of the software system
  • Discuss their choice of design patterns
 

Topics

  • Software development
  • Process management
  • Client-server systems
  • Relational database and normalization
  • Concurrency and thread-safety
  • Black- and Whitebox testing
  • Report writing
  • Analysis, design, implementation, test
  • Design principles
  • Design patterns
  • Group work
 

Teaching methods and study activities

 CATEGORY 1
 
Participation of lecturer and students
Initiated by the lecturer
28 hours - 10%
  • Lessons
  • Project supervision
  • Exam

CATEGORY 2

Participation of students

Initiated by the lecturer

56 hours - 20 %
  • Hand ins
  • Project work
  • Homework
CATEGORY 3
Participation of students
Initiated by students
140 hours - 50 %
  • Preparation for exam
  • Self-study
  • Project work
  • Literature search

CATEGORY 4

Participation of lecturer and students
initiated by students
56 hours - 20 %
  • Supervisor meetings

 

Resources

Evaluation

Permit criteria for attending examination:
  • Mandatory assignments handed in before deadline and accepted.
  • Group reports including student’s name handed in before deadline.
  • The uploaded reports must comply with the hand in criteria as stated in the Support Document: Formalities Criteria for upload of SEP.
    Found under Study Material -> Project Guidance -> ICT

Examination

Oral Examination

Group presentation - 5 minutes per person

Group examination  - 20 minutes/student

  • SWE is evaluated together with SEP2 project.
  • The SEP2 project and the exam must demonstrate understanding of SWE1 topics and their use in practice
  • During the SEP2 exam, specific SWE1 questions will be asked, which must be answered satisfactorily to pass SEP2
  • The grade for SWE1 and SEP2 will be the same, but be given as two grades.

Allowed tools: Laptops, notes

Internal examiner. 


Please note that re-examinations may take a different form than the ordinary exams.

Re-examination

Students who failed a semester project in January or June must attend an information meeting on the last Friday in June.
At this meeting, the students will get information on specific deadlines as well as the process of re-exam.
They will form new groups, if possible, in relation to the number of failed students at the individual semesters.
Based on the feedback, the students have received after the ordinary exam, they must prepare a new project.
Deadline for hand in of the project is mid-August (exact date will be informed at the meeting). There will be no guidance in the period up to hand in.
Oral assessment of the project takes place in August/September.

Grading criteria

Examinations account for 100% of final grade.

Additional information

Responsible

Steffen Vissing Andersen

Valid from

9/1/2019 12:00:00 AM

Course type

Project
2. semester

Keywords