Engenharia de Software
|
|
|
- Lorenzo Leal Cruz
- 10 Há anos
- Visualizações:
Transcrição
1 Engenharia de Software 21 Engenharia de Software 22.1 Enquadramento O software é conhecimento incorporado e, como esse conhecimento está inicialmente disperso, tácito, latente e, em larga medida, incompleto, o desenvolvimento de software é um processo de aprendizagem social [Baetjer, 1998], um diálogo em que o conhecimento que se deve transformar em software é reunido e incorporado no sistema. O processo fornece interacção entre utilizadores e engenheiros de sistemas, entre utilizadores e tecnologia (ferramentas evolutivas), e entre engenheiros de sistemas e tecnologia. Na realidade, desenvolver software é um processo de aprendizagem iterativo e o resultado é uma corporização de conhecimento recolhido, destilado e organizado à medida que o processo é conduzido. Um projecto de software apresenta duas dimensões fundamentais: engenharia de software e gestão do projecto. A dimensão da engenharia trata da construção de software e centra-se nas questões técnicas como desenhar, codificar, testar, etc. A dimensão da gestão do projecto trata do modo de planear e controlar adequadamente, não apenas as actividades de engenharia, como igualmente as interacções com todos os stakeholders clientes, fornecedores, equipa, sponsors, gestores funcionais, etc., de modo a cumprir os objectivos do projecto em termos de âmbito, custo, prazo e qualidade. Se um projecto for pequeno digamos, uma equipa de 1 ou 2 pessoas a trabalhar durante 2 ou 3 semanas, poderá ser executado de um modo algo informal. O plano do projecto poderá ser um correio electrónico ( ) especificando a data de entrega e, eventualmente, alguns marcos (milestones) intermédios. Os requisitos poderão ser comunicados através de uma nota, ou mesmo verbalmente, e os produtos intermédios por exemplo, documentos do desenho poderão ser elaborados em computadores portáteis pessoais. No entanto, estas técnicas informais não são aplicáveis a projectos de maior dimensão, em que podem trabalhar muitas pessoas por um período de vários meses a situação mais comum na maioria dos projectos de software comercial. Nesses projectos, cada tarefa de engenharia deve ser cuidadosamente elaborada seguindo metodologias bem testadas e os produtos intermédios devem ser adequadamente documentados, de modo a poderem ser revistos por outras pessoas. As tarefas do projecto devem ser cuidadosamente planeadas e distribuídas, e depois monitorizadas à medida que o projecto é executado. Por outras palavras, para executar com sucesso projectos maiores é importante aumentar a formalidade e o rigor ao longo destas duas dimensões. A formalidade exige o uso de processos bem definidos para a realização das várias tarefas, de modo a que o resultado se torne mais dependente da aptidão do processo FCA Editora de Informática 321
2 Gestão de Projectos de Software (process capability). O emprego de abordagens quantitativas no processo, através do uso de métricas adequadas, permite melhorar a formalidade. Mas o que é um processo? Tecnicamente, um processo para uma tarefa compreende uma sequência de passos, que deverão ser seguidos para executar essa tarefa. Quando trabalhamos para construir um produto, ou sistema, é importante seguir uma série de passos previsíveis um roteiro que nos ajude a criar um resultado oportuno e de elevada qualidade. Deste modo, na engenharia de software, um processo é mais do que uma sequência de passos ele encapsula aquilo que engenheiros e gestores de projecto aprenderam acerca da execução de projectos de sucesso. Através do processo, os benefícios da experiência são conferidos a todos os indivíduos, incluindo os recém- -chegados à organização. No contexto deste livro, a expressão processo designa uma estrutura ou modelo para as tarefas exigidas na construção de um sistema de software de elevada qualidade 90. O processo é adaptado pelo gestor de projecto e pelos engenheiros de software, de acordo com as suas necessidades. Quem pediu o software tem igualmente um papel a desempenhar no processo de desenvolvimento. Ao nível de detalhe, o processo adoptado depende do tipo de software que se está a construir. Um dado processo poderá ser adequado para a criação de software para um sistema de pilotagem de uma aeronave, ao passo que se exige um processo totalmente diferente para o desenvolvimento de um website. Como é que podemos saber que fizemos a escolha certa? Existe um certo número de mecanismos de avaliação do processo, que habilitam as organizações a determinar a maturidade do seu processo de software. No entanto, os melhores indicadores da eficácia do processo utilizado são a qualidade, oportunidade e viabilidade de longo prazo do produto construído Visão Global do Desenvolvimento de Software A engenharia consiste na análise, desenho, construção, verificação e gestão de entidades técnicas (ou sociais). Independentemente da entidade alvo do processo de engenharia, é necessário colocar um conjunto de questões e obter respostas para elas [Pressman, 2000]: Qual é o problema a ser resolvido? Quais são as características da entidade que é usada para resolver o problema? Como é que a entidade (e a solução) vai ser conhecida? Como é que a entidade vai ser construída? Que abordagem será usada para descobrir os erros cometidos no desenho e construção da entidade? 90 Ver Glossário. 322 FCA Editora de Informática
3 Engenharia de Software Como é que a entidade irá ser suportada no longo prazo, quando forem solicitadas correcções, adaptações e melhorias pelos utilizadores da entidade? Neste livro concentramo-nos numa única entidade o software. Para desenvolver software de forma adequada, é necessário definir um processo de engenharia. Neste ponto, vamos considerar as características genéricas de qualquer processo de desenvolvimento. Mais adiante neste capítulo, falar-se-á de modelos de processo específicos Fases do Desenvolvimento O trabalho associado à engenharia do software pode ser dividido em três fases genéricas, independentemente do domínio aplicacional, da dimensão e da complexidade do projecto. Cada uma dessas fases trata uma, ou mais, das questões enunciadas atrás. A fase de definição concentra-se em o quê. Isto é, durante a fase de definição o engenheiro de sistemas procura identificar a informação a ser processada, as funções e desempenho pretendidos, o comportamento expectável para o sistema, as interfaces a estabelecer, as restrições ao desenho e os critérios de validação exigidos para definir um sistema de sucesso. São identificados os requisitos chave e do software. Embora os métodos aplicados durante a fase de definição variem de acordo com o paradigma (ou combinação de paradigmas) da engenharia de software aplicado, três grandes tarefas ocorrem do mesmo modo: A engenharia de sistemas ou de informação; O planeamento do projecto de software; A análise de requisitos. A fase de desenvolvimento concentra-se no como. Isto é, durante o desenvolvimento o engenheiro de software procura definir o modo como os dados estão estruturados; as funções vão ser implementadas numa arquitectura de software; as interfaces irão ser caracterizadas; o desenho irá ser traduzido numa linguagem de programação (ou numa linguagem não procedimental) e os testes irão ser realizados. Os métodos aplicados durante a fase de desenvolvimento variam, embora devam ocorrer sempre três tarefas de cariz técnico: O desenho do software; A codificação; Os testes do software. A fase de suporte concentra-se na correcção de erros e nas adaptações necessárias para acompanhar a evolução do software e do negócio do cliente. Durante a fase de suporte é possível encontrar quatro tipos de alterações [Pressman, 2000]: Correcções mesmo que se implementem as melhores actividades de garantia da qualidade, há sempre uma possibilidade de o cliente/utilizador descobrir defeitos no software. A correcção desses defeitos é efectuada durante a actividade de manutenção correctiva; FCA Editora de Informática 323
4 Gestão de Projectos de Software Adaptações o ambiente original para o qual o software foi desenvolvido (processador, sistema operativo, regras do negócio, características externas do produto, etc.) é passível de alterações, ao longo do tempo. A modificação do software para acomodar alterações no ambiente externo é realizada pela actividade de manutenção adaptativa; Melhorias à medida que o software é utilizado, o cliente/utilizador reconhece funções adicionais que lhe irão fornecer benefícios. A manutenção evolutiva estende as funcionalidades do software para além dos requisitos funcionais originais; Prevenção como o software se deteriora com as alterações que lhe vão sendo introduzidas, é necessário efectuar uma manutenção preventiva que permita ao software servir as necessidades dos seus utilizadores finais. Em essência, a manutenção preventiva efectua alterações aos programas, de modo a que eles sejam mais facilmente alterados, adaptados e melhorados. Para além destas actividades de suporte, os utilizadores de software exigem um suporte continuado. É frequente a implementação de assistentes técnicos, help desks telefónicos e websites específicos da aplicação, como parte desta base de suporte. É igualmente frequente a realização entre 6 e 9 meses após a o início da operação de uma auditoria pós-implementação, para verificar se o sistema de software satisfaz todos os requisitos e expectativas que presidiram à sua concepção e desenvolvimento. A Figura 22.1 mostra como as várias fases genéricas enunciadas se sucedem, do ponto de vista da engenharia do software. Actualmente, uma crescente população de sistemas administrativos herdados pelas empresas denominados, na literatura anglo-saxónica, de legacy systems 91 está a forçar muitas companhias a empreenderem estratégias de reengenharia de software. A reengenharia de software, num sentido global, é considerada, muitas vezes, como parte da reengenharia de processos empresariais [Dickinson, 1995]. As fases e tarefas associadas, descritas na visão global do processo de desenvolvimento de software, são complementadas por um conjunto de actividades envolventes, que incluem: Gestão do risco; Gestão da qualidade; Gestão da configuração; Monitorização e controlo do projecto; Revisões formais; Preparação e produção da documentação. 91 Ver Glossário. 324 FCA Editora de Informática
5 Engenharia de Software Definição Engenharia Preparar dados de teste Análise de requisitos Desenvolvimento Preparar instalação do software Codificação Testes Instalação Auditoria pós- -implementação Suporte Operação Figura 22.1 Fases genéricas do desenvolvimento de software Modelo Genérico do Processo de Desenvolvimento Um processo de desenvolvimento de software pode ser caracterizado como se mostra na Figura Estrutura comum do processo de desenvolvimento Actividades envolventes Actividades de estrutura Conjuntos de tarefas Tarefas de engenharia de software Marcos e produtos Pontos de garantia da qualidade Figura 22.2 O processo de desenvolvimento de software Adaptado de: [Pressman, 2000]. FCA Editora de Informática 325
6 Gestão de Projectos de Software Ao definir-se um pequeno número de actividades que são aplicáveis a todos os projectos de software, independentemente da respectiva dimensão e complexidade, estabelece-se uma estrutura comum do processo de desenvolvimento: Conjuntos de tarefas (task sets) cada conjunto é composto por tarefas de engenharia de software, milestones do projecto, produtos intermédios e pontos de garantia da qualidade, que permitem a adaptação das actividades de estrutura às características do projecto de software e aos requisitos da equipa de projecto; Actividades envolventes, como a garantia da qualidade do software, a gestão da configuração do software e as medidas envolvem o modelo de processo. Estas actividades são independentes de qualquer das actividades da estrutura e ocorrem ao longo de todo o processo. Deve seleccionar-se uma estrutura de processo comum que esteja sintonizada com o produto, com as pessoas e com o projecto. Nos anos mais recentes, tem havido uma ênfase significativa na maturidade do processo. O SEI desenvolveu um modelo abrangente baseado num conjunto de capacidades de engenharia do software que devem estar presentes à medida que as organizações atingem diferentes níveis de maturidade do processo do software. Para determinar o estado actual de maturidade do processo de qualquer organização, o SEI usa um mecanismo de avaliação que resulta num esquema de graduação com cinco pontos. Este esquema determina o ajustamento com o CMMI. No Capítulo 2 este assunto foi tratado com o necessário detalhe Modelos de Desenvolvimento Clássicos O objectivo de um modelo do processo de desenvolvimento é proporcionar, ao projecto, uma estrutura que reduza os riscos [Miguel, 2002b]. Um projecto sem estrutura é impossível de gerir não pode ser planeado, não pode ser estimado, não pode ter marcos definidos, o seu progresso não pode ser monitorizado e não podem ser feitas quaisquer promessas, ao cliente, sobre o seu custo, ou a sua qualidade. Um modelo do processo fornece uma estrutura, desenhada com o objectivo de reduzir o risco e a incerteza, e de aumentar a governabilidade do processo de desenvolvimento. Projectos diferentes possuem requisitos distintos. Se estivermos a desenvolver um pacote de software, o processo a seguir será distinto do usado para desenvolver um produto específico destinado a um cliente concreto. Existirão, evidentemente, similaridades subjacentes nos dois processos, mas as diferenças são suficientemente grandes para justificar uma distinção entre os dois tipos de desenvolvimento. Todos os riscos ultrapassar o orçamento, produzir o sistema errado, produzir um sistema que nunca funcione advêm da incerteza, ou da falta de conhecimento, sobre o sistema a ser desenvolvido. No entanto, quando empreendemos um projecto de desenvolvimento de software, queremos garantir que a exposição aos vários tipos de riscos é mantida a um nível considerado aceitável. O paradigma seguido para o desenvolvimento de software o modelo do processo de desenvolvimento deve, por 326 FCA Editora de Informática
7 Engenharia de Software isso, ter em consideração o grau de incerteza presente no início e dar ao projecto uma estrutura que reduza os riscos ou custos de possíveis falhas. Um modelo do processo de desenvolvimento a adoptar engloba os processos, métodos, ferramentas e fases genéricas descritos no início deste capítulo. A escolha de um modelo é baseada na natureza do projecto e da aplicação, nos métodos e ferramentas a serem utilizados e nos produtos e controlos exigidos. É possível caracterizar qualquer desenvolvimento de software como um anel de resolução de problemas (Figura 22.3), constituído por quatro fases: Descrição da situação actual; Definição do problema (identificação do problema concreto a resolver); Desenvolvimento da solução (aplicação de uma dada tecnologia para resolver o problema); Implementação da solução (entrega da solução a quem a solicitou). Definição do problema Situação actual Desenvolvimento da solução Implementação da solução Figura 22.3 Anel de resolução de um problema As fases genéricas do desenvolvimento de software enunciadas no ponto ajustam- -se facilmente a estas fases da resolução de problemas. Nos pontos seguintes deste capítulo irão descrever-se resumidamente os principais modelos do processo de desenvolvimento Modelo em Cascata A primeira abordagem ao desenvolvimento de software foi apresentada, em Agosto de 1970, por Winston Royce, na conferência do WESCON 93 [Royce, 1970]. 93 Convenção anual, de carácter científico, patrocinada pela IEEE. FCA Editora de Informática 327
8 Gestão de Projectos de Software Este modelo de processo, conhecido vulgarmente por modelo em cascata (Figura 22.4), propõe uma abordagem sistemática, linear e sequencial ao desenvolvimento de software. Embora neste modelo estivessem previstos feedback loops, representados pelas setas a tracejado da Figura 22.4, a grande maioria das organizações que o aplicam tratam-no de forma estritamente linear. Requisitos do utilizador Requisitos do software dos programas Codificação Testes Operação Figura 22.4 Modelo de processo em cascata Segundo este modelo, o desenvolvimento de software é constituído por um conjunto de actividades executadas de forma sequencial e sistemática, que se iniciam ao nível do sistema de informação (requisitos do utilizador) e prosseguem com as fases de requisitos do software, desenho, desenho dos programas, codificação, testes e operação (onde se processa o suporte). Vamos analisar cada uma das fases propostas pelo modelo: Requisitos do utilizador Requisitos do software Trata-se de uma fase fundamentalmente de engenharia e modelação do sistema de informação empresarial. O software é sempre um subconjunto de um conjunto (sistema) maior; por isso, o trabalho inicial consiste no estabelecimento das necessidades e requisitos globais de informação da organização e na subsequente atribuição de um subconjunto ao software. Estamos a falar de planeamento estratégico de sistemas de informação. O processo de determinação dos requisitos é, de seguida, intensificado, concentrando-se especificamente no software a construir. É necessário que os engenheiros de sistemas (analistas) compreendam bem o domínio aplicacional nas suas diversas vertentes informação, funções, comportamento, desempenho e interfaces. Esta fase, denominada igualmente de desenho lógico, visa modelar uma solução de um modo independente da tecnologia, isto é, baseada nas funções a informatizar e não na tecnologia em que o sistema será implementado. Inclui os modelos dos processos e dos dados. 328 FCA Editora de Informática
9 Engenharia de Software dos programas Codificação Testes Operação Esta fase, designada também por desenho físico, visa modelar a solução tecnológica para o problema e é um processo com múltiplos passos, que se concentra em quatro atributos de um programa de software estrutura dos dados, arquitectura do software, interfaces e algoritmos. O desenho dos programas traduz os requisitos num modelo de software cuja qualidade pode ser avaliada antes de se proceder à codificação. O desenho físico tem de ser traduzido para uma linguagem própria da máquina. Se o desenho dos programas for suficientemente detalhado e for usada uma ferramenta I-CASE 94, é possível gerar o código de uma forma automática (mediante geradores de código). Os testes iniciam-se após o código ter sido escrito. Os testes concentram-se na lógica interna do software (programas bem feitos?) e nas funções externas (satisfazem os requisitos do utilizador?). Após ser aceite pelo utilizador, o software tem de ser instalado no ambiente operacional para que foi construído. No entanto, após a instalação haverá sempre lugar a alterações ao software, devido quer a erros que passaram na malha dos testes, quer a alterações ao ambiente de negócio que o software visa servir, quer a alterações no ambiente tecnológico subjacente (hardware, sistema operativo, etc.). Essas alterações são efectuadas no âmbito do suporte e manutenção ao sistema, após a instalação. Este modelo é o mais amplamente utilizado na engenharia do software 95. No entanto, é alvo de algumas críticas: Não reconhece explicitamente a necessidade de revisão, isto é, retornar a fases anteriores e refazer coisas, à luz da informação obtida durante o desenvolvimento informação acerca daquilo que o utilizador quer, como o desenho se deve comportar, como o Sistema de Gestão de Bases de Dados (SGBD) deve ser usado, etc.; Durante o desenvolvimento, têm de ser tomadas muitas decisões, que podem conduzir a um certo número de caminhos e resultados possíveis. O modelo simples não reconhece isto. Por exemplo, dependendo da análise dos requisitos do cliente, pode decidir-se por uma de três alternativas: Desenvolver o sistema, de raiz; Refazer um sistema existente; Adquirir um pacote de software que forneça a maioria das funcionalidades exigidas Ver Glossário. Algumas metodologias de desenvolvimento de sistemas, como a reputada Structured Systems Analysis and Design (SSADM) desenvolvida para o governo britânico, têm subjacente este modelo de processo. FCA Editora de Informática 329
10 Gestão de Projectos de Software Esta simples decisão pode ter três resultados substancialmente diferentes; É muitas vezes difícil ao cliente/utilizador expressar, de forma explícita, todos os seus requisitos. O modelo em cascata, por ser sequencial e linear, tem dificuldade em acomodar a incerteza existente no início da maioria dos projectos; O utilizador tem de esperar, por vezes bastante tempo, até lhe ser entregue uma versão operacional de software. O actual ritmo de mudança dos negócios não é compatível com esse compasso de espera (quando o sistema é disponibilizado, há o sério risco de os requisitos iniciais se terem alterado substancialmente). Embora cada um destes argumentos seja bem real, este modelo de processo constituiu um feito notável para a época e ajudou a dar uma estrutura ao desenvolvimento do software, servindo ainda hoje o seu objectivo, em muitos aspectos Modelo em V O modelo em V do processo de desenvolvimento foi desenvolvido originalmente na Alemanha, em 1989, pela empresa tecnológica alemã IABG 96, por encomenda do Departamento Federal de Tecnologia e Aquisições para a Defesa da Alemanha. Actualmente, está consubstanciado num modelo de processo de desenvolvimento de software ao nível da Comissão Europeia denominado Euromethod 97. À semelhança do paradigma anterior, este modelo encara o desenvolvimento de software como um processo sequencial, constituído por duas grandes etapas (ou duas pernas, como num V) a etapa de especificação e a etapa de verificação e validação. A Figura 22.5 mostra esquematicamente este modelo 98. Etapa de especificação Especificação de requisitos Especificação detalhado Plano de testes de aceitação Plano de testes de integração Plano de testes de integração de subsistemas Codificação e testes de módulos e unidades Sistema operacional Testes de aceitação Testes de integração Testes de integração de subsistemas Etapa de verificação e validação Figura 22.5 Modelo em V do processo de desenvolvimento de software Em [Miguel, 2002b] pode ver-se uma descrição mais detalhada deste modelo. 330 FCA Editora de Informática
Modelo Cascata ou Clássico
Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação
Gestão do Risco e da Qualidade no Desenvolvimento de Software
Gestão do Risco e da Qualidade no Desenvolvimento de Software Questionário Taxinómico do Software Engineering Institute António Miguel 1. Constrangimentos do Projecto Os Constrangimentos ao Projecto referem-se
Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Engenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Análise de Sistemas. Conceito de análise de sistemas
Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de
Gerência de Projetos
Gerência de Projetos Escopo Custo Qualidade Tempo CONCEITO PROJETOS: são empreendimentos com objetivo específico e ciclo de vida definido Precedem produtos, serviços e processos. São utilizados as funções
NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO
NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO NIP: Nº DO RELATÓRIO: DENOMINAÇÃO DA EMPRESA: EQUIPA AUDITORA (EA): DATA DA VISITA PRÉVIA: DATA DA AUDITORIA: AUDITORIA DE: CONCESSÃO SEGUIMENTO ACOMPANHAMENTO
Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi
Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia
ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.
ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página
CHECK - LIST - ISO 9001:2000
REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da
Análise e Concepção de Sistemas de Informação
Análise e Concepção de Sistemas de Informação Projecto Versão 2.0 amazon.com 2005-2006 1. Introdução O presente documento tem como objectivo apresentar o enunciado do projecto de ACSI 2005-2006. O projecto
AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião
AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada
ENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [[email protected]] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
PROFESSOR: CRISTIANO MARIOTTI
PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade
SEMINÁRIOS AVANÇADOS GESTÃO DE PROJECTOS
SEMINÁRIOS AVANÇADOS DE GESTÃO DE PROJECTOS 2007 Victor Ávila & Associados - Victor Ávila & Associados Centro Empresarial PORTUGAL GLOBAL, Rua do Passeio Alegre, nº 20 4150- Seminários Avançados de Gestão
Processos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
Engenharia de Software
Engenharia de Software Processos de software Departamento de Matemática Universidade dos Açores Hélia Guerra [email protected] Processo Um processo é uma série de etapas envolvendo actividades, restrições e
Base de Dados para Administrações de Condomínios
Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: [email protected] Marco António Sousa Nunes Fernandes Silva: [email protected] Pedro Miguel Rosário Alves: [email protected]
Processos de gerenciamento de projetos em um projeto
Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.
natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues
Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas
Processo do Serviços de Manutenção de Sistemas de Informação
Processo do Serviços de Manutenção de Sistemas de Informação 070112=SINFIC HM Processo Manutencao MSI.doc, Página 1 Ex.mo(s) Senhor(es): A SINFIC agradece a possibilidade de poder apresentar uma proposta
Começo por apresentar uma breve definição para projecto e para gestão de projectos respectivamente.
The role of Project management in achieving Project success Ao longo da desta reflexão vou abordar os seguintes tema: Definir projectos, gestão de projectos e distingui-los. Os objectivos da gestão de
Gestão dos Níveis de Serviço
A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento
5. Métodos ágeis de desenvolvimento de software
Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca [email protected] Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1
Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas
Engenharia de Software II
Engenharia de Software II Aula 8 http://www.ic.uff.br/~bianca/engsoft2/ Aula 8-17/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do
Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1
Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.
PHC Serviços CS. A gestão de processos de prestação de serviços
PHC Serviços CS A gestão de processos de prestação de serviços A solução que permite controlar diferentes áreas de uma empresa: reclamações e respectivo tratamento; controlo de processos e respectivos
Engenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
COMISSÃO EXECUTIVA DA ESPECIALIZAÇÃO EM SEGURANÇA NO TRABALHO DA CONSTRUÇÃO PROCEDIMENTOS PARA ATRIBUIÇÃO DO TÍTULO DE ENGENHEIRO ESPECIALISTA EM
PROCEDIMENTOS PARA ATRIBUIÇÃO DO TÍTULO DE ENGENHEIRO ESPECIALISTA EM Procedimentos para a atribuição do título de Engenheiro Especialista em Segurança no Trabalho da Construção 1 Introdução...2 2 Definições...4
desenvolvimento de SI
Desenvolvimento Sistemas Informação (O Brian, 2004; Ed. Saraiva) Prof. José Alexandre C. Alves (MSc) Entenr o Problema ou Oportunida Empresarial Desenvolver uma Solução do Sistema Informação Implantar
Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc [email protected]
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc [email protected] 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Engenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de
GESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1
GESTÃO de PROJECTOS Gestor de Projectos Informáticos Luís Manuel Borges Gouveia 1 Iniciar o projecto estabelecer objectivos definir alvos estabelecer a estratégia conceber a estrutura de base do trabalho
Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques
Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial
Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]
(Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo
MASTER IN PROJECT MANAGEMENT
MASTER IN PROJECT MANAGEMENT PROJETOS E COMUNICAÇÃO PROF. RICARDO SCHWACH MBA, PMP, COBIT, ITIL Atividade 1 Que modelos em gestão de projetos estão sendo adotados como referência nas organizações? Como
MODELO CMM MATURIDADE DE SOFTWARE
MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo
REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO
Capítulo 12 REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 2003 by Prentice Hall OBJETIVOS De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar?
Universidade Paulista
Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen
Gerenciamento de Projetos
Gerenciamento de Projetos (ref. capítulos 1 a 3 PMBOK) TC045 Gerenciamento de Projetos Sergio Scheer - [email protected] O que é Gerenciamento de Projetos? Aplicação de conhecimentos, habilidades, ferramentas
Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1
Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas
DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004)
DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004) por Mónica Montenegro, Coordenadora da área de Recursos Humanos do MBA em Hotelaria e
Políticas de Qualidade em TI
Políticas de Qualidade em TI Prof. www.edilms.eti.br [email protected] Aula 03 CMMI Capability Maturity Model Integration Parte II Agenda sumária dos Processos em suas categorias e níveis de maturidade
Metodologia de Gerenciamento de Projetos da Justiça Federal
Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...
Qualidade de Software. Profa. Cátia dos Reis Machado [email protected]
Qualidade de Software Profa. Cátia dos Reis Machado [email protected] Verificação x validação Verificação prova que o produto vai ao encontro dos requerimentos especificados no desenvolvimento
Aula 04 - Planejamento Estratégico
Aula 04 - Planejamento Estratégico Objetivos da Aula: Os objetivos desta aula visam permitir com que você saiba definir o escopo do projeto. Para tal, serão apresentados elementos que ajudem a elaborar
Indice. Parte I - Um Modelo de Gestão de Projectos. Introdução... 1
r Indice Introdução.......................................... 1 Parte I - Um Modelo de Gestão de Projectos 1- Características da Gestão de Projectos 11 1.1 Definição de Projecto 11 1.2 Projectos e Estratégia
Pós-Graduação em Gerenciamento de Projetos práticas do PMI
Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: [email protected] CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: [email protected] CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0
O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok
A Gestão, os Sistemas de Informação e a Informação nas Organizações
Introdução: Os Sistemas de Informação (SI) enquanto assunto de gestão têm cerca de 30 anos de idade e a sua evolução ao longo destes últimos anos tem sido tão dramática como irregular. A importância dos
Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. [email protected]. Http://e-academy.com.br
Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva [email protected] Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O
Feature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Metodologia Projectual?
Metodologia Projectual? > Metodologia é a parte da lógica que estuda os métodos das diversas ciências, segundo as leis do raciocínio > estudar e enumerar as tarefas de forma a que o projecto seja feito
Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento
Desenvolvimento Iterativo Esta abordagem ao desenvolvimento assegura que o sistema cresce de forma incremental assegura que a complexidade se mantém controlada permite ainda obter rápido feedback de várias
TRANSIÇÃO DA ISO 9001:2000 PARA ISO 9001:2008 DOCUMENTO SUMÁRIO DE ALTERAÇÕES ALTERAÇÕES QUE PODEM AFECTAR O SISTEMA
TRANSIÇÃO DA ISO 9001:2000 PARA ISO 9001:2008 DOCUMENTO SUMÁRIO DE ALTERAÇÕES A nova norma ISO 9001, na versão de 2008, não incorpora novos requisitos, mas apenas alterações para esclarecer os requisitos
Engenharia de Software
CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França [email protected] Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um
Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:
Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código
Sistema de Monitorização e Avaliação da Rede Social de Alcochete. Sistema de Monitorização e Avaliação - REDE SOCIAL DE ALCOCHETE
3. Sistema de Monitorização e Avaliação da Rede Social de Alcochete 65 66 3.1 Objectivos e Princípios Orientadores O sistema de Monitorização e Avaliação da Rede Social de Alcochete, adiante designado
GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas
PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas
Requisitos. Sistemas de Informações
Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa
F.1 Gerenciamento da integração do projeto
Transcrição do Anexo F do PMBOK 4ª Edição Resumo das Áreas de Conhecimento em Gerenciamento de Projetos F.1 Gerenciamento da integração do projeto O gerenciamento da integração do projeto inclui os processos
Programa de Parcerias e Submissão de Propostas 2014/15
DEPARTAMENTO DE INFORMÁTICA Programa de Parcerias e Submissão de Propostas 2014/15 O Departamento de Informática (DI) da Faculdade de Ciências da Universidade de Lisboa (FCUL) procura criar e estreitar
Mestrado em Sistemas Integrados de Gestão (Qualidade, Ambiente e Segurança)
Mestrado em Sistemas Integrados de Gestão (Qualidade, Ambiente e Segurança) 1 - Apresentação Grau Académico: Mestre Duração do curso: : 2 anos lectivos/ 4 semestres Número de créditos, segundo o Sistema
Passe Jovem no SVE KIT INFORMATIVO PARTE 2 PASSE JOVEM NO SVE. Programa Juventude em Acção
PASSE JOVEM NO SVE Programa Juventude em Acção KIT INFORMATIVO Parte 2 Maio de 2011 1. O SVE como experiência de aprendizagem Ser um voluntário do SVE é uma valiosa experiência pessoal, social e cultural,
ROTEIRO PARA ELABORAÇÃO DE PROJETOS
APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da
REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO
REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 1 OBJETIVOS 1. De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar? 2. Como uma empresa pode certificar-se
ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000
ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica
Informática II Cap. 3
Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:
GARANTIA DA QUALIDADE DE SOFTWARE
GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características
Engenharia de Software
Engenharia de Software Processos de software Departamento de Matemática Universidade dos Açores Hélia Guerra [email protected] Processo Um processo é uma série de etapas envolvendo actividades, restrições e
Gerenciamento de Projetos Modulo III Grupo de Processos
Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha [email protected] http://waltercunha.com PMBoK Processos de Gerenciamento de Projetos Para que um projeto seja bem-sucedido,
Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia
1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Engenharia de Software
Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra [email protected] Engenharia de software A economia de todos os países desenvolvidos depende do software. O
Sistemas de Informação I
+ Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto [email protected] + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas
Notas de Aula 02: Processos de Desenvolvimento de Software
Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens
Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização
Prof. Ricardo José Pfitscher Material elaborado com base em: José Luiz Mendes Gerson Volney Lagemann Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento
UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini [email protected]
UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini [email protected] SINOP MT 2015-1 COMO SÃO DESENVOLVIDOS OS SISTEMAS DE INFORMAÇÃO? São desenvolvimento como uma estrutura
Análise Estruturada de Sistemas
Análise Estruturada de Sistemas Capítulo 3 Estudo de Viabilidade Definição das Necessidades Funcionais O propósito desta etapa é produzir um documento formal que contenha uma descrição detalhada da proposta,
IMPLEMENTAÇÃO. Acção de Formação do Grupo de Trabalho. Sensibilização Sensibilização Geral para a Qualidade. Qualidade.
1. ENQUADRAMENTO As organizações têm vindo a aderir de uma forma crescente ao Processo de Certificação como uma Ferramenta imprescindível à Melhoria da Gestão. Esta evolução foi acelerada pela própria
MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior
MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de
Sistemas de Informação I
+ Sistemas de Informação I Processo de software I Ricardo de Sousa Britto [email protected] + O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática,
Laudon & Laudon MIS, 7th Edition. Pg. 1.1
Laudon & Laudon MIS, 7th Edition. Pg. 1.1 12 OBJETIVOS OBJETIVOS REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos
SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 2 Leandro Loss, Dr. Eng. [email protected] http://www.gsigma.ufsc.br/~loss Roteiro Introdução Conceitos básicos Riscos Tipos de
Gerenciamento de Projetos Modulo III Grupo de Processos
Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha [email protected] http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento
