Requisitos e Modelação



Documentos relacionados
Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Análise de Sistemas. Conceito de análise de sistemas

Universidade do Minho Licenciatura em Engenharia Informática

Nome COMPLETO: Nº: Leia atentamente as notas que se seguem. Só depois deve iniciar o exame.

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Arquitetura de Software

Engenharia de Software

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes

Fase 1: Engenharia de Produto

Programa de I&D ProjectIT

Desenvolvimento de Sistema de Software

Engenharia de Software

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Rock In Rio - Lisboa

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville

Análise e Projeto de Sistemas

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

Desenvolvimento estruturado versus orientado a objetos.

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

A engenharia de software avança por padrões

Enquadramento e Conceitos Gerais

Unified Software Development Process

4.1. UML Diagramas de casos de uso

Engenharia de Software

Software de Telecomunicações

Introdução à Engenharia de Software

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Guia de Prova de Aptidão Profissional

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

5. Métodos ágeis de desenvolvimento de software

WebSphere_Integration_Developer_D_Jan06 Script

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Processo de Desenvolvimento de Software. Engenharia de Software.

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

Business Process Management

Análise e Projeto de Sistemas

GOVERNANÇA DE TI PMBoK (Project Management Body of Knowledge)

Metodos de Programação

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 023-A/2014 Portal F.P.T. - Inscrições (Aditamento)

Engenharia de Software III

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

1 Introdução 1.1. Motivação

ARQUITECTURAS DE SOFTWARE

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Base de Dados para Administrações de Condomínios

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

O software de gestão de ginásios foi concebido a pensar no englobamento de todas as actividades que ocorram no ginásio ou health club.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Realizou-se dia 24 de Março, na Maia, nas instalações da Sonae Learning Center, a 6ª sessão da CoP, desta vez presencial.

DESENVOLVIMENTO DE SISTEMAS SOFTWARE FASE 1 GRUPO 10. Vítor Martins Rui Fonseca David Barbosa Ricardo Boas 47023

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Nota: texto da autoria do IAPMEI - UR PME, publicado na revista Ideias & Mercados, da NERSANT edição Setembro/Outubro 2005.

Processo de Desenvolvimento Unificado

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Engenharia de Software

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

FEDERAÇÃO PORTUGUESA DE TIRO

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Professor: Curso: Disciplina:

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

Conceito. As empresas como ecossistemas de relações dinâmicas

Padrões de projeto 1

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

O Processo de Desenvolvimento de Software

IBM Software Demos Rational Software Delivery Platform - Teste automatizado

Desenvolvimento de Interfaces Prototipação

Gestão dos Níveis de Serviço

Gestão de Projectos Informáticos Gestão do Âmbito (Scope Management)

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

ENG1000 Introdução à Engenharia

Direcção Regional de Educação do Algarve

PHC Serviços CS. A gestão de processos de prestação de serviços

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Procedimento de Gestão PG 01 Gestão do SGQ

Linguagem de Programação I

Matemática Aplicada às Ciências Sociais

Engenharia de Software I

O modelo unificado de processo. O Rational Unified Process, RUP.

0682_CLOUDPYME2_1_E 1

Transcrição:

Requisitos e Modelação combinação essencial para melhorar o processo de desenvolvimento de software Class4 -End1 -End2 Class1 * * System Actor1 * -End3 -End5 -End7 * Actor2 UseCase1 -End4 * UseCase2 -End6 * UseCase3 -End8 * O sistema deve possibilitar o registo de facturas. O sistema deve permitir a O sistema deve possibilitar o impressão de segundas vias. registo de facturas. As facturas não podem ser O sistema deve permitir a alteradas depois O sistema de registadas. deve possibilitar o impressão de segundas vias. Apenas o utilizador registo que de facturas. registou a As facturas não podem ser fectura a pode O conferir. sistema deve permitir a alteradas depois O sistema de registadas. deve possibilitar o O sistema deve impressão. de segundas vias. Apenas o utilizador registo que de facturas. registou a O sistema deve As facturas. não podem ser fectura a pode O conferir. sistema deve permitir a O sistema deve alteradas. depois O sistema de registadas. deve possibilitar o O sistema deve impressão. de segundas vias. O sistema deve Apenas. o utilizador registo que de facturas. registou a O sistema deve As facturas. não podem ser O sistema deve fectura. a pode O conferir. sistema deve permitir a O sistema deve alteradas. O sistema deve impressão depois de. de registadas. segundas vias. O sistema deve Apenas. o utilizador que registou a O sistema deve As facturas. não podem ser O sistema deve fectura. a pode conferir. O sistema deve alteradas. depois de registadas. O sistema deve. O sistema deve Apenas. o utilizador que registou a O sistema deve. O sistema deve fectura. a pode conferir. O sistema deve. O sistema deve. O sistema deve. O sistema deve. O sistema deve. O sistema deve. O sistema deve. O sistema deve. Component1 Component3 Component2 Component4

