IPT Logotipo do IPT

Ano Letivo: 2016/17

Web e Dispositivos Móveis

Software Development Metodology

<< back to Curriculum Plan

Publication in the Diário da República: Aviso n.º 12718/2016 - 19/10/2016

5 ECTS; 2º Ano, 1º Semestre, 45,0 PL + 15,0 TP , Cód. 620018.

Lecturer
- Fernando Sérgio Hortas Rodrigues (2)

(1) Docente Responsável
(2) Docente que lecciona

Prerequisites
Good knowledge of an object oriented language.

Objectives
This module aims to provide the study of Object-Oriented Analysis and Design, through the study of iterative and evolutionary methodologies, mainly the Unified Process along with UML. Design Patterns are also covered. The Java language is used where necessary. XP e SCRUM methodologies overview.

Program
1 - Software Development Methodologies Categories
- Software Development Methodologies categories and characteristics
- Popular software development methedologies overview: Waterfall, SCRUM, Extrem Programming, Unified Process

– Desenho e Análise orientados por objetos (OO)
- O que é a Análise e o Desenho
- Análise e Desenho orientados por objetos
- A Modelação visual - UML

3 – A UML - Unified Modeling Language
- Modeling principles
- Architecture
- An Overview of the UML
- A conceptual model of the UML
- Classes, Relations and Common Mechanisms
- UML diagrams

4 – Iterative, Evolutionary e Agile Processes
- Iterative and Evolutionary development advantages and characteristicso
- The Unified Process (UP)
- Phases, Iterations e Milestones
- The disciplines

5 – Inception Phase
- Characteristics
- Duration
- Artifacts

6 – Evolutionary Requirements
- Defenition: Requirments
- Requirements categories
- Evolutionary Requirements vs Waterfall like requirements
- How to find requirements

7 – Use Cases (UCs)
- Actores, Scenarios and Use Cases
- Why Use Cases
- The three use case formats (Resumed, Casual, Detailed)
- How use cases evolve along iterations

8 – Elaboration phase
- Iterations of the elaboration phase
- Use cases along elaboration iterations
- Artifacts started in elaboration phase

9 – Domain Models
- What are Domain Models
- Conceptual classes
- How to find conceptual classes
- Attributes
- Attributes vs Classes
- Model with 'Description' classes
- Associations
- How to find associations in the Domain Model


10 – System Sequence Diagrams (SSDs)
- What are SSDs and what they are used for
- Relations between DSSs and Use Cases
- System Events and Operations naming
- Operation Contracts and their characteristicas
- How to create and write operation contracts
- Operation contracts in the UP context

11 – Requirements to Design
- Motivation to evolve to Design tasks

12 – Iteraction Diagrams
- Sequence and Communication diagrams notation
- Interaction diagrams notation

13 – Class diagrams
- What are CDs and what they are used for
- Class diagrams notation
- Design Classes diagram
- Classifiers
- How represent attributes in CDs
- Anotations
- Operations and Methods
- Setereotypes, profiles and Tags
- Properties,
- Generalizatios, abstract classes and abstract operations
- Dependency
- Interfaces
- Composition and Agregation
- Constraints
- Qualified association
- Classe de associação
- Singleton class
- User-defined compartments
- Relationship between interaction diagrams and class diagrams

14 – GRASP – General Responsibility Assignment Software Patterns
- Design objects with responsabilities
- UML vs Design principles
- Object Design: Inputs, Activities and Outputs
- Responsabilities and Responsability-driven Design
- GRASP: A methodical approach to basic OO Design
- Relation between GRASP, Responsabilities and UML
- Patterns
- What are Patterns and what they are used for
- Applying GRASP to Object Design
- Creator
- Information Expert (or Expert)
- Low Coupling
- Controller
- High Cohesion

Evaluation Methodology
Practical assignment (100%)
Project discussion is compulsory

Bibliography
- Booch, G. e Rumbaugh, J. e Jacobson, I. (2005). The Unified Modeling Language User Guide. -: Addison Wesley
- Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development . -: Prentice Hall
- Nunes, M. e O'Neill, H. e Ramos, P. (2010). Exercícios de UML. Lisboa: Lidel

Teaching Method
Lectures and tutorials.

Software used in class
Visual Pardigm (Community Edition)

 

 

 


<< back to Curriculum Plan
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado