build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.



Documentos relacionados
ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

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

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

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

ENGENHARIA DE SOFTWARE

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Engenharia de Software

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Wilson Moraes Góes. Novatec

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Gestão de Projectos de Software - 1

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

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

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

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

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Engenharia de Software

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

ENGENHARIA DE SOFTWARE I

UML - Unified Modeling Language

Teste de Software. Profa. Cátia dos Reis Machado

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

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

PROJETO DE FÁBRICA DE SOFTWARE

Levantamento, Análise e Gestão Requisitos. Aula 04

Notas de Aula 04: Casos de uso de um sistema

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

rosefib.webnode.com.br

Aula 5 UML: Casos de Uso

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Engenharia de Requisitos Estudo de Caso

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

APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Engenharia de Software I: Análise e Projeto de Software Usando UML

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

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

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO

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

Universidade Católica de Petrópolis Análise Orientada a Objetos. Introdução

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

2 Engenharia de Software

UML Linguagem de Modelagem Unificada

Fase 1: Engenharia de Produto

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

Processo de Desenvolvimento Unificado

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

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

1 UML (UNIFIED MODELING LANGUAGE)

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Modelagemde Software Orientadaa Objetos com UML

Universidade Federal do ABC Rua Santa Adélia, Bairro Bangu - Santo André - SP - Brasil CEP Telefone/Fax:

Gestão da Qualidade por Processos

Processos de Desenvolvimento de Software

Introdução à Engenharia de Software

Feature-Driven Development

Gerenciamento de Projetos

ENGENHARIA DE SOFTWARE

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

MASTER IN PROJECT MANAGEMENT

Introdução ao Design

UML: Casos de Uso. Projeto de Sistemas de Software

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Etapas da Elaboração de um Projeto de Banco de Dados

OBJETIVO 2 APLICAÇÃO 3 ATRIBUIÇÕES E RESPONSABILIDADES 4 DOCUMENTOS DE REFERÊNCIA 5 TERMINOLOGIA 6 DESCRIÇÃO DO PROCESSO DE GESTÃO DE MUDANÇAS

Engenharia de Sistemas Computacionais

Orientação a Objetos I

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Plano de Trabalho Docente Ensino Técnico

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Diagrama de Caso de Uso e Diagrama de Sequência

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular OPÇÃO IV - TÓPICOS AVANÇADOS DE BASES DE DADOS Ano Lectivo 2010/2011

Modelagem de Processos. Prof.: Fernando Ascani

Unidade II MODELAGEM DE PROCESSOS


Modelagem de Software

Modelagem de Processos de Negócio Aula 5 Levantamento de Processos. Andréa Magalhães Magdaleno andrea@ic.uff.br

GARANTIA DA QUALIDADE DE SOFTWARE

Análise e projeto de sistemas PROF. REGILAN SILVA

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

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

Planejamento da disciplina: Modelagem de processos de negócio

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Transcrição:

UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas 2 Introdução build Análise Essencial de Sistemas 3 1

Introdução fix Análise Essencial de Sistemas 4 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso; só um processo com técnicas e regras bem definidas permite atingir os objetivos propostos; só compreendendo as necessidades reais dos usuários se pode produzir um produto de qualidade; só com um projeto confiável e controlado é possível cumprir prazos e custos propostos. [Pressman 00] Análise Essencial de Sistemas 5 Introdução Principio W5H2 Em 1996, Barry Boehm identificou sete questões que qualquer projeto de sistemas de informação deverá responder: Porque o sistema vai ser desenvolvido (Why)? O que deve ser feito (What)? Quando é que vai ser feito (When)? Quem é o responsável (Who)? Onde é que as responsabilidades estão localizadas (Where)? Como é que vai ser feito (How)? Quanto vai custar em termos de recursos (How much)? [Boehm 96] Análise Essencial de Sistemas 6 2

Processos e Metodologias O processo de desenvolvimento de software é um conceito de âmbito muito vasto, e pretende designar uma seqüência de atividades, normalmente agrupadas em fases e tarefas, que são executadas de forma sistemática e uniformizada, que são realizadas por profissionais com responsabilidades bem definidas, e que a partir de um conjunto de inputs produzem um conjunto de outputs. Análise Essencial de Sistemas 7 Processos e Metodologias Processo Um processo de desenvolvimento de software tem, segundo [Booch 94], quatro objetivos fundamentais: Providenciar orientação sobre a seqüência de realização das atividades envolvidas. Especificar os modelos descritivos do sistema que devem ser desenvolvidos. Dirigir as tarefas de cada desenvolvedor e da equipe como um todo. Providenciar critérios para monitorizarão e avaliação dos modelos e atividades do projeto. Análise Essencial de Sistemas 8 Processos e Metodologias Metodologia A seqüência de etapas e procedimentos recomendados a serem aplicados durante o processo de desenvolvimento de um sistemas de informação (uma metodologia pressupõe a existência de um processo); A utilização de um conjunto de ferramentas, técnicas e notações[ Booch94]. Análise Essencial de Sistemas 9 3