Agenda O contexto actual do desenvolvimento de software Gestão de requisitos Modelação de software Projecto Project IT Requirements Conclusão

Qual é a nossa imagem? Fonte: Business Week Dezembro 1999

Porque falhamos? 100 90 80 70 60 50 40 30 20 10 0 33 49 46 53 40 23 28 31 28 26 27 16 2000 1998 1996 1994 Insucesso Com Problemas Sucesso Fonte: Standish Group

There is no Silver Bullet! Apesar de todos os esforços, continuamos a enfrentar problemas Custos de projectos ultrapassados Prazos ultrapassados Qualidade deficiente Negócio Problema G A P Solução Tecnologia O que podemos fazer? Aplicar ao desenvolvimento de software os principios rigorosos de outras áreas de engenharia Aplicar estes principios nas actividades iniciais do processo de desenvolvimento

Esforços de melhoria Processos de desenvolvimento Desenvolvimento incremental e iterativo RUP Abordagens Ágeis Modelação UML MDD (Model Driven Development) Requisitos Poucas inovações O que existe é de divulgação e aplicação limitada

O que são Requisitos Uma propriedade do software necessária para resolver um problema e para atingir um objectivo Uma condição ou propriedade com a qual o sistema deve estar em conformidade Gestão de requisitos: Abordagem sistemática Identificação Organização Especificação Gestão de alterações Objectivo: garantir a rastreabilidade

Artefactos Requisitos Pedidos dos utilizadores Visão Documento especificação requisitos Regras de negócios Standards, orientações,... Criar factura Especificação Complementar Utilizador Comercial imprimir() Imprimir 2ª Via Utilizador Financeiro Receber Pagamento Factura

Problemas associados aos requisitos Elevada abrangência: desde uma descrição abstracta de alto nível até uma especificação funcional detalhada Confusão de conceitos: Preferências dão requisitos? Descrição do problema versus descrição da solução Requisitos implicitos Requisitos incompletos Inconsistência de requisitos Inviabilidade de requisitos Má definição (problemas relacionados com a linguagem utilizada) Dificuldade de compreensão Ambiguidade Muitas fontes de requisitos Os requisitos mudam com frequência Os requisitos multiplicam-se

Abordagens de definição de Não formais requisitos As mais comuns Recorrem a linguagem natural Requisitos expressos em documentos de texto Semi formais Cada vez mais utilizadas Utilizam modelos para a especificação de requisitos (por exemplo, diagramas UML) Existem opiniões contrárias em relação a esta abordagem Formais Baseadas em linguagens de especificação formal

Ferramentas de Requisitos Cradle Analyst Pro RDT Catalyze IRQA Core STP CaliberRM RTM Reconcile PLM Slate TeamCenter RDD Statemate RequisitePro Doors TrueReq

Ferramentas - Problemas Muitas concentram-se na área de gestão de requisitos Várias não integram adequadamente com outras actividades do processo de desenvolvimento Muitas ainda estão condicionadas pelo facto dos requisitos serem expressos textualmente São por vezes verdadeiras máquinas de escrever!!!

A actividade de modelação Mundo Real gap semântico Modelo dono homem lar carro casa Estrutura de Conceitos Esquema textual Esquema gráfico

Beneficios da modelação Modelação é uma técnica de engenharia bem aceite e com provas dadas (e.g., engª civil, mecânica),... Facilita a comunicação entre diferentes intervenientes Introduz um grau de formalismo na definição do sistema. Promove a utilização de um vocabulário consistente no projecto Facilita a visualização do sistema Os melhores modelos reflectem a realidade Nenhum modelo único é suficiente UML é cada vez mais o standard para construção de modelos

UML - Diagramas Standard Class Use cases State Machine Protocol State Machine Object Sequence Component Modelos Communication Deployment Composite Structure Activity Timing Interaction Overview

Exemplos de diagramas UML Utilizador Comercial Criar factura Imprimir 2ª Via Factura data valor registar() consultar() 0..* 1 Cliente Pagamento data valor nome morada Utilizador Financeiro Receber Pagamento Factura

Exemplos de diagramas UML Financeira Comercial Cliente Encomendar Produto Conferir Plafond cliente Validar Stock Criar Factura Enviar Factura Conferir Factura Receber pagamento Pagar Factura

Requisitos e Modelação Especificação de requisitos e modelação estão relacionados Utilização de técnicas de modelação para especificação de requisitos Descoberta de requisitos em modelos existentes A modelação facilita a construção de um vocabulário comum utilizado na descrição dos requisitos É a partir do modelo do sistema que é normalmente efectuada a rastreabilidade dos requisitos Modelos do sistema aparecem nos documentos de especificação de requisitos Mas não são a mesma coisa

Requisitos e Modelação Não é fácil expressar todos os requisitos (especialmente os não funcionais) através de modelos Requisitos usam representações informais enquanto a modelação utiliza diagramas (semi-formais) Modelos não são adequados para expressar relações contratuais Não existem regras universais para a transformação dos requisitos textuais em modelos

Motivação para fazer algo Contexto de negócio e tecnológico complexo Ciclos de produção mais curtos Time to market cada vez mais reduzido Tamanho e complexidade das soluções aumenta Requisitos de qualidade aumentam Muitos conceitos, alguma confusão Actualmente, muita da prática de gestão de requisitos está focada na apresentação textual de requisitos, auxiliada pela utilização de representações gráficas informais Ferramentas na área dos requisitos podiam ir mais longe Desfasamento entre as iniciativas de investigação nesta área e a sua divulgação e aplicação (research - practice dilemma)

Motivação para fazer algo Linguagem natural é a técnica mais utilizada para expressar os requisitos Ambiguidade Falta de entendimento comum Falta de rigor Incapacidade de reutilizar Incapacidade de integrar Métodos formais baseados em conceitos matemáticos Dificuldade de leitura Dificuldade de utilização Só justificável em situações pontuais Formalizar através da utilização de linguagem natural

Objectivo do projecto Projecto ProjectIT Requirements Construir um modelo para definição e documentação de requisitos que, através do aumento do rigor da sua especificação, facilite a reutilização e integração com ambientes de desenvolvimento conduzidos por modelos.

O projecto ProjectIT ProjectIT-MDD (XIS) ProjectIT- Requirements ProjectIT-Tests ProjectIT-Time ProjectIT-Workbench

ProjectIT Requirements Definição de um modelo de requisitos Definição de uma linguagem de especificação de requisitos Especificação rigorosa dos conceitos do projecto Especificação dos requisitos do sistema Definição de mecanismos de reutilização de requisitos Definição de um perfil para integração com modelos (extensão ao actual perfil XIS/UML)

Principios orientadores Reutilização Simplicidade Automatização Formalização Aproximação das abstrações da solução ao problema Compreensão por todos os intervenientes no processo de desenvolvimento Integração de actividades Extensibilidade Suporte por ferramentas Integração de boas práticas

Estado do Projecto Análise detalhada do estado da arte Definição do modelo de especificação de requisitos Prova de conceito da abordagem Implementação de um protótipo de especificação de requisitos Reutilização Novas funcionalidades Integração MDD Evolução do protótipo Abril 04 Setembro 04 Abril 05 Tempo

Problema Conclusão Solução Os contextos de negócio e tecnológico são cada vez mais complexos. Os próximos esforços de melhoria devem ser na gestão de requisitos e modelação Apesar de todos os esforços, continuamos a ter insucessos no desenvolvimento de software O problema não está nas actividades de implementação mas sim nas de concepção Formalizar Reutilizar Automatizar Integrar Este pretende ser o contributo do projecto ProjectIT, e em particular do ProjectIT Requirements

Obrigado cvideira@ual.pt