Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br
Nome da disciplina: Análise de Sistemas Natureza (optativa ou obrigatória): obrigatória Número de aulas: 100 2
Objetivo Geral Capacitar o aluno a desenvolver habilidades para a solução de problemas de software e projeto de sistemas utilizando a metodologia orientada a objeto por meio da construção de modelos computacionais e de sua implementação. 3
Objetivos Específicos Contextualizar sobre processos de desenvolvimento de software. Apresentar conceitos de análise e projeto de sistemas Apresentar conceitos de análise de requisitos Realizar atividades práticas de análise, projeto e modelagem conceitual de software utilizando UML 4
Bibliografia básica SOMMERVILLE. Engenharia de Software, São Paulo: Addison-Wesley, 9 ed., 2011. ISBN-10: 8579361087 ISBN-13: 9788579361081 FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3.ed., Porto Alegre: Bookman, 2006. ISBN: 8536304545 WAZLAWICK, R. S. Análise e Design Orientados a Objetos para Sistemas de Informação. 3 ed. Rio de Janeiro, Elsevier, 2014. ISBN: 9788535279849. BEZERRA, E., 2015. Princípios de Análise e Projeto de Sistema com UML (Vol. 3). Elsevier Brasil. 5
Cronograma definitivo Mês Dia Aula Ementa Introdução à disciplina e Processos de desenvolvimento de software e suas 25 Julho Aula 1 atividades básicas 31 Aula 2 Modelos de Processo - cascata, iterativo e incremental e ágil 1 Aula 3 Modelos de Processo - cascata, iterativo e incremental e ágil 7 Aula 4 Modelos de Processo - cascata, iterativo e incremental e ágil 8 Aula 5 Introdução à Análise de Requisitos e seus tipos de requisitos 14 Aula 6 Análise de Requisitos: especificação de requisitos Agosto 15 Aula 7 Análise de Requisitos: descrição de casos de uso 21 Aula 8 Análise de Requisitos: descrição de casos de uso 22 Aula 9 Revisão 28 Aula 10 AV1-2 pts 29 Aula 11 O paradigma da orientação a objetos, Introdução à UML 4 Aula 12 Ferramentas de Modelagem e Modelagem de casos de uso 5 Aula 13 Modelagem de casos de uso 11 Aula 14 Modelagem de casos de uso Setembro 12 Aula 15 Projeto de Arquitetura 18 Aula 16 Modelagem de classes de análise 19 Aula 17 Modelagem de classes de análise 25 Aula 18 Modelagem de classes de análise 26 Aula 19 Revisão Outubro 2 Aula 20 AV2-2 pts 6
Cronograma definitivo Mês Dia Aula Ementa 3 Aula 21 Modelagem de classes de projeto 9 Aula 22 Modelagem de classes de projeto 10 Aula 23 Modelagem de classes de projeto 16 Aula 24 Modelagem de classes de projeto Outubro 17 Aula 25 Diagramas UML: componentes, sequência, atividades e máquina de estados 23 Aula 26 Diagramas UML: componentes, sequência, atividades e máquina de estados 24 Aula 27 Diagramas UML: componentes, sequência, atividades e máquina de estados Novembro Dezembro 30 Aula 28 Diagramas UML: componentes, sequência, atividades e máquina de estados 31 Aula 29 Revisão 6 Aula 30 AV3-2 pts 7 Aula 31 Projeto Interdisciplinar 13 Aula 32 Projeto Interdisciplinar 14 Aula 33 Projeto Interdisciplinar 20 Aula 34 Projeto Interdisciplinar 21 Aula 35 Projeto Interdisciplinar 27 Aula 36 Projeto Interdisciplinar 28 Aula 37 Projeto Interdisciplinar 4 Aula 38 Projeto Interdisciplinar 5 Aula 39 Projeto Interdisciplinar 11 Aula 40 Projeto Interdisciplinar 12 Aula 41 Entrega do Projeto Interdisciplinar - 4 pts 7
Avaliações 1. 28/08/17 AV1 2 pts 2. 02/10/17 AV2 2 pts 3. 06/11/17 AV3 2 pts 4. 12/12/17 Projeto Interdisciplinar 4 pts 8
Processos de desenvolvimento de software e suas atividades básicas
Outline Definição de processos Definição de processos de desenvolvimento de software Atividades básicas do processo de desenvolvimento de software 10
Processo Processo é uma ordenação específica de atividades de trabalho através do tempo e do espaço, com um início, fim e um conjunto claramente definido de entradas e saídas (DAVENPORT, 1993) Processo nada mais é que uma série de ações, ou passos, que são realizados para se alcançar determinados objetivos Willian Edwards Deming 11
Processo de Software Um processo de software pode ser definido como um conjunto coerente de políticas, estruturas organizacionais, tecnologias, procedimentos e artefatos necessários para conceber, desenvolver, implantar e manter um produto de software. (FUGGETTA, 2000) Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. (PRESSMAN, 2011) 12
Alguns objetivos Definir quais atividades a serem executadas ao longo do projeto; Quando, como e por quem tais atividades serão executadas; Prover pontos de controle para verificar o andamento do desenvolvimento; Padronizar a forma de desenvolver software em uma organização; 13
No Silver Bullet Há vários processos de desenvolvimento de software propostos, porém, não existe o processo que melhor se aplica a todas as situações de desenvolvimento. Não existe uma bala de prata! Alguns atividades são triviais durante o desenvolvimento de software. 14
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 15
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 16
1. Levantamento de requisitos Também conhecida como Elicitação de Requisitos, corresponde à etapa de compreensão do problema aplicada ao desenvolvimento de software; O principal objetivo é que usuários e desenvolvedores tenham a mesma visão do problema a ser resolvido; Um requisito é uma condição ou capacidade que deve ser alcançada ou possuída por um sistema ou componente deste para satisfazer um contrato, padrão, especificação ou outros documentos formalmente impostos. Os requisitos de um sistema são identificados a partir de um domínio. Domínio é a área de conhecimento ou de atividade específica caracterizada por um conjunto de conceitos e de terminologia compreendidos por especialista nessa área. Domínio também é conhecido como domínio do problema ou domínio do negócio. O produto final do levantamento é o Documento de Requisitos. 17
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 18
2. Análise Também conhecida como Análise de Requisitos; A fase de análise de requisitos corresponde na quebra de um sistema em componentes e no estudo de como tais componentes interagem com o objetivo de entender como esse sistema funciona; A partir de um estudo detalhado dos requisitos pelos analistas, são construídos modelos para representar o sistema que será construído. Assim como no levantamento, a análise de requisitos não considera o ambiente tecnológico a ser utilizado. é necessário saber o que o sistema deve fazer, para, então, definir como fazê-lo 19
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 20
3. Projeto (design) Determina-se como o sistema funcionará para atender aos requisitos, de acordo com os recursos tecnológicos existentes; É produzido uma descrição computacional do que o software deve fazer e deve ser coerente com a descrição feita na análise; Aos modelos construídos na fase de análise são adicionadas as denominadas restrições de tecnologia. 21
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 22
4. Implementação Nesta 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. 23
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 24
5. Testes Verificar se o sistema foi desenvolvido de acordo com os requisitos elicitados e se atende ao usuário. 25
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 26
6. Implantação O sistema é empacotado, distribuído e instalado no ambiente do usuário; Os manuais do sistema são escritos, os arquivos são carregados, os dados são importados e os usuários são treinados para utilizar o sistema corretamente; 27
Principais atividades 1. Levantamento de requisitos; 2. Análise; 3. Projeto (design); 4. Implementação; 5. Testes; 6. Implantação; 7. Evolução. 28
7. Evolução O sistema construído deve evoluir para atender às necessidades de mudança dos clientes. 29
Referências BEZERRA, E., 2015. Princípios de Análise e Projeto de Sistema com UML (Vol. 3). Elsevier Brasil. FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3.ed., Porto Alegre: Bookman, 2006. ISBN: 8536304545 PRESSMAN, R. S. Engenharia de Software, Rio de Janeiro: McGraw Hill, 7 ed., 2011. ISBN-10: 8563308335 ISBN-13: 978-8563308337 WAZLAWICK, R. S. Análise e Design Orientados a Objetos para Sistemas de Informação. 3 ed. Rio de Janeiro, Elsevier, 2014. ISBN: 9788535279849. 30