Course MI 101 · Year I · Autumn 2022-2023

Systems analysis and design

Compulsory course in Advanced programming and databases, taught by Ovidiu Domsa.

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

Overview

Lecturer
Ovidiu Domsa
Seminar tutor
Ciprian Ioan Cucu
Type of course
Compulsory
Language of instruction
English
Erasmus language
English
Domain
Computer Science - Masters
Field of study
Advanced programming and databases
Form of education
Full-time
Form of instruction
Class / Seminary
Credit awarded by
Grade
Teaching methods
Lecture, conversation, exemplification
Entry requirements
Software engineering

Aims

Abilities to develop and manage all stack for software solutions development, information’s structuring, storing, processing, documentation and date description.

Develop project management skills

To know different tools for systems analysis, design and project management

Course contents

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
2. The life cycle of a software product

2.1 Phases of the life cycle

2.2 Cascade models

2.3 Iterative models

2.4 Extreme Programming Methodology
3. Requirements engineering

3.1 Specific issues

3.2 Types of requirements

3.3 Requirements analysis

 3.4 Specification of requirements
4. Software modeling

4.1 Modeling languages

4.2 Structured modeling

4.3 Object Oriented Modeling

4.4 UML Language
5. Designing software systems

5.1 Software architectures

5.2 Characteristics of a software system

5.3 Architectural Styles

5.4 Architectural models
6. Development of software systems

6.1 RAD

6.2 Incremental development

6.3 Prototyping

6.4 Agile methods

6.5 Development cycle in extreme programming

 6.6 Reuse in the development of a software system
7. 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 Static analysis

 7.6 Testing and validating systems
1.       Project management technique

8.1. Gannt diagram

8.2. Resource management

8.3. Cost management

8.4. Agile technique

8.5. Project documentation
9.       Case study

Learning outcomes

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.

To argue the importance of the field software engineering and ethical principles of the engineering profession software. Develop a correct relationship with clients.

Assessment

Project presentation and laboratory assignment grades.

Recommended reading

Code Complete
McConnell Steve
Microsoft Press, NW, 2004 · 546
Software Engineering Design
OTERO, C.E
CRC Press, MIT, 2012 · 100
Software Architecture in Practice, 2nd ed
BASS, L., CLEMENTS, P., KAZMAN R.:
Addison-Wesley, US, 2003 · 421