Engenharia de Software

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

APS I Análise e Projeto de Sistemas I
Programa das Aulas 20/09/05 - Apresentação da disciplina
Engenharia de Software
Rational Unified Process
Gerência de Configuração
Natanael (njsj) Thiago (tan2) Rodrigo (rml2)
Validação de Requisitos
GUG Porto Alegre/Brasil Desenvolvimento em GeneXus, Métodos Ágeis e Scrum.
> Fases de Engenharia de SW > Gestão de Projectos de SW
INTRODUÇÃO A INFORMÁTICA
UNIVERSIDADE FEDERAL DE SANTA MARIA Disciplina:
Projeto de Sistemas de Software
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Gerenciamento de Configuração
Análise e Projeto de Sistemas
Introdução a Computação
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Engenharia de Requisitos
O que é ? Subversion (ou svn) é um sistema de controle de versão criado para substituir o CVS. Ele permite que você recupere versões antigas de seus arquivos,
Análise e Projeto de Sistemas
WARE SECURITY SYSTEM.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Gerência de Configuração
Análise de Casos de Uso Alexandre Motnteiro.
Gerência de Configuração de Software
Márcio Aurélio Ribeiro Moreira
Introdução a Engenharia de Software
Rational Unified Process
Engenharia de Requisitos
Tecnólogo em Analise e Desenvolvimento de Sistemas - Faculdade de Tecnologia SENAC De Roger Ferreira Memórias e suas características,
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Comunicação Social Criação e Produção de Sites
Visão Geral do RUP.
Projeto de Sistemas de Software
O Fluxo de Implementação
Modelagem de Software.
Márcio Aurélio Ribeiro Moreira
Gestão de Configuração & Mudanças Apresentação Márcio Aurélio Ribeiro Moreira
IF696 - Integração de Dados e DW
Planejamento e Gerenciamento
1.
Gerência de Configuração - GC
Moodle Manual de Utilização Plataforma de Ensino a Distância
Técnicas e Projeto de Sistemas
Aluno: Cristiano Levi Arnold Orientador: Alexandre Luís Franco 2009
PSBD II Projeto de Sistemas de Banco de Dados II
PSBD II Projeto de Sistemas de Banco de Dados II.
Especificação em Projeto de Sistemas
Bruno Silva Desenvolvido a partir de
Engenharia de Software 1
Apresentação da Disciplina Modelagem de Software
Conceitos Básicos Introdução.
Análise e Especificação de Requisitos © 2001 Jaelson CastroInformações Gerais 1 Análise e Especificação de Requisitos - IF119 Centro de Informática Jaelson.
CIn-UFPE1 © 2003, Alexandre Vasconcelos Visão Geral do RUP.
Engenharia de Software
Objetivos deste módulo
Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais
Engenharia de Software
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Utilizando subversion como controle de versão
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
SISTEMAS DE INFORMAÇÃO Projeto de Sistemas Análise Orientada a Objetos 2011/02 UNIPAC – Araguari FACAE - Faculdade de Ciências Administrativas e Exatas.
Engenharia de Software
APS II Análise e Projeto de Sistemas de Informação II
PSDS com CMMI Nível 2 Dimitri de Almeida Malheiros Barbosa 27/03/2006.
Engenharia de Software Ludimila Monjardim Casagrande 1º Semestre Plano da Disciplina.
Engenharia de Software Ludimila Monjardim Casagrande 2º Semestre Plano da Disciplina.
Transcrição da apresentação:

Engenharia de Software Title: " ENGENHARIA DE SOFTWARE." Presenter: José Maria Cesário Júnior

Aula de Apresentação Introduções: professores e alunos Expectativas Ementa Objetivos da disciplina Conteúdo programático Metodologia de ensino Critérios de Avaliação Bibliografia Template Documentation 3/26/2017

Ementa Conceito de Engenharia de Software Crise e mitos do software Paradigmas da Engenharia de Software Principais atividades da Engenharia de Software Classificação das metodologias de desenvolvimento de software Qualidade de Software. Template Documentation 3/26/2017

Objetivos da disciplina Ter base conceitual acerca dos sistemas de informação e das questões que os envolvem Distinguir os diferentes tipos de sistemas de informação Compreender os diferentes modelos de desenvolvimento de sistemas de informação Compreender as funcionalidades básicas da Engenharia de Requisitos Template Documentation 3/26/2017

