2011 unimep engenharia de software. 2011 unimep 2template documentation4/20/2014 aula de...
TRANSCRIPT
2011 UNIMEP
Engenharia de Software
2011 UNIMEP2 Template Documentation 04/11/23
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
2011 UNIMEP3 Template Documentation 04/11/23
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.
2011 UNIMEP4 Template Documentation 04/11/23
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
2011 UNIMEP5 Template Documentation 04/11/23
Conteúdo Programático
SEMANASCONTEÚDO PROGRAMÁTICO (TÓPICOS)ATIVIDADES DIRIGIDAS EXTRA-CLASSE
Fev/24 Apresentação DisciplinaAtividade dirigida extra-classe: Pesquisar livros da bibliografia
Mar/03 Software e Engenharia de SoftwareAtividade dirigida extra-classe: resumir os conceitos de engenharia de software
Mar/10 Processos de SoftwareAnálise de Requisitos de SoftwareAtividade 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 2Atividade dirigida extra-classe: Finalizar o padrão de documento de requisitos
Mar/31Gestão de configuração de softwareAtividade dirigida extra-classe: Pesquisar sw de gestão de configuração
Abr/07 Gestão do projeto de softwareLaboratório: Requisitos de Software e Uso de ferramentas: Gantt Project, MSProject, Subversion, Rational Requirement ComposerAtividade dirigida extra-classe: Reproduzir a instalação do laboratório
Abr/14 Prova 1Abr/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
2011 UNIMEP6 Template Documentation 04/11/23
Conteúdo Programático
SEMANASCONTEÚDO PROGRAMÁTICO (TÓPICOS)ATIVIDADES DIRIGIDAS EXTRA-CLASSE
Mai/05 Modelagem UML – Parte 2Projeto de SoftwareUso de ferramentas: Jude, Rational Rose, EclipseAtividade 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 SoftwareGerenciamento de Processo e Configuração de SoftwareAtividade dirigida extra-classe:
Mai/19 Governança em TICMM, CMMI, ISO, ITIL, COBiTAtividade dirigida extra-classe: Pesquisar sobre certificações de governança em TI
Mai/26 Metodologias ÁgeisAtividade dirigida extra-classe: Pesquisar na biblioteca livros sobre metodologias ágeis
Jun/02 Preparação do trabalhoJun/09 Prova 2Jun/16 Apresentação do trabalho
PSUBJun/23 Recesso acadêmico (e administrativo com compensação de horas)
Jun/30 Encerramento
2011 UNIMEP7 Template Documentation 04/11/23
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
Metodologia de Ensino e Critérios de Avaliação
2011 UNIMEP
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.
2011 UNIMEP
Aula 06 - Gestão de configuração de software
2011 UNIMEP
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. “
2011 UNIMEP
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?
2011 UNIMEP
Gestão de configuração de software: Fase de Projeto
2011 UNIMEP
Gestão de configuração de software: Fase de Desenvolvimento
2011 UNIMEP
Gestão de configuração de software: Fase de Testes
2011 UNIMEP
Gestão de configuração de software: Fase de Produção
2011 UNIMEP
GCS do Ponto de Vista das Ferramentas de Apoio
Do ponto de vista das ferramentas existentes, a GCS é formada pelas seguintes atividades:
2011 UNIMEP
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.
2011 UNIMEP
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.
2011 UNIMEP
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.
2011 UNIMEP
Ferramentas de Apoio
2011 UNIMEPTemplate Documentation 04/11/23
2011 UNIMEPTemplate Documentation 04/11/23
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.
2011 UNIMEPTemplate Documentation 04/11/23
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.
2011 UNIMEPTemplate Documentation 04/11/23
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.
2011 UNIMEPTemplate Documentation 04/11/23
Cadastro no Google Project Hosting
2011 UNIMEP
Criando um novo projeto
2011 UNIMEP
Adicionando membros do projeto
2011 UNIMEP
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;
2011 UNIMEP
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