Software Engineering
3
2016-2017
01000230
Computer Science
Portuguese
Face-to-face
SEMESTRIAL
6.0
Compulsory
1st Cycle Studies
Recommended Prerequisites
Object-Oriented Programming; Algorithms and Data Structures.
Teaching Methods
Theoretical classes with detailed presentation, using audiovisual means, of the concepts and principles, and solving of basic practical exercises to illustrate the practical interest of the subject and exemplify its application to real cases.
Theoretical-practical classes where the students, supervised by the staff member, solve practical exercises, which require the combination of different theoretical concepts and promote critical reasoning in the presence of more complex problems.
Laboratory classes for the realization of a software project developed in group.
Learning Outcomes
1. Motivation for the problems involved in software development
2. Motivation for the need to apply different approaches in different types of projects
3. Use of techniques of project management (Gantt and PERT/CPM diagrams, risk analysis)
4. Software development using iterative and incremental approaches
5.Importance and use of UML.
Work Placement(s)
NoSyllabus
1. Introduction to Software Engineering.
The nature of software. Kinds of software. Quality of software.
2. Introduction to software development process.
Requirements elicitation and analysis. Design. Implementation. Software testing.
Waterfall development. Iterative and evolutive development.
3. Introduction to software project management.
Management activities. Project planning. Project scheduling. PERT/CPM and Gantt diagrams. Risk managements in software projects. Risk identification, analysis, planning and monitoring.
4. UML Language
Use case diagrams. Class diagrams. Introduction to OCL (Object Constraint Language). Object diagrams. Interaction diagrams. Sequence Diagrams. Activity diagrams. State diagrams. Deployment diagrams. Mapping UML into code.
Head Lecturer(s)
Mário Alberto da Costa Zenha Rela
Assessment Methods
Assessment
Project: 40.0%
Exam: 60.0%
Bibliography
B. Bruegge e A. Dutoit. Object-Oriented Software Engineering Using UML, Patterns, and Java (3ª Ed.).
I. Sommervile, Software Engineering 9.
OMG Unified Modeling Language (OMG UML): Superstructure, v2.3.
I. Jacobson, G. Booch e J. Rumbaugh, The Unified Modelling Language Reference Manual.
I. Jacobson, G. Booch e J. Rumbaugh, The Unified Modelling Language User Guide.
M. Fowler, UML Distilled: A Brief Guide to the Standard Object Modelling Language (3ª Ed.).