Conteúdo Programático SEMANAS CONTEÚDO PROGRAMÁTICO (TÓPICOS) ATIVIDADES DIRIGIDAS EXTRA-CLASSE Fev/24 Apresentação Disciplina Atividade dirigida extra-classe: Pesquisar livros da bibliografia Mar/03 Software e Engenharia de Software Atividade dirigida extra-classe: resumir os conceitos de engenharia de software Mar/10 Processos de Software Análise de Requisitos de Software Atividade dirigida extra-classe: Criar um padrão de documento de requisitos Mar/17 Engenharia de Requisitos – Parte 1 Atividade dirigida extra-classe: Melhorar o documento de requisitos Mar/24 Engenharia de Requisitos – Parte 2 Atividade dirigida extra-classe: Finalizar o padrão de documento de requisitos Mar/31 Gestão de configuração de software Atividade dirigida extra-classe: Pesquisar sw de gestão de configuração Abr/07 Gestão do projeto de software Laboratório: Requisitos de Software e Uso de ferramentas: Gantt Project, MSProject, Subversion, Rational Requirement Composer Atividade dirigida extra-classe: Reproduzir a instalação do laboratório Abr/14 Prova 1 Abr/21 Recesso acadêmico (e administrativo com compensação de horas) Abr/28 Introdução ao RUP e Modelagem UML – Parte 1 Atividade dirigida extra-classe: Pesquisar os principais livros de UML Template Documentation 3/26/2017

Conteúdo Programático SEMANAS CONTEÚDO PROGRAMÁTICO (TÓPICOS) ATIVIDADES DIRIGIDAS EXTRA-CLASSE Mai/05 Modelagem UML – Parte 2 Projeto de Software Uso de ferramentas: Jude, Rational Rose, Eclipse Atividade dirigida extra-classe: Reproduzir a instalação do laboratório durante a semana (computador pessoal ou da UNIMEP) Mai/12 Verificação e Validação de Software Gerenciamento de Processo e Configuração de Software Atividade dirigida extra-classe: Mai/19 Governança em TI CMM, CMMI, ISO, ITIL, COBiT Atividade dirigida extra-classe: Pesquisar sobre certificações de governança em TI Mai/26 Metodologias Ágeis Atividade dirigida extra-classe: Pesquisar na biblioteca livros sobre metodologias ágeis Jun/02 Preparação do trabalho Jun/09 Prova 2 Jun/16 Apresentação do trabalho PSUB Jun/23 Recesso acadêmico (e administrativo com compensação de horas) Jun/30 Encerramento Template Documentation 3/26/2017

Metodologia de Ensino e Critérios de Avaliação A avaliação acadêmica será efetuada através de duas provas escritas (60% do peso da nota) com 10 questões (dissertativas), sem consulta e um trabalho (40% do peso da nota), sendo que o último será realizado em grupo de alunos Ao final, a seguinte tabela de conversão será usada para os conceitos 0% - 20% - Conceito E 20% - 40% Conceito D 50% - 70% - Conceito C 80% - 90% - Conceito B 100% - Conceito A Template Documentation 3/26/2017

Bibliografia Básica PRESSMAN, R. Software Engineering - A practitioner´s approach. 5ª Edição. New York: McGraw-Hill, 2001. SOMMERVILLE, I. Engenharia de Software. São Paulo: Addison-Wesley, 2003. WEISFELD, M. The Object-Oriented Thought Process. 2ª Edição. Indianapolis: Sams Publishing, 2005. BOOCH, G., RUMBAUGH, J. e JACOBSON, I. UML – Guia do Usuário. Rio de Janeiro: Campus, 2000. JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James; The Unified Software Development Process. Massachusetts: Addison-Wesley, 1999.

Aula 06 - Gestão de configuração de software

O que é Gestão de configuração de software ? Roger Pressman, em seu livro Software Engineering: A Practitioner's Approach, afirma que a gerência de configuração de software (GCS) é o: “Conjunto de atividades projetadas para controlar as mudanças pela identificação dos produtos do trabalho que serão alterados, estabelecendo um relacionamento entre eles, definindo o mecanismo para o gerenciamento de diferentes versões destes produtos, controlando as mudanças impostas, e auditando e relatando as mudanças realizadas. “