Processos e Metodologias Metodologia Um conjunto de princípios e regras cujo objetivo é concretizar na prática as orientações mais teóricas que são expressas no conceito de processo, e nas quais podemos incluir: - Regras de elaboração de estimativas(custos, prazos). - Técnicas para efetuar medições. - Procedimentos a seguir de forma a garantir a qualidade. - Modelos da documentação a produzir (templates). - Exemplos práticos detalhados. - Técnicas para configuração da metodologia, que poderão ser aplicadas de modo a possibilitar a sua adaptação a realidades específicas. Análise Essencial de Sistemas 10 Processos e Metodologias Processo X Ciclo de Vida Análise Essencial de Sistemas 11 Processos e Metodologias Origem das metodologias: 1- No mercado - experiência prática; - aplicação mais restrita; - tem ferramentas. 2- Nas Universidades e Centros de Pesquisa - modelo matemático; - aplicação mais genérica - não tem ferramenta. Análise Essencial de Sistemas 12 4

Modelos e Modelagem Um modelo consiste na interpretação de um dado domínio do problema segundo uma determinada estrutura de conceitos. fragmento do mundo real sobre o qual as tarefas de modelagem e construção do sistema de informação incidem. Análise Essencial de Sistemas 13 Modelos e Modelagem Um esquema é a especificação de um modelo usando uma determinada linguagem, a qual pode ser formal ou informal (linguagem natural), textual ou gráfica. Os diagramas são a reapresentação gráfica de um esquema. Como exemplos de esquemas e de diagramas temos o esquema relacional do modelo de dados de um sistema de crédito bancário. Análise Essencial de Sistemas 14 Modelos e Modelagem Modelo Representação Simplificada (limitada) do Mundo. Análise Essencial de Sistemas 15 5

Modelos e Modelagem Importância da Modelagem A modelagem é a arte e ciência de criar modelos de uma determinada realidade. Permite o compartilhamento do conhecimento entre os diferentes grupos envolvidos (técnicos e não técnicos). Facilita e promove a comunicação entre todos. Facilita a gestão mais eficaz e eficiente das equipes de projeto. Permite que as previsões de custos e prazos sejam feitas segundo critérios mais realistas. Análise Essencial de Sistemas 16 Modelos e Modelagem Segundo [Booch 99] os principais benefícios da modelagem são: Os modelos ajudam a visualizar um sistema, quer seja a sua situação no passado, no presente ou no futuro. Os modelos permitem especificar a estrutura ou o comportamento de um sistema; Os modelos permitem controlar e guiar o processo de construção do sistema. Os modelos documentam as decisões tomadas. Análise Essencial de Sistemas 17 Princípios da Modelagem A escolha dos modelos tem uma profunda influência no modo como o problema é encarado e conseqüentemente entemente como a solução é obtida. 1 o Princípio Análise Essencial de Sistemas 18 6

Princípios da Modelagem 2 o Princípio Cada modelo deve poder ser expresso em diferentes níveis n refinamento/abstração. Análise Essencial de Sistemas 19 Princípios da Modelagem 3 o Princípio Os melhores modelos refletem a realidade. (A divisão do O que e do Como) Análise Essencial de Sistemas 20 Princípios da Modelagem 4 o Princípio Nenhum modelo é suficiente por si só. s Qualquer sistema não trivial é representado de forma mais adequada através s de pequeno número de modelos, razoavelmente independentes. Análise Essencial de Sistemas 21 7

