Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0
Definição de Eng. Software; Eng. Software Tecnologia em Camadas; Fases de Desenvolvimento de Software. M.Sc. Cláudia Jovo 2017/DI 1
1- Definição de Eng. Software Integração Unidades Integração Produto Concluído M.Sc. Cláudia Jovo 2017/DI 2
1- Definição de Eng. Software (Cont...) Um conjunto de técnicas, ferramentas e procedimentos utilizados no desenvolvimento do software com a finalidade de produzir softwares com padrão e qualidade. Ela se ocupa de todos os aspectos da produção do software. M.Sc. Cláudia Jovo 2017/DI 3
2- Eng. Software Tecnologia em Camadas (Cont...) Engenharia de software é dividida em camadas, focando na qualidade do software, conforme mostra a fig. abaixo. Ferramentas Métodos Processos Foco na Qualidade Figura 1: Camadas da Engenharia de Software M.Sc. Cláudia Jovo 2017/DI 4
2- Eng. Software Tecnologia em Camadas (Cont...) Ferramentas Dão suporte automatizado ou semi-automatizado ao processo e aos métodos; quando as ferramentas se integram tem-se um sistema denominado CASE (Computer Aided Software Engineering). Essa integração ajuda na criação de informação que possa ser usada por outra ferramenta para o apoio no desenvolvimento de Software. M.Sc. Cláudia Jovo 2017/DI 5
2- Eng. Software Tecnologia em Camadas (Cont...) Metodos Como fazer Engloba um conjunto de tarefas que inclui análise de requisitos, projecto, construção de programas, teste e manutenção. Métodos definem procedimentos sistemáticos e ordenados de construção de software. Exemplos de metodologias da engenharia de Software: Estruturada, Orientada a Objectos, e Agil. M.Sc. Cláudia Jovo 2017/DI 6
2- Eng. Software Tecnologia em Camadas (Cont...) Processo Produção É um conjunto de actividades e resultados associados que levam à produção de um produto de software. M.Sc. Cláudia Jovo 2017/DI 7
2- Eng. Software Tecnologia em Camadas (Cont...) Foco na Qualidade Base Toda engenharia deve se fundamentar no comprometimento com a qualidade. Focando-se na qualidade produz uma mudança cultural no uso do produto desenvolvido. M.Sc. Cláudia Jovo 2017/DI 8
3- Fases de Desenvolvimento de Software (Ciclo de Vida) Todo Software tem um ciclo de vida. Não importa quão grande ou pequeno o Software é, ou quantas pessoas estão trabalhando no projecto. O Ciclo de Vida do Desenvolvimento de Sistemas ( SDLC Systems Development Life Cycle), conhecido também com o Ciclo de Vida do Software refere-se aos estágios de concepção, projecto, criação e implementação de um SI. Um desdobramento possível Veja a seguir vários desdobramentos possíveis para SDLC: M.Sc. Cláudia Jovo 2017/DI 9
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Levantamento das Neessidades Manutenção Análise de Alternativas Implementação Projecto/Desenho Desenvolvimento M.Sc. Cláudia Jovo 2017/DI 10
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Levantamento das necessidades também chamado de análise de requisitos, identifica as necessidades de informações da organização. Análise de alternativas consiste na identificação e avaliação de sistemas alternativos. M.Sc. Cláudia Jovo 2017/DI 11
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Projecto trata da construção das especificações detalhadas para o projecto selecionado. Essas especificações incluem o projecto das interfaces, base de dados, características físicas do Software. Desenvolvimento inclui a criação ou aquisição do software, a provável aquisição do hardware e o teste do novo sistema. M.Sc. Cláudia Jovo 2017/DI 12
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Implementação ocorre após o sistema ter passado satisfatoriamente por testes de aceitação. O sistema é transferido do ambiente de desenvolvimento para o ambiente de produção. O sistema antigo (se existir) deve migrar para o novo. M.Sc. Cláudia Jovo 2017/DI 13
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Manutenção refere-se a todas as actividades relacionadas a um sistema depois que ele é implementado. Deve incluir actividades tais como a correção de software que não funcione corretamente, a adição de novos recursos aos sistemas em resposta às novas demandas dos usuários,... M.Sc. Cláudia Jovo 2017/DI 14
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) Identificar o problema, Determinar oportunidade s & requisitos objectivos 2 1 Implementar e avaliar o software 7 3 Analisar as necessidades do software Testar e manter o software 6 5 Desenvolver e documentar software 4 Desenho do software recomendado M.Sc. Cláudia Jovo 2017/DI 15
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 1- Identificar o Problema, Oportunidade s& Objectivos Actividades: Entrevistar os utilizadores do software Resumir o conhecimento obtido na entrevista Estimar o escopo do projecto Documentar os resultados das actividades Output: Relatório de viabilidade contendo definição do problema e os objectivos das quais o gestor pode tomar uma decisão sobre a possibilidade de avançar com o projecto proposto. M.Sc. Cláudia Jovo 2017/DI 16
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 2- Determinar Requisitos Actividades: Entrevista Questionário Observar o comportamento do meio a ser implantado o software Saiba quem, o quê, onde, quando, como e por quê o actual software. Output: Analista entende como os utilizadores fazem o seu trabalho ao interagir com um computador; e começar a saber como fazer o novo sistema mais útil e utilizável. M.Sc. Cláudia Jovo 2017/DI 17
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 3- Analisar as Necessidades do Software Actividades: Criar diagramas de fluxo de dados ou casos de uso. Criar o dicionário de dados. Analisar as decisões estruturadas feitas. Preparar e apresentar a proposta do software (protótipo). Output: Recomendação sobre o que deve ser feito se for necessário. M.Sc. Cláudia Jovo 2017/DI 18
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 4- Desenho do Software Recomendado Actividades: Criar procedimentos para entrada de dados Desenhar as interfaces para o utilizador Criar controles para o software Desenhar base de dados Criar procedimentos de backup Output Modelo do software actual ou real M.Sc. Cláudia Jovo 2017/DI 19
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 5- Desenvolver e Documentar Software Actividades : Analista de sistemas trabalha com programadores para desenvolver um software original Trabalhar com utilizadores para desenvolver uma documentação eficaz Programadores desenham, codificam e removem erros de sintaxe n software O documento irá ajudar nas respostas frequentes do funcionamento do software Output Software programado no computador Documentação do software M.Sc. Cláudia Jovo 2017/DI 20
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 6- Testar e Manter o Software Actividades: Teste do software Manutenção do software Manutenção da documentação Output Problemas, se houver Programas actualizados Documentação M.Sc. Cláudia Jovo 2017/DI 21
3- Fases de Desenvolvimento de Software (Ciclo de Vida) (Cont...) 7- Implementar e Avaliar o Software Actividades : Treinar os utilizadores Revisão do softtware e avaliação Output Utilizadores treinados Software instalado Nota: Não há modelo de SDLC uniformemente aceito. Alguns modelos combinam desenvolvimento e implementação em uma única etapa. Outros combinam o levantamento e a análise das necessidades também em uma única etapa. Alguns modelos dividem o projeto em projeto lógico e projecto físico. M.Sc. Cláudia Jovo 2017/DI 22
Processo de Software Próxima aula... 4- Processo de Software Actividades de Processo; Características de um Processo de Software; Comparação dos Modelos (Revisão dos Modelos-de forma independente) M.Sc. Cláudia Jovo 2017/DI 23
Rationall Unified Process - RUP RUP (Processo Unificado Racionalizado) -É um processo proprietario da Eng. de software criado pela Rational Software Corporation, adquirida pela IBM tornandose uma marca na area de software, fornecendo tecnicas a serem seguidas pelos membros da equipe de desenvolvimento de software. - O RUP usa a abordagem da orientação a objectos em sua concepção e é projectado e documentado utilizando a notação UML para ilustrar os processos em acção. M.Sc. Cláudia Jovo 2017/DI 24
Rationall Unified Process - RUP Fases do RUP -RUP organiza o desenvolvimento de software em fases, onde são tratadas questões sobre planeamento, levantamento de requisitos, análise, implementação, teste e implantação do software. - Cada fase tem um papel fundamental para que o objectivo seja cumprido, distribuido entre varios profissionais como analista de sistema, gestor de projecto e outros. M.Sc. Cláudia Jovo 2017/DI 25
Rationall Unified Process - RUP Fases do RUP -Segundo PERSSMAN (2006), RUP organiza o desenvolvimento de software em 5 fases, mas os importantes produtos (resultados) de trabalho são produzidos em consequencia das 4 fases tecnicas do RUP, sendo excluida a ultima fase, ideia esta comungada por varios outros autores que defendem que as fases do RUP são apenas 4. M.Sc. Cláudia Jovo 2017/DI 26
Rationall Unified Process - RUP Fases do RUP Concepção ou Iniciação Elaboração Construção Transição M.Sc. Cláudia Jovo 2017/DI 27
Rationall Unified Process - RUP Fases do RUP fase 1 - Concepção ou Iniciação Esta fase abrange as tarefas de comunicação com o cliente e planeamento, onde é feito um plano de projecto avaliando os riscos, custos e prazos, estabelecendo prioridades, levantamento de requisitos do sistema e analise dos mesmos. M.Sc. Cláudia Jovo 2017/DI 28
Rationall Unified Process - RUP Fases do RUP fase 2 - Elaboração É feita a comunicação com o cliente e actividades de modelagem do modelo genérico do processo. O objectivo desta fase é analisar de forma mais detalhada o dominio do problema, criar e expandir os casos de usos. M.Sc. Cláudia Jovo 2017/DI 29
Rationall Unified Process - RUP Fases do RUP fase 3 - Construção Desenvolve-se ou identifica-se os compenentes de software que irão tornar cada caso de uso operacional para os usuarios finais. O principal objectivo desta fase é a contrução do sistema (criação da interface do sistema) e a codificação. M.Sc. Cláudia Jovo 2017/DI 30
Rationall Unified Process - RUP Fases do RUP fase 4 - Transição Faz-se a entrega do software ao cliente para testes e obtenção do feedback em relação ao desempenho do software. Os defeitos e as modificações necessarias são feitas nesta fase. O objectivo nesta fase é disponibilizar o sistema na integra ao usuario/cliente. M.Sc. Cláudia Jovo 2017/DI 31