A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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.

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

10 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. “

11 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?

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

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

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

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

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

17 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.

18 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.

19 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.

20 Ferramentas de Apoio

21 Template Documentation

22 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

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 - Google Code - OBS: Para poder usar qualquer um dos dois serviços, o projeto hospedado deve estar sobre um licença de Software Livre. Template Documentation

24 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

25 Cadastro no Google Project Hosting
Template Documentation

26 Criando um novo projeto

27 Adicionando membros do projeto

28 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;

29 Bibliografia, Referências e Material adicional
Livro Subversion, editora O'Reilly Google Code Hosting HOWTO, Fernando Bertoldi,


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google