Especificação de Sistemas e UML Programação de Software Embarcado Amaury Kruel Budri1 CECS UFABC 1
Programação de Software Embarcado
Projetos UML
Sumário
1
2
Projetos Melhores práticas Objetivos e Requisitos UML Diagramas Elevador
Projetos UML
Melhores práticas Objetivos e Requisitos
Melhores Práticas Melhores Práticas O que os melhores do ramo fazem para ser os melhores PMBOK Melhores práticas de gestão de projetos em geral. Foco em gestão.
SWEBOK Taxionomia das áreas do conhecimento envolvendo Engenharia de Software
MPS-BR e CMMI Modelos de referência para maturidade e qualidade.
Projetos UML
Melhores práticas Objetivos e Requisitos
SWEBOKII SWEBOK Áreas do conhecimento
Projetos UML
Melhores práticas Objetivos e Requisitos
SWEBOK SWEBOK Áreas do conhecimento
Projetos UML
Melhores práticas Objetivos e Requisitos
Requisitos
Identificar os requisitos e definir o escopo Avaliar a demanda e realizar entrevista com o requisitante; levantar as principais necessidades dos envolvidos; Identificar os requisitos para o sistema: de negócio, tecnológico, recursos humanos, legais, desempenho, segurança, sociais, ambientais, culturais, etc; Definir o escopo e o não escopo do produto (o que faz e o que não faz parte do produto), com relação a características e funcionalidades;
Projetos UML
Melhores práticas Objetivos e Requisitos
Especificação
Especificação do Sistema Entender o processo e as fronteiras do sistema a ser modelado; Identificando os problemas atuais e as possibilidades de melhoria; Identificar, mapear e analisar os processos do sistema; Definir as fronteiras do sistema, identificando as interações com o mundo externo e os atores externos.
Projetos UML
Melhores práticas Objetivos e Requisitos
Fracasso
Causas de Fracassos Causa % Requisitos Incompletos 13,1 Pouco envolvimento do cliente 12,4 Falta de recursos 10,6 Expectativas irrealistas 9,9 Falta de apoio executivo 9,3 Mudanças de requisitos 8,7 Falta de planejamento 8,1 Não precisa mais 7,5
Projetos UML
UML
Diagramas UML Use case diagrams Statechart diagrams Sequence diagrams Class diagrams Object diagrams Collaboration diagrams Activity diagrams Component diagrams Deployment diagrams
Diagramas Elevador
Projetos UML
Diagramas Elevador
USE CASE
Use Case Descreve o que o sistema faz do ponto de vista de um observador externo.
Foco no que o sistema faz (não em como faz) Atores - Quem interage com o sistema Casos de Uso - Um cenário possível de interação Comunicação - Interação com o sistema
Projetos UML
USE CASE
Use Case
Diagramas Elevador
Projetos UML
Diagramas Elevador
Use Case Tabular
Detalhes de Caso - Efetua Compra Caso: Efetua Compra Pré-condição: Itens > 0 Evento: Botão compra pressionado Fluxo: Faz pagamento e cria ordem de despacho pós-condições: Comprador informado do preço e data de entrega Regras de negócio: Usuário deve ser avisado posteriormente se não houver itens em estoque Métrica de qualidade: Deve durar menos de 1 min por meio de um formulário com 3 estágios Frequência: 1000 ordens por hora
Projetos UML
Diagramas Elevador
Sequência
Diagrama de Sequência Identifica interações entre objetos via eventos
Especificação de casos típicos Não é uma especificação completa Podem ser casos de teste
Projetos UML
Diagramas Elevador
Sequência
Diagrama de Sequência
Projetos UML
Diagramas Elevador
Estados
Diagrama de Estados Identifica os estados do sistema Identifica a matriz Evento x Transição de estado Especificação completa (sem detalhes): Todas transições estão documentadas.