O que é Gestão de configuração de software ? Gerência de Configuração de Software, Gerência de Configuração ou ainda Gestão de Configuração de Software é uma área da engenharia de software responsável por fornecer o apoio para o desenvolvimento de software. Suas principais atribuições são o controle de versão, o controle de mudança e a auditoria das configurações. Em outras palavras, a Gerência de Configuração de Software tem como objetivo responder as seguintes perguntas: O que mudou e quando? Por que mudou? Quem fez a mudança? Podemos reproduzir esta mudança? Cada uma dessas perguntas corresponde a uma das atividades realizadas pela Gerência de Configuração de Software. O controle de versão é capaz de dizer o que mudou e quando mudou. O controle de mudanças é capaz de atribuir os motivos a cada uma das mudanças. A Auditoria por sua vez responde as duas últimas perguntas: Quem fez a mudança e podemos reproduzir a mudança?

Gestão de configuração de software: Fase de Projeto

Gestão de configuração de software: Fase de Desenvolvimento

Gestão de configuração de software: Fase de Testes

Gestão de configuração de software: Fase de Produção

GCS do Ponto de Vista das Ferramentas de Apoio Do ponto de vista das ferramentas existentes, a GCS é formada pelas seguintes atividades:

Controle de Versão É a espinha dorsal de toda a gerência de configuração, apoiando as atividades de controle de mudança e integração contínua. Fornece os seguintes serviços: Identificação, armazenamento e gerenciamento dos itens de configuração e de suas versões durante todo o ciclo de vida do software; Histórico de todas as alterações efetuadas nos itens de configuração; Criação de rótulos e ramificações no projeto; Recuperação de uma configuração em um determinado momento desejado do tempo.

Controle de Mudança Fornece um serviço complementar ao oferecido pelo sistema de controle de versão. O foco desse tipo de ferramenta é nos procedimentos pelos quais as mudanças de um ou mais itens de configuração são propostas, avaliadas, aceitas e aplicadas. Oferece serviços para identificar, rastrear, analisar e controlar as mudanças nos itens de configuração.

Integração Contínua Para as necessidades da GCS, bastaria um controle de construção de software que cuidasse da identificação, empacotamento e preparação de uma baseline para a entrega a um cliente externo ou interno, tornando-a uma release ou uma build respectivamente. A idéia de utilizar uma integração contínua, entretanto, vai um pouco mais além. O objetivo é garantir que as mudanças no projeto são construídas, testadas e relatadas tão logo quanto possível depois de serem introduzidas. Em projetos de software, a construção do software é feita pela recuperação da configuração correta no sistema de controle de versão e a construção dos arquivos executáveis e de instalação do produto. Este processo é executado geralmente após cada mudança publicada no sistema de controle de versão ou em intervalos de tempo pré-definidos.

Ferramentas de Apoio

Template Documentation

O que é ? Subversion (ou svn) é um sistema de controle de versão criado para substituir o CVS. Ele permite que você recupere versões antigas de seus arquivos, ou examinar as mudanças feitas neles durante um período de tempo. Ele também permite a criação de contas de acesso, e os repositórios podem ser acessados mesmo de fora da Rede (desde que o computador tenha o programa Subversion instalado). Uma das principais utilizações do Subversion é para trabalhos em grupo. Com ele, você pode definir quais pessoas terão acesso ao repositório. Template Documentation

Como faço para acessar ? Existem atualmente diversos sites que disponibilizam o serviço de SVN, como outros software de controle de versão, de forma gratuita e de qualidade. Os mais famosos são: SourceForge - http://sourceforge.net Google Code - http://code.google.com OBS: Para poder usar qualquer um dos dois serviços, o projeto hospedado deve estar sobre um licença de Software Livre. Template Documentation

Usando o Google Code e Google Project Hosting Um repositório é lugar onde se guarda, arquiva, coleciona artefatos. Traduzindo. Nada mais é do que o local onde você vai guardar o seu projeto. Na prática, é um diretório, uma pasta qualquer guardada ou no seu computador, ou no seu pendrive, ou em um servidor na China. Template Documentation

Cadastro no Google Project Hosting Template Documentation

Criando um novo projeto

Adicionando membros do projeto

Exercício Criar o plano de Gestão de configuração de software para seu grupo; Criar o repositório do seu projeto no Google Project Hosting; Carregar os documentos de requisitos, plano de projeto alto-nível e diagramas de caso de uso no Google Project Hosting;

Bibliografia, Referências e Material adicional Livro Subversion, editora O'Reilly Google Code Hosting HOWTO, Fernando Bertoldi, http://ine5383fernando.googlecode.com/files/tutorialGoogleCode.html http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/gerencia_configuracao.php?pagNum=0 http://pt.wikipedia.org/wiki/Ger%C3%AAncia_de_configura%C3%A7%C3%A3o_de_software