Processos de Desenvolvimento de Software



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

Ciclo de Vida de um Projeto

Gestão de Projeto de Tecnologia da Informação

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Software

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

Pós Graduação Engenharia de Software

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

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

3 Qualidade de Software

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

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

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

ENGENHARIA DE SOFTWARE I

Introdução à Computação

Arquitetura de Sistemas Distribuídos

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Projeto de Sistemas I

Engenharia de Software

Processo Unificado (RUP)

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Introdução a Computação

Engenharia de Software

Serviços Web: Introdução

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 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

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

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

Automação de Bancada Pneumática

Atendimento CREA-RO. Plano de Desenvolvimento de Software. Histórico das Reuniões do Grupo

Desenvolvimento de um aplicativo básico usando o Google Android

Requisitos. Sistemas de Informações

Introdução à Engenharia de Software

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

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

Professor: Curso: Disciplina:

Dicionário da EAP - Software FarmaInfor

Universidade Paulista

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

Políticas de Qualidade em TI

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Universidade de Brasília Faculdade de Ciência da Informação Disciplina: Projeto de Implementação de Sistemas Arquivísticos Profa.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

GERÊNCIA DE PROJETOS DE SOFTWARE. Introdução

O Processo Unificado

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

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Desenvolvimento de Interfaces Prototipação

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

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

