Module also offered within study programmes:
General information:
Code:
UBPJO-068
Name:
Software engineering
Profile of education:
Academic (A)
Lecture language:
English
Semester:
Fall
Responsible teacher:
dr inż. Żabińska-Rakoczy Małgorzata (zabinska@agh.edu.pl)
Academic teachers:
dr inż. Żabińska-Rakoczy Małgorzata (zabinska@agh.edu.pl)
Dyduch Tadeusz (tdyduch@agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 A student is able to take part in the software development process, and perform all the project works assigned to her/him within a project team in agreement with the assumed schedule and the methodological approach to the main goal and the derived design tasks entrusted to him/her. Case study,
Completion of laboratory classes
M_K002 A student cooperates within a project team with its members and understands the necessity of collaboration as well as roles in the design team according to the formulated tasks. Case study,
Completion of laboratory classes
Skills
M_U001 A student is able to define project goals, decompose them according to needs and prepare a schedule for their realization as well as describe them in written and present them. A student knows how to create documentation of the whole project process and also the built software product (technical documentation) Activity during classes,
Case study,
Completion of laboratory classes
Knowledge
M_W001 Understands the scope of Software Engineering and methods of basic processes of software development, principles of requirements acquisition and formulation as well as the choice of design solutions. Activity during classes,
Completion of laboratory classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 A student is able to take part in the software development process, and perform all the project works assigned to her/him within a project team in agreement with the assumed schedule and the methodological approach to the main goal and the derived design tasks entrusted to him/her. + - + - - - - - - - -
M_K002 A student cooperates within a project team with its members and understands the necessity of collaboration as well as roles in the design team according to the formulated tasks. + - + - - - - - - - -
Skills
M_U001 A student is able to define project goals, decompose them according to needs and prepare a schedule for their realization as well as describe them in written and present them. A student knows how to create documentation of the whole project process and also the built software product (technical documentation) + - + - - - - - - - -
Knowledge
M_W001 Understands the scope of Software Engineering and methods of basic processes of software development, principles of requirements acquisition and formulation as well as the choice of design solutions. + - - - - - - - - - -
Module content
Lectures:
  1. Introduction

    Basic notions of Software Engineering. Classical system development life cycle (SDLC): phases, steps,activities, results and methods of their presentation.
    Advantages and disadvantages of the model.

  2. Threads and risks

    Basic notions. Risks assigned to every step of SDLC. Methods and tools of risks’ management.

  3. Models of SDLC

    Other models of software development process and their applications: evolutionary model and prototyping, incremental model, iterative and incremental model; meaning of iterativeness. Assumptions, philosophy, schema, virtues and faults.

  4. Description of information system (business point of view)

    System analysis: description of a problem domain, modeling area, as well as system responsibilities. Methods of descripton: users’ stories as a result of interviews. Extraction of business activity areas and formulation of business procedures. Application of use cases: business and systems’ use cases. Standards of scenarios.

  5. Requirements

    Analysis of users’ requirements, their acquisition and presentation. Hierarchical requirements. Forms used to describe functional requirements. Use cases and standards of scenario descriptions. Elements of UML: Use Case Diagrams.

  6. Use Cases

    Use cases: from “user’s stories”, through scenarios (in different notations), to visualization, i.e. construction of UML use case diagrams.

  7. Functional and non-funtional requirements.

    Project requirements: functional and nonfunctional and their description (forms). Classes of requirements.

  8. Requirements – continued

    Structuring the requirements. From Function Hierarchy Diagrams to structural approach. Modelling data flows.

  9. Principles of systems' design.

    Conceptual and technical system design; methodological principles. Heavy and light methodologies.

  10. Documentation present in every step

    Results of analysis and design, creating documentation.

  11. Elements of systems' quality

    measures, norms

  12. Managent

    Basics of methodologies, principles, schemas, produced results.

Laboratory classes:
  1. Introduction to practical approach

    Preparation for realization of practical tasks – modeling of different aspects of the system.

  2. Available tools

    Get acquainted with modeling tools based on UML.

  3. Choice of the tasks based on reality

    It is planned to describe the requirements for a system starting from “user’s stories”, through scenario descriptions in different conventions, to construction of use case diagrams.

  4. Experimenting with UML

    Creation of UML diagrams e.g. activity, sequence, communication, etc.

  5. Systems' responsibilities models

    Building of the preliminary model of the exemplary system in the form of a context diagram, basing on the description of the considered domain.

  6. Chosen methods of modeling

    Creation of systems’ models showing different aspects: functional, database, dynamics.

  7. Project pecifications and other artefacts

    Standards of docummentions, presentations of projects, reviews of colleagues’ projects shown as artefacts.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 150 h
Module ECTS credits 6 ECTS
Participation in lectures 28 h
Realization of independently performed tasks 34 h
Participation in laboratory classes 28 h
Preparation of a report, presentation, written work, etc. 60 h
Additional information
Method of calculating the final grade:

1.To obtain the positive final mark, it is necessary to have positive grades from all the laboratory excercises and an exam.

2.The arithmetic average (av) from all the meetings and excercises as well as an exam is calculated.

3.The final grade is fixed on the basis of the following dependency:
if av>4.75 then OK:=5.0 else
if av>4.25 then OK:=4.5 else
if av>3.75 then OK:=4.0 else
if av>3.25 then OK:=3.5 else OK:=3

Prerequisites and additional requirements:

Prerequisites and additional requirements not specified

Recommended literature and teaching resources:

Basic:
1. Bennett, S., McRobb S., Farmer R.: Object-Oriented Systems Analysis and Design Using UML , Mc Graw Hill
2. Hoffer J. A., George J. F., Valacich J. S.,: Modern Systems Analysis and Design, Addison-Wesley
3. Sommerville I.,: Software Engineering, Pearson Education Ltd.
4. Yourdon E.,: Modern Structured Analysis, Prentice Hall, Inc.
Additional:
1. Booch G., Rumbaugh J., Jacobson I.,: The Unified Modeling Language User Guide, Addison-Wesley
2. Kruchten P.,: The Rational Unified Process. An Introduction, Addison-Wesley
3. Stevens P., Pooley R.,: Using UML, Addison-Wesley

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

None