Course guide PB007 Software engineering I

1. Software process, role of the UML language

Organizational information

Seminar guidelines

  • 12 teaching weeks + 1 week final project discussion
  • Team project on UML modeling, teams of 3 students (or less)
  • Obligatory attendance (one absence ok) and weekly task delivery
  • Simple test at the beginning of each seminar (starting in Week 03)
  • Penalty for extra absence (-5 points) and late task delivery (-5 p.)

Evaluation

  • Seminar = project YES/NO, test points (20 points) and penalty recorded in IS notebook
  • Exam = test (35 points) + on-site modelling (35 points)
  • Grades: F<50, 50<=E<58, 58<=D<66, 66<=C<74, 74<=B<82, 82<=A

Exam

  • Students may register to an exam term before their project is finalized, but they can only attend the exam if their project has been aproved by their seminar tutor as accepted, which must be recorded in the student notebook at least 24 hours before the exam.

Detailed schedule

Lectures (Tuesday, vacation on 28 October)

16.09. (Week 01) Software process, role of the UML language.
23.09. (Week 02) Functional requirements specification, UML Use Case diagram.
30.09. (Week 03) Nonfunctional requirements specification, UML Activity diagram.
07.10. (Week 04) System analysis and design, structured vs. object-oriented A&D.
14.10. (Week 05) Object oriented analysis, UML Class, Object and State diagram.
21.10. (Week 06) Structured analysis, data modelling, ERD.
04.11. (Week 07) High-level design, UML Class diagram in design.
11.11. (Week 08) Low-level design and implementation, UML Interaction diagrams
18.11. (Week 09) Architecture design, UML Package, Component and Deployment diagram.
25.11. (Week 10) Testing, verification and validation.
02.12. (Week 11) Operation, maintenance and system evolution.
09.12. (Week 12) Software development management.
16.12. (Week 13) Advanced software engineering techniques.

Seminars (Monday, vacation on 17 November / Tuesday, vacation on 28 October / Wednesday, no vacation / Thursday, no vacation / Seminars 08, 09)

22.09./16.09./17.09./18.09./16.09. (Week 01) Visual Paradigm introduction, project assignment.
29.09./23.09./24.09./25.09./23.09. (Week 02) Project start, initial Use Case diagram.
06.10./30.09./01.10./02.10./30.09. (Week 03) Detailed Use Case diagram, textual specification of UC
13.10./07.10./08.10./09.10./07.10. (Week 04) Specification of use cases (textual if not finished, Activity diagram).
20.10./14.10./15.10./16.10./21.10. (Week 05) Analytical Class diagram, Object diagram.
27.10./21.10./22.10./23.10./04.11. (Week 06) Finalization of analytical Class diagram, Use Case diagram update.
03.11./04.11./29.10./30.10./11.11. (Week 07) State diagram.
10.11./11.11./05.11./06.11./18.11. (Week 08) Data modelling, Entity Relationship diagram.
24.11./18.11./12.11./13.11./25.11. (Week 09) Design-level Class diagram, interfaces, implementation details.
01.12./25.11./19.11./20.11./02.12. (Week 10) Refinement of use cases with Interaction diagrams.
08.12./02.12./26.11./27.11./09.12. (Week 11) Finalization of Interaction diagrams, Class diagram update.
15.12./09.12./03.12./04.12./16.12. (Week 12) Packages, Component diagram, Deployment diagram.
15.12./16.12./10.12./11.12./16.12. (Week 13) Project evaluation, compensatory tests in case of excused absences.
 

Examplary UML model

Goal of the example:
The goal of the example is to demonstrate the usage of a number of UML diagrams on a common ground of a simple information system. The result can be viewed either as individual models (see the images below) or downloaded as a single project-report.pdf file.

Modelling environment:
The models have been created in the Visual Paradigm for UML & SysML CASE tool, which is accompanied with a number of tutorials online (in english) and here (in czech).

Study IS system specification:
Study information system is intended to support management of courses including electronic enrollment and course dropping. Management of the courses allows teachers to add new courses, remove courses and update course information, which includes a name, info, prerequisites, capacity, schedule and a distinction of full time and distance study courses. Students have an opportunity to electronically enroll at courses and drop a course (i.e. withdraw from it). Enrollment at courses is only allowed when the capacity of the course is not yet filled up. If the course capacity is filled up, the system notifies the teacher responsible for the course via email. One of the supplementary functions of the system is the support of adding of work reports about the worked hours of external teachers, who unlike internal teachers do not receive
monthly wage, but are paid solely for their worked hours.