Análise e projeto de sistemas

Documentos relacionados
Processo de Desenvolvimento de Software

Desenvolvimento de Software

Análise de Requisitos

Análise de Sistemas 3º Bimestre (material 2)

Fundamentos de Teste de Software

O que é um banco de dados? Banco de Dados. Banco de dados

Engenharia de Software II

DOCUMENTO DE REQUISITO DE SOFTWARE

Modelagem De Sistemas

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Modelos em Sistemas de Informação. Aula 2

ENGENHARIA DE SOFTWARE

PODER JUDICIÁRIO JUSTIÇA DO TRABALHO CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO

Programação Orientada a Objetos SANTOS, Rafael

Projeto Manutenção SAP Web e Portal TRT

Diagrama de Componentes e Implantação

Como Elaborar uma Proposta de Projeto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

Projeto de Desenvolvimento de Software

Metodologias de PETI. Prof. Marlon Marcon

Métricas de Software

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

Bibliografia. Engenharia de software Ian Sommerville 9ª edição Editora Pearson Prentice Hall

Título do Case: Categoria: Temática: Resumo: Introdução:

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Fundamentos de Programação. Diagrama de blocos

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Contrata Consultor na modalidade Produto

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

PORTARIA N Nº 178 Rio de Janeiro, 25 de outubro de 2012.

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Arquitecturas de Software Enunciado de Projecto

MODELAGENS. Modelagem Estratégica

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

UNIVERSIDADE PAULISTA CURSOS

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

REGULAMENTO DA POLÍTICA DE MANUTENÇÃO E GUARDA DO ACERVO ACADÊMICO DA ESCOLA DE DIREITO DE BRASÍLIA EDB

GIL, Antonio Carlos. Como elaborar projetos de pesquisa. São Paulo, Editora Atlas,

Prefeitura da Cidade de Nova Iguaçú. SEMED Secretaria Municipal de Educação. Coordenadoria Municipal de Ciência e Tecnologia

CENTRO UNIVERSITÁRIO SENAC Diretoria de Pós-graduação e Pesquisa

Introdução ao Teste de Software

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

PRESIDÊNCIA DA REPÚBLICA SECRETARIA DE ASSUNTOS ESTRATÉGICOS PROGRAMA DAS NAÇÕES UNIDAS PARA O DESENVOLVIMENTO

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

SISTEMA GERENCIAL PARA AUTOMAÇÃO DE FORÇA DE VENDAS USANDO DISPOSITIVOS MÓVEIS BASEADOS EM PALM OS

Processo de Gerenciamento do Catálogo de Serviços de TIC

Lei nº de 24 de julho de 2000.

ISO 9000 e ISO

Conteúdo programático

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

NORMA DE ELABORAÇÃO DE INSTRUMENTOS NORMATIVOS - NOR 101

TERMO DE REFERÊNCIA. Projeto de Reflorestamento com Espécies Nativas no Bioma Mata Atlântica São Paulo Brasil

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Enterprise Risk Management (ERM) Gestão de Riscos Corporativos Pesquisa sobre o estágio atual em empresas brasileiras

Comitê Científico do Enangrad

Insight for a better planet SOLUÇÕES EM PLANEJAMENTO, AGENDAMENTO E OTIMIZAÇÃO FLORESTAL

REGULAMENTO DO NÚCLEO DE ESTUDOS COMPORTAMENTAIS (NEC) DA COMISSÃO DE VALORES MOBILIÁRIOS

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

Curso de Desenvolvimento de Negócios Sociais e Inclusivos

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

:: Processo de Negócio :: Edital Interno de Solicitação para Contratação de Soluções de Tecnologia da Informação (TI)

A Implantação do Sistema do Sistema da Qualidade e os requisitos da Norma ISO NBR 9001:2000

Laboratório Virtual de Sistema de Controle Via Web em Labview. 1/6

Adaptação do MEDE-PROS para o processo de Pré-Qualificação do PNAFM

Deswik.Sched. Sequenciamento por Gráfico de Gantt

Modelo Entidade-Relacionamento. José Antônio da Cunha CEFET-RN

Sefaz Virtual Ambiente Nacional Projeto Nota Fiscal Eletrônica

Exercício Prático. Modelagem UML. Givanaldo Rocha de Souza

TERMO DE REFERÊNCIA. 1. Justificativa

O programa da disciplina em causa preconiza atividades linguísticas, estratégias e tarefas reportadas a usos comunicativos da língua.

DESCRITIVO TÉCNICO PLATAFORMA PCS

Prof. Dr. Heros Ferreira Plataforma EAD. Encontro Multiesportivo de Técnicos Formadores Solidariedade Olímpica / COI

Unidade IV PRINCÍPIOS DE SISTEMAS DE. Prof. Luís Rodolfo

2. QUESTÕES DE GERENCIAMENTO DE PROJETO DE SOFTWARE

bancodopovo.sp.gov.br

RESOLUÇÃO DO CONSELHO SUPERIOR Nº 48/2015, DE 9 DE NOVEMBRO DE TÍTULO I Projeto de Pesquisa - Caracterização

Inteligência Artificial

Criando Diagramas UML com o StarUML

Prof. José Maurício S. Pinheiro - UGB

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

CONSELHO REGIONAL DE ENFERMAGEM DE SÃO PAULO. Resposta aos questionamentos efetuados pela empresa TOTVS, temos a informar conforme segue:

MODELO SUGERIDO PARA PROJETO DE PESQUISA

ANEXO XII TABELA DE PONTUAÇÃO DA IMPLANTAÇÃO DO SISTEMA DE INFORMAÇÃO DE GESTÃO ACADÊMICA

BPMN - Business Process Modeling Notation Uma Notação para a Modelagem de Processos. Renata Guanaes

CONTROLE DA QUALIDADE TOTAL (TQC)

Transcrição:

Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas

A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os principais métodos orientados a objetos utilizados até então: a OMT, o Método de Booch e o OOSE. Um método é composto por uma notação para os artefatos produzidos e de um processo descrevendo que artefatos construir e como construí-los. A notação pode ser unificada, mas a decisão de quais artefatos produzir e que passos seguir não é passível de padronização, já que varia de projeto para projeto. A definição completa da UML está contida na Especificação da Linguagem de Modelagem Unificada da OMG (www.uml.org).

A linguagem de modelagem unificada (UML) A UML é uma linguagem visual para modelar sistemas orientados a objetos. Através dos elemento gráficos definidos nessa linguagem pode-se construir diagramas que representam diversas perspectivas de um sistema. Cada elemento gráfico da UML possui uma sintaxe e uma semântica.

A linguagem de modelagem unificada (UML) A UML é independente tanto de linguagens de programação quanto de processos de desenvolvimento. Um processo de desenvolvimento de software que utilize a UML envolve a criação de diversos documentos, que podem ser textuais ou gráficos. Esses documentos são denominados artefatos de software.

A linguagem de modelagem unificada (UML) Diagramas definidos pela UML

A linguagem de modelagem unificada (UML) Para que um número tão grande de diagramas para modelar um sistema? Ex: carro.

A linguagem de modelagem unificada (UML) Diagrama de Casos de Uso: Os casos de uso descrevem a funcionalidade do sistema percebida por atores externos. Um ator interage com o sistema, podendo ser um usuário, dispositivo ou outro sistema.

A linguagem de modelagem unificada (UML) 26 Diagrama de Classes: Denota a estrutura estática de um sistema, isto é, as classes, os relacionamentos entre suas instâncias (objetos), restrições e hierarquias.

A linguagem de modelagem unificada (UML) 26 Diagramas de Sequência: mostram a colaboração dinâmica entre um número de objetos, sendo seu objetivo principal mostrar a sequência de mensagens enviadas entre objetos. É um gráfico bidimensional, onde a dimensão vertical representa o tempo e a dimensão horizontal os diferentes objetos.

O processo de desenvolvimento de software Compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software. Objetivos: - definir quais as atividades a serem executadas; - quando, como e por quem serão executadas; - prover pontos de controle para verificar o andamento do desenvolvimento; - padronizar a forma de desenvolver software.

Atividades típicas de um processo de desenvolvimento Existem vários tipos de processos de desenvolvimento. Cada um com suas particularidades em relação ao modo de arranjar e encadear as atividades de desenvolvimento. Entretanto, podem-se distinguir atividades que, com uma ou outra modificação, são comuns à maioria dos processos existentes.

Levantamento de requisitos Corresponde à etapa de compreensão do problema aplicada ao desenvolvimento de software. Objetivo principal: que usuários e desenvolvedores tenham a mesma visão do problema a ser resolvido. Nessa etapa, os desenvolvedores, juntamente com os clientes, tentam levantar e definir as necessidades dos futuros usuários do sistema.

Levantamento de requisitos Essas necessidades são denominadas requisitos. Um requisito é uma condição ou capacidade que deve ser alcançada ou possuída por um sistema para satisfazer um contrato. Os requisitos de um sistema são identificados a partir de um domínio. Domínio: a parte do mundo real que é relevante.

Levantamento de requisitos O produto do levantamento de requisitos é o documento de requisitos. As principais seções de um documento de requisitos são: requisitos funcionais, não-funcionais e normativos.

Levantamento de requisitos Requisitos funcionais: definem as funcionalidades do sistema. o sistema deve permitir que cada professor realize o lançamento de notas das turmas nas quais lecionou. o sistema deve permitir que um aluno realize a sua matrícula nas disciplinas oferecidas em um semestre.

Levantamento de requisitos Requisitos não funcionais: declaram as características de qualidade que o sistema deve possuir e que estão relacionadas às suas funcionalidades. Confiabilidade: tempo médio entre as falhas, recuperação de falhas, etc. Desempenho: requisitos que definem tempos de resposta esperados para as funcionalidades do sistema.

Levantamento de requisitos Portabilidade: restrições sobre as plataformas de hardware e de software nas quais o sistema será implantado e sobre o grau de facilidade para transportar o sistema para outras plataformas. Segurança: limitações sobre a segurança do sistema em relação à acessos não autorizados. Usabilidade: requisitos que se relacionam ou afetam a usabilidade do sistema, como facilidade de uso e a necessidade ou não de treinamento do usuários.

Levantamento de requisitos Requisitos normativos: declaração de restrições impostas sobre o desenvolvimento do sistema. Por exemplo: a adequação a custos e prazos; aspectos legais; regras de negócio; limitações sobre a interface com o usuário; etc.

Levantamento de requisitos um sistema será útil para seus usuários se atender aos requisitos definidos e se esses requisitos refletirem as necessidades dos usuários. O documento de requisitos não deve conter informações sobre soluções técnicas que serão adotadas para o desenvolvimento do sistema. O documento de requisitos serve como um termo de consenso entre a equipe técnica e o cliente.

Análise As principais ferramentas da UML para realizar análise são: o diagrama de casos de uso e o diagrama de classes.

Projeto Na fase de projeto, determina-se como o sistema funcionará para tender aos requisitos, de acordo com os recursos tecnológicos existentes. A fase de projeto considera os aspectos físicos e dependentes de implementação. Consiste em duas atividades principais: o projeto da arquitetura e o projeto detalhado.

Projeto Projeto da arquitetura: consiste em distribuir as classes de objetos relacionadas do sistema em subsistema e seus componentes. Diagrama UML usado: diagrama de implementação. Cliente: Browser <<HTTP>> Servidor da aplicação <<ODBC>> BD corporativo <<LAN>> Impressora

Projeto Projeto detalhado: são modeladas as colaborações entre os objetos de cada módulo com o objetivo de realizar as funcionalidades dos módulo. Também é realizado o projeto da interface com o usuário, o projeto do banco de dados e os algoritmos a serem utilizados no sistema. Diagramas UML: diagramas de classes, diagramas de casos de uso, diagramas de interação, diagramas de estados e diagramas de atividades.

Implementação e testes Implementação: nessa fase o sistema é codificado, ou seja, ocorre a tradução da descrição computacional obtida na fase de projeto em código executável mediante o uso de uma ou mais linguagens de programação. Testes: nessa fase são realizadas verificações no sistema construído, levando-se em consideração a especificação feita na fase de projeto. O resultado dessa fase são os relatórios de testes, com informações sobre os erro detectados.

Implantação O sistema é empacotado, distribuído e instalado no ambiente do usuário. Os manuais do sistemas são escritos. Os usuários são treinados. Em alguns casos é feita a migração de dados e sistemas preexistentes.

O componente humano O desenvolvimento de software é uma tarefa altamente cooperativa. Uma equipe de desenvolvimento de software pode envolver vários especialistas. EX: gerente, analistas, projetistas, programadores, clientes e grupos de avaliação da qualidade.

O componente humano Gerente de projeto: profissional responsável pela gerência ou coordenação das atividades necessárias para a construção do sistema. Analistas: profissional que deve ter conhecimento do domínio do negócio para definir os requisitos do sistema a ser desenvolvido. Projetistas: profissional cuja função é: avaliar as alternativas de solução do problema resultante da análise e gerar a especificação de uma solução computacional detalhada.

O componente humano Arquitetos de software: profissional responsável por elaborar a arquitetura do sistema como um todo. Programadores: profissional responsável pela implementação do sistema. Especialista de domínio: profissional que possui conhecimento acerca da área ou do negócio em que o sistema em desenvolvimento estará inserido. Avaliadores de qualidade: profissionais que asseguram a adequação do processo de desenvolvimento e do produto de software sendo desenvolvido aos padrões de qualidade estabelecidos pela organização.