Posted on: 20/05/2016
Updated on: 08/04/2018
Task done/total: --/--
This course delivers knowledge and skills necessary to analyse, design and implement complex software engineering projects.
This course delivers the fundamental concepts of the Software Development Life-Cycle (SDLC) and Methodology frameworks (including those processes in Incremental - Iterative - Agile models). Besides, I was learnt about the Unified Modeling Language (UML) Diagrams. Uppon the end of the course, I am able to understand the scpecifications of the popular development processes (Waterfall, Spiral, Rational Unified Process (RUP), X-Programming, Agile Unified Process (AUP) and Scrum Process). I can also understand the advantages and disadvantages of each process, be able to compare and combine different approaches to propose the most appropriate process considering the underlying technology, the available resources, the duration, the level of risks and the expectations of customers.
About the assessment, there was a big major assignment, in which I was working in a team of 4 students to develop a real-life system, which was the Course Management System. The project required us to review and refine our designs and system functionalities from times to times to ensure that it satisfied the needs of the Product Owner (the tutor). We need to be aware of the current Software Engineering standards and processes. In fact, the process that we were going on was Agile Scrum Process. Also, we needed to consider qualitative aspects including maintainability, extensibility, reusability and robustness in every stage of the SDLC.
About the project: Design and implement a familiar domain dealing with simplified student enrolment and courses management. A GUI was optional. The system should be able to handle the following user activities:
The project provided some other bonus marks like using Relational Database (we used mySQL), implementation of MVC design pattern and extendsing the system to a web-based system. The Unit Tests are compulsory in every stage of development.
Since that was the first time I was doing a project in a development process and a design pattern, there were some mistakes in the design of project structure, such as:
However in the later courses, I have other opportunities to work on real-life projects and development process, so I can improve my knowledge in many aspects of softwsre development.