Boas Práticas no Desenvolvimento de Software A complexidade do software é uma propriedade essencial, intrínseca à própria natureza do software, e não acidental, que ocorra esporadicamente. No Silver Bullet [Brooks86] Análise Essencial de Sistemas 22 Boas Práticas no Desenvolvimento de Software Segundo Booch [Booch94], esta complexidade tem origem em quatro fatores: A complexidade do domínio do problema. A dificuldade de gerir o processo de desenvolvimento. A flexibilidade que é possível (ou não) implementar através de software. Os problemas de se caracterizar o comportamento de sistemas discretos. Análise Essencial de Sistemas 23 Boas Práticas no Desenvolvimento de Software Courtois identificou vários atributos de um sistema complexo [Courtois 85]: 1. Um sistema complexo é composto por outros subsistemas relacionados, e assim sucessivamente, até se atingir um nível que é considerado elementar. Um sistema complexo é expresso através de uma hierarquia de elementos. Análise Essencial de Sistemas 24 8

Boas Práticas no Desenvolvimento de Software 2. A seleção dos componentes elementares de um sistema complexo é arbitrária e depende de quem a faz, pois não existem critérios universais para tal seleção. 3.Num sistema complexo, com muitos elementos, as relações intracomponentes são mais fortes do que as inter-componentes. Análise Essencial de Sistemas 25 Boas Práticas no Desenvolvimento de Software 4. Cada subsistema é normalmente composto por poucos componentes diferentes. 5. Um sistema complexo que funciona é invariavelmente uma evolução de um sistema simples que já funcionou; um sistema complexo concebido de primeira normalmente não funciona e dificilmente pode ser alterado de forma a que tal aconteça. Análise Essencial de Sistemas 26 Boas Práticas no Desenvolvimento de Software Para superar nossa limitações em manipular o complexo: 1. Dijkstra [Dijkstra 65] sugeriu a aplicação do famoso princípio da decomposição hierárquica, dividir para conquistar. 2. A aplicação de um mecanismo de abstração. Análise Essencial de Sistemas 27 9

Representação genérica da hierarquia dos conceitos de fase, tarefa e atividade. Análise Essencial de Sistemas 28 Fases e tarefas do processo desenvolvimento de software. Análise Essencial de Sistemas 29 1. Planejamento, correspondendo a uma identificação geral das necessidades, identificação e seleção de alternativas e definição de plano do trabalho. Análise Essencial de Sistemas 30 10

2. Análise, que inclui a identificação detalhada das funcionalidades do sistema (Levantamento de Requisitos) e a respectiva descrição (Especificação do Sistema) de modo a que os mesmos requisitos possam ser validados pelos usuários finais do sistema. Análise Essencial de Sistemas 31 3. Desenho (projeto), onde é realizada a definição detalhada da arquitetura global da solução (módulos, tabelas, interface, máquinas, etc.). 4. Desenvolvimento, tarefa na qual é realizada a programação dos diversos componentes do sistema Análise Essencial de Sistemas 32 5. Testes (ou Integração), em que o sistema como um todo é testado com o objetivo de obter a validação do usuário. 6. Instalação, tarefa onde são executadas as atividades relacionadas com a disponibilização do sistema para os seus usuários finais, e que normalmente é designada por entrada do sistema em produção Análise Essencial de Sistemas 33 11

7. Manutenção, o momento que corresponde ao tempo de vida útil do sistema e durante o qual serão efetuadas todas as alterações posteriores à entrada em funcionamento do produto. Análise Essencial de Sistemas 34 Custos relativos de diversas tarefas do processo de desenvolvimento de software. [Yourdon 96]. Análise Essencial de Sistemas 35 Percentagem relativa das intervenções que ocorrem durante a manutenção do software. [Yourdon 96]. Análise Essencial de Sistemas 36 12

Processos de Desenvolvimento de Software Processo em Cascata Análise Essencial de Sistemas 37 Processos de Desenvolvimento de Software Processo em Cascata Revisto Análise Essencial de Sistemas 38 Bibliografia da Aula [Pressman00] Roger Pressman. Software Engineering - Practitioner's Approach.McGraw- Hill, 2000. A [Boehm 96] Barry Boehm. Anchoring the Software Process. IEEE Software, vol. 13, no. 4, Julho 1996, pp.73-82. [Booch 94] Grady Booch. Object-Oriented Analysis and Design with Applications. 2 ª edição. Addison Wesley, 1994. [Booch 99] Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison Wesley, 1999. Análise Essencial de Sistemas 39 13

Bibliografia da Aula [Courtois 85] P. Courtois. On Time and Space Decomposition of Complex Structures. Communications of the ACM, vol. 28,n º 6, Junho 1985. [Dijkstra 65] B. W. Dijkstra. Programming Considered as a Human Activity. Proceedings of the 1665 IFIP Congress, North Holland Publishing Company, 1965. Análise Essencial de Sistemas 40 14