Course CSE303 · Year III · Autumn 2021-2022

Software Engineering

Elective (1 of 3) course in Computer Science (in English), taught by Ovidiu Domsa.

This course page is from 2021-2022 and is archived.
See this course for the current academic year

Overview

Lecturer
Ovidiu Domsa
Seminar tutor
Ovidiu Domsa
Type of course
Elective (1 of 3)
Language of instruction
English
Erasmus language
English
Domain
Computer Science
Field of study
Computer Science (in English)
Form of education
Full-time
Form of instruction
Class / Seminary
Credit awarded by
Grade
Teaching methods
Explain basic concepts, compare models of software development processes Analyze user requirements, identify solutions, compare and select tools. Use UML core charts.
Entry requirements
Abilities to develop and manage all stack for problems solving regarding information’s structuring, storing, processing, and documentation and date description.

Aims

Abilities to develop and manage all stack for problems solving regarding information’s structuring, storing, processing, and documentation and date description.

Explain basic concepts in the field of software engineering and process stages software development to describe and compare models of software development processes

Analyze user requirements,identify solutions, compare and select tools appropriate software to resolve a given issue. Use proper UML core charts (UC, activity, classes, sequences, states) in system analysis and design software.

Course contents

Course - Theoretical

1. Introduction to software engineering

1.1 Development of software systems

1.2 Software engineering features

1.3 Notes on the development of a software product

  1. The life cycle of a software product

2.1 Phases of the life cycle

  1. Requirements engineering

3.1 Specific issues

3.2 Types of requirements

3.3 Requirements analysis

 3.4 Specification of requirements

  1. Software modeling

4.1 Modeling languages

4.2 Structured modeling

4.3 Object-Oriented Modeling

4.4 UML Language

  1. Designing software systems

5.1 Software architectures

6. Characteristics of a software system

  1. Testing and validation

7.1 Verification and Validation Process

7.2 Static and dynamic verification

7.3 Testing and debugging

7.4 Planning the test

 7.5 Testing and validating systems

Seminars-laboratories

  1. Different tools comparison, general presentation, description of the functionalities, examples
  2. Applications frame and project design using UML tools
  3. UML description using software tools, Use proper UML core charts (UC, activity, classes, sequences, states)
  4. Designing tools. Designing objects–based content.
  5. Designing software systems,  Software architectures, Architectural Style, Architectural models
  6. Testing and validation tools
  7. Complet case study. Project.

 

Learning outcomes

C2.2 The identification and explanation of appropriate mechanisms for software analysis, design and development.

C3.4. UML Data and model’s description.

C3.5. The development of software engineering components for business projects.

C6.2. The identification and explanation of base architectures, structures, organizing and management systems for software development stages.

C6.3. The use of various techniques for installing, configuring and managing different software tools

Assessment

Project presentation and laboratory assignment grades.

Recommended reading

Code Complete
McConnell Steve
Microsoft Press,, Microsoft, 2004 · 914
Course notes
Ovidiu Domșa
University 1 decembrie 1918, Alba Iulia, 2019 · 92
Software Engineering Design
OTERO, C.E
CRC Press, http://softwareengineeringdesign.com/Default.htm, on lline, 2012 · 210