Planejamento de Projetos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Verificação é um processo para se determinar se os produtos, (executáveis ou

Engenharia de Requisitos Estudo de Caso

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

GRADUAÇÃO APRESENTAÇÃO E GRADE CURRICULAR DOS CURSOS PROCESSOS GERENCIAIS HORAS

Sistemas de Informação I

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

IMPLANTAÇÃO DE PROJETOS

Processos de Software

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

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

ENGENHARIA DE SOFTWARE II. Modelos de Ciclo de Vida e Processos de Software AULA 2

Modelos do Design de Software

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Processo de Desenvolvimento Unificado

ATO Nº 91/2015/GP/TRT 19ª, DE 1º DE JUNHO DE 2015

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

Processo de Desenvolvimento de Software. Engenharia de Software.

Engenharia de Requisitos

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Especialização em Engenharia de Software e Banco de Dados

Modelos de Processo (métodos)

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Gerenciamento de projetos.

EMENTAS DAS DISCIPLINAS

O Processo Unificado: Captura de requisitos

Fundamentos de Engenharia de Software. Josino Rodrigues

ENG1000 Introdução à Engenharia

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

Processo de Implementação de um Sistema de Gestão da Qualidade

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

MECANISMOS PARA GOVERNANÇA DE T.I. IMPLEMENTAÇÃO DA. Prof. Angelo Augusto Frozza, M.Sc.

Transcrição:

Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão

Objetivos Nesta aula iremos apresentar de forma básica a relação entre os conceitos de: ciclo de vida de software, modelo de ciclo de vida e processo de desenvolvimento de software.

Plano de Aula Processo de Desenvolvimento de Software Introdução Ciclo de Vida do Software Definição Planejamento Operação Modelos do Ciclo de Vida do Software Definir um Ciclo de Vida Definir um Processo de Desenvolvimento

Introdução A Engenharia de Software requer que as atividades para desenvolver o software sejam feitas de forma: Planejada; Gerenciada; Com pessoal capacitado; Custos e prazos estimados; Utilizando teorias, métodos, técnicas e ferramentas adequadas.

Introdução Um Processo de Desenvolvimento de Software significa determinar de forma precisa e detalhada quem faz o que, quando e como; Um processo pode ser visto como uma instância de um método com suas técnicas e ferramentas associadas; Enquanto um método é algo teórico, o processo deve determinar ações práticas a serem realizadas pela equipe com prazos definidos; O processo é o resultado do planejamento e precisa ser gerenciado no decorrer de sua execução.

O Ciclo de Vida do Software O ciclo de vida de um artefato diz respeito às diversas fases pelas quais ele passa desde o seu surgimento até a o momento no qual ele não será mais útil; No Ciclo de Vida do Software identificamos três fases: Definição Desenvolvimento Operação

O Ciclo de Vida do Software Definição Nesta fase os requisitos do software são determinados, a sua viabilidade é estudada e o planejamento das atividades é elaborado; Planejamento Nesta fase são realizadas as atividades destinadas a produção do software. Atividades como concepção, especificação, design da interface, prototipação, design da arquitetura, codificação e verificação, etc; Operação O sistema deverá efetivamente ser utilizado pelos seus usuários produzindo os resultados desejados. Ocorrem aqui atividades de manutenção, para correções, ou evolução, para que este satisfaça novos requisitos.

Definição Definir o sistema é definir todos os seus componentes; Na fase de definição são tomadas as decisões de construir ou não o software; Nela são definidos os requisitos do software: Determinando-se o que o cliente quer, o que a organização necessita, quais os problemas nas atividades dos usuários, etc; Também devem ser definidas algumas restrições ao software: Restrições técnicas: o software deve ser executado no ambiente Linux, uma vez que esta é a plataforma instalada na empresa. Restrições econômicas: o orçamento de desenvolvimento não pode ultrapassar R$ 10.000,00 ;

Definição Atividades da fase de Definição: Análise e especificação de requisitos; Estudo de viabilidade do software; Estimativas de custos e prazos e a análise de riscos; Planejamento de como o desenvolvimento será conduzido.

Atividades da fase de Definição Análise e especificação de requisitos A definição dos requisitos é denominada de análise e especificação de requisitos indicando que existe uma atividade de observação e uma descrição rigorosa dos problemas e da proposta de soluções; O resultado desta atividade é a descrição do(s): Requisitos Funcionais: que dizem respeito àquilo que se quer que o software faça; Requisitos Não-Funcionais: que dizem respeito a requisitos de ordem técnica, econômica, da organização, etc.

Atividades da fase de Definição Estudo de viabilidade do software Este estudo visa verificar se o software é viável técnica e economicamente e se os benefícios trazidos serão compensadores. O estudo de viabilidade requer que tenham sido definidos alguns requisitos para que se possa ter ideia do que será o sistema; Estimativas de custos e prazos e a análise de riscos A Estimativa de Custos visa determinar gastos e prazos aproximados a partir de dados de experiências anteriores. A Análise de Riscos visa verificar se existem possibilidades de que algo possa sair errado; Planejamento de como o desenvolvimento será conduzido. Deve-se elaborar um processo de desenvolvimento.

Desenvolvimento Atividades da Fase de Desenvolvimento: Design Prototipação Programação Avaliação ou Verificação

Atividades da fase de Desenvolvimento Design Design de Software é atividade do desenvolvimento na qual o software deve ser concebido e especificado do ponto de vista do usuário e não do desenvolvedor; O foco está na visão externa do software que é a aquela que será percebida pelos usuários; O design deve determinar o que o software deve fazer - a sua funcionalidade - e como o usuário irá interagir como ele - a sua interatividade ou modelo de interação; Enquanto que a especificação dos requisitos visa descrever o que clientes, usuários e organização necessitam, o design de software visa especificar o que ele oferecerá para satisfazer estas necessidades.

Atividades da fase de Desenvolvimento Design Design da Interface de Usuário: visa a concepção e especificação da parte do software que possibilita que o usuário interaja com o sistema de acordo com o modelo de interação especificado; Design da Arquitetura do Software: Design concebido do ponto de vista do desenvolvedor visando determinar de maneira abstrata como a funcionalidade será implementada e especificando o que cada componente deve fazer; Design de Algoritmos e Dados: Tem por objetivo a concepção e especificação das estruturas de dados e dos algoritmos que realizam aquilo que foi especificado para cada componente do software. O resultado de todas as atividades de design são: especificações da funcionalidade, do modelo de interação, da interface de usuário, da arquitetura de software e dos algoritmos e estruturas de dados.

Atividades da fase de Desenvolvimento Prototipação Um protótipo do software é construído utilizando ferramentas que permitem que apenas partes do software sejam construídas com o objetivo de verificar suas qualidades antes que o produto final venha a ser construídos e assim diminuir os riscos envolvidos no desenvolvimento; Programação Esta atividade é também chamada de implementação, construção ou codificação do software. Descreve na forma de especificação de algoritmos e estruturas de dados ações que devem ser codificadas em uma linguagem de programação. Deve-se ter atenção a integração entre componentes.

Atividades da fase de Desenvolvimento Avaliação ou Verificação A avaliação ou verificação visa assegurar algumas das principais qualidades do software. Dentre as atividades de avaliação vamos destacar a correção, validação e usabilidade do software; O software é considerado correto quando o programa implementado satisfaz à sua especificação; A avaliação da validação do software visa determinar se a especificação do software (funcionalidade, arquitetura, interface, etc) satisfaz aos requisitos do usuário; A avaliação da usabilidade visa identificar as qualidades relacionadas com a interação entre o usuário e o software (facilidade de aprendizado, facilidade de uso, produtividade, etc).

Operação Durante a fase de operação do ciclo de vida, o software deve ser instalado, utilizado e feita a sua manutenção; Atividades da Fase de Operação: A Instalação e Configuração é a atividade que visa implantar o software no computador para que ele possa ser utilizado pelos usuários; A Utilização é a atividade fim do software, uma vez que ele foi construído para auxiliar pessoas na realização de suas tarefas; A Manutenção é a atividade destinada a assegurar a qualidade do software durante a fase de operação.

Modelos do Ciclo de Vida do Software Um Ciclo de Vida de Software é uma representação normalmente, apresenta as atividades envolvidas no processo, mas não apresenta os detalhes de cada simplificada do processo de software que, uma delas; Vamos ver os seguintes modelos de ciclo de vida: Cascata Incremental Prototipação

Modelo em Cascata

Modelo Incremental

Prototipação

Definir um Ciclo de Vida do Software A escolha de um modelo de ciclo de vida deve levar em consideração alguns pontos relevantes, a saber: Natureza do projeto e da aplicação; Experiência da equipe de desenvolvimento; Metodologias e ferramentas a serem usadas; e controles e produtos que precisam ser entregues.

Definir um Ciclo de Vida do Software Modelo em Cascata + Prototipação

Definir um Processo de Desenvolvimento A partir do Ciclo de Vida elaborado, foi definido um Processo de Desenvolvimento.

Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva

Próxima Aula Gestão de Projeto de Tecnologia da Informação

Referências Engenharia De Software, Ian Sommerville, 9ª Edição - Editora Pearson Education-BR, 568 páginas.