Tpicos 1- Introduo Engenharia de Software 2 - Fundamentos Organizacionais de Sistemas de Informao 3- Gerncia de projeto de software 4- Gerenciamento para a qualidade de software 5- Acompanhamento do processo de desenvolvimento de software.
Software 1- Instrues quando executadas produzem a funo e o desempenho desejados 2 - Estruturas de Dados possibilitam que os programas manipulem adequadamente a informao 3 - Documentos descrevem a operao e o uso dos programas Caractersticas do Software 1. desenvolvido ou projetado por engenharia, no manufaturado no sentido clssico
2. no se desgasta mas se deteriora
3. a maioria feita sob medida em vez de ser montada a partir de componentes existentes Curva de falhas para o Hardware
tempo desgaste mortalidade infantil
ndice de falhas Curva de falhas do Software ndice de falhas mudana curva real curva idealizada tempo Aplicaes do Software B B S SI IC CO O programas de apoio a outros programas D DE E T TE EM MP PO O R RE EA AL L monitora, analisa e controla eventos do mundo real C CO OM ME ER RC CI IA AL L operaes comerciais e tomadas de decises administrativas C CI IE EN NT T F FI IC CO O E E D DE E E EN NG GE EN NH HA AR RI IA A algoritmos de processamento de nmeros E EM MB BU UT TI ID DO O controla produtos e sistemas de mercados industriais e de consumo D DE E C CO OM MP PU UT TA AD DO OR R P PE ES SS SO OA AL L processamento de textos, planilhas eletrnicas, diverses, etc. D DE E I IN NT TE EL LI IG G N NC CI IA A A AR RT TI IF FI IC CI IA AL L algoritmos no numricos para resolver problemas que no sejam favorveis computao ou anlise direta Evoluo do Software (1950 - 1965) = O hardware sofreu contnuas mudanas = O software era uma arte "secundria" para a qual havia poucos mtodos sistemticos = O hardware era de propsito geral = O software era especfico para cada aplicao = No havia documentao Evoluo do Software (1965 - 1975) = Multiprogramao e sistemas multiusurios = Tcnicas interativas = Sistemas de tempo real = 1 a gerao de SGBDs = Produto de software - software houses = Bibliotecas de Software = Cresce n o de sistemas baseado em computador = Manuteno quase impossvel ..... CRISE DE SOFTWARE Evoluo do Software (1975 - hoje) = Sistemas distribudos = Redes locais e globais = Uso generalizado de microprocessadores - produtos inteligentes = Hardware de baixo custo = Impacto de consumo ..... CRISE DE SOFTWARE (aflio crnica???) Evoluo do Software (Quarta era do software: atualidade) ; Tecnologias orientadas o objetos ; Sistemas especialistas e software de inteligncia artificial usados na prtica ; Software de rede neural artificial ; Computao Paralela ; Internet ..... CRISE DE SOFTWARE (aflio crnica???) Crise de Software Refere-se a um conjunto de problemas encontrados no desenvolvimento de software: (1) As estimativas de prazo e de custo freqentemente so imprecisas No dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software Sem nenhuma indicao slida de produtividade, no podemos avaliar com preciso a eficcia de novas ferramentas, mtodos ou padres Crise de Software (2) A produtividade das pessoas da rea de software no tem acompanhado a demanda por seus servios Os projetos de desenvolvimento de software normalmente so efetuados apenas com um vago indcio das exigncias do cliente
Crise de Software (3) A qualidade de software s vezes menos que adequada S recentemente comeam a surgir conceitos quantitativos slidos de garantia de qualidade de software (4) O software existente muito difcil de manter A tarefa de manuteno devora o oramento destinado ao software A facilidade de manuteno no foi enfatizada como um critrio importante Crise de Software -estimativas de prazo e de custo -produtividade das pessoas -qualidade de software -software difcil de manter Causas dos problemas associados Crise de Software 1. prprio carter do Software O software um elemento de sistema lgico e no fsico (produto intangvel) Conseqentemente, o sucesso medido pela qualidade de uma nica entidade e no pela qualidade de muitas entidades manufaturadas
O software no se desgasta, mas se deteriora!!! 2. falhas das pessoas responsveis pelo desenvolvimento de Software Gerentes sem nenhum background em software Os profissionais da rea de software tm recebido pouco treinamento formal em novas tcnicas para o desenvolvimento de software Resistncia a mudanas. Causas dos problemas associados Crise de Software 3. mitos do Software
propagaram desinformao e confuso administrativos cliente profissional
Causas dos problemas associados Crise de Software Mitos do Software (administrativos) J temos um manual repleto de padres e procedimentos para a construo de software. Isso no oferecer ao meu pessoal tudo o que eles precisam saber? Realidade: Ser que o manual usado? Os profissionais sabem que ele existe? Ele reflete a prtica moderna de desenvolvimento de software? Ele completo? Meu pessoal tem ferramentas de desenvolvimento de software de ltima gerao; afinal lhes compramos os mais novos computadores. Mitos do Software (administrativos) Realidade: preciso muito mais do que os mais recentes computadores para se fazer um desenvolvimento de software de alta qualidade. Se ns estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso. Mitos do Software (administrativos) Realidade: O desenvolvimento de software no um processo mecnico igual manufatura. Acrescentar pessoas em um projeto torna-o ainda mais atrasado. Pessoas podem ser acrescentadas, mas somente de uma forma planejada. Uma declarao geral dos objetivos suficiente para se comear a escrever programas - podemos preencher os detalhes mais tarde. Mitos do Software (cliente) Realidade: Uma definio inicial ruim a principal causa de fracassos dos esforos de desenvolvimento de software. fundamental uma descrio formal e detalhada do domnio da informao, funo, desempenho, interfaces, restries de projeto e critrios de validao. Os requisitos de projeto modificam-se continuamente, mas as mudanas podem ser facilmente acomodadas, porque o software flexvel. Mitos do Software (cliente) Realidade: Uma mudana, quando solicitada tardiamente num projeto, pode ser maior do que mais do que uma ordem de magnitude mais dispendiosa do que a mesma mudana solicitada nas fases iniciais. FASES CUSTO DE MANUTENO DEFINIO 1 x DESENVOLVIMENTO 1.5 - 6x MANUTENO 60 - 100x magnitude das mudanas Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estar completo. Mitos do Software (profissional) Realidade: Os dados da indstria indicam que entre 50 e 70% de todo esforo gasto num programa sero despendidos depois que ele for entregue pela primeira vez ao cliente. Enquanto no tiver o programa "funcionando", eu no terei realmente nenhuma maneira de avaliar sua qualidade. Mitos do Software (profissional) Realidade: Um programa funcionando somente uma parte de uma Configurao de Software que inclui todos os itens de informao produzidos durante a construo e manuteno do software.
Preocupao: Sistematizar o processo de criao e manuteno de software. Boehm: Engenharia de software envolve a aplicao prtica de conhecimento cientfico para o projeto e construo de programas de computador e a documentao associada necessria para desenvolv-los, oper-los e mant-los. Engenharia de Software Definies IEEE Standard Glossary of Software Engineering terminology: Engenharia de software uma abordagem sistemtica para o desenvolvimento, operao, manuteno de software
Software: programas de computador, procedimentos, regras, documentao possivelmente associada, e dados sobre sua operao. Engenharia de Software Definies Fairley: Engenharia de software a disciplina tecnologica e gerencial preocupada com a produo sistemtica e manuteno de produtos de software que so desenvolvidos e modificados no prazo estabelecido e dentro das estimativas de custo.
Engenharia de Software Definies abrange um conjunto de trs elementos fundamentais: Mtodos, Ferramentas e Procedimentos
Principais metas: melhorar a qualidade de produtos de software, aumentar a produtividade do pessoal tcnico e aumentar a satisfao do cliente. mtodos: proporcionam os detalhes de como fazer para construir o software Engenharia de Software
Planejamento e estimativa de projeto Anlise de requisitos de software e de sistemas Projeto da estrutura de dados Algoritmo de processamento Codificao Teste Manuteno Engenharia de Software ferramentas: do suporte automatizado aos mtodos. = existem atualmente ferramentas para sustentar cada um dos mtodos = quando as ferramentas so integradas estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering Engenharia de Software procedimentos: constituem o elo de ligao entre os mtodos e ferramentas C seqncia em que os mtodos sero aplicados C produtos que se exige que sejam entregues C controles que ajudam assegurar a qualidade e coordenar as alteraes C marcos de referncia que possibilitam administrar o progresso do software. Engenharia de Software conjunto de etapas que envolve mtodos ferramentas procedimentos
Essas etapas so conhecidas como componentes de CICLO DE VIDA DE SOFTWARE ou Processo de Software Engenharia de Software Alguns ciclos de vida mais conhecidos so: + Ciclo de Vida Clssico + Prototipao + Modelo Espiral + Tcnicas de 4 a Gerao Engenharia de Software para escolha de um Ciclo de Vida de Software:
C natureza do projeto e da aplicao
C mtodos e ferramentas a serem usados
C controles e produtos que precisam ser entregues Ciclo de Vida Clssico (Cascata) modelo mais antigo e o mais amplamente usado da engenharia de software
modelado em funo do ciclo da engenharia convencional
requer uma abordagem sistemtica, seqencial ao desenvolvimento de software Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno Cascata Atividades do Ciclo de Vida Clssico ANLISE E ENGENHARIA DE SISTEMAS envolve a coleta de requisitos em nvel do sistema, pequena quantidade de projeto e anlise de alto nvel Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno viso essencial quando o software deve fazer interface com outros elementos (hardware, pessoas e banco de dados) Atividades do Ciclo de Vida Clssico ANLISE DE REQUISITOS DE SOFTWARE processo de coleta dos requisitos intensificado e concentrado especificamente no software deve-se compreender o domnio da informao, a funo, desempenho e interfaces exigidos os requisitos (para o sistema e para o software) so documentados e revistos com o cliente Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno Atividades do Ciclo de Vida Clssico PROJETO traduo dos requisitos do software para um conjunto de representaes que podem ser avaliadas quanto qualidade, antes que a codificao se inicie se concentra em 4 atributos do programa: Estrutura de Dados, Arquitetura de Software, Detalhes Procedimentais e Caracterizao de Interfaces Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno Atividades do Ciclo de Vida Clssico CODIFICAO traduo das representaes do projeto para uma linguagem artificial resultando em instrues executveis pelo computador Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno Atividades do Ciclo de Vida Clssico TESTES Concentram-se: nos aspectos lgicos internos do software, garantindo que todas as instrues tenham sido testadas nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados. Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno Atividades do Ciclo de Vida Clssico MANUTENO o software dever sofrer mudanas depois que for entregue ao cliente
Engenharia de Sistemas Anlise de Requisitos Projeto Codificao Testes Manuteno causas das mudanas: erros, adaptao do software para acomodar mudanas em seu ambiente externo e exigncia do cliente para acrscimos funcionais e de desempenho Problemas com o Ciclo de Vida Clssico e projetos reais raramente seguem o fluxo seqencial que o modelo prope e logo no incio difcil estabelecer explicitamente todos os requisitos. No comeo dos projetos sempre existe uma incerteza natural eo cliente deve ter pacincia. Uma verso executvel do software s fica disponvel numa etapa avanada do desenvolvimento Embora o Ciclo de Vida Clssico tenha fragilidades, ele significativamente melhor do que uma abordagem casual ao desenvolvimento de software Clssico (comentrios) Prototipao + processo que possibilita que o desenvolvedor crie um modelo do software que deve ser construdo. + idealmente, o modelo (prottipo) serve como um mecanismo para identificar os requisitos de software. +apropriado para quando o cliente definiu um conjunto de objetivos gerais para o software, mas no identificou requisitos de entrada, processamento e sada com detalhes. fim incio construo produto refinamento prottipo avaliao prottipo construo prottipo projeto rpido obteno dos requisitos Prototipao Atividades da Prototipao Obteno dos Requisitos: desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos so conhecidos e as reas que necessitam de definies adicionais
Projeto Rpido: representao dos aspectos do software que so visveis ao usurio (abordagens de entrada e formatos de sada) fim incio construo produto refinamento prottipo avaliao prottipo construo prottipo projeto rpido obteno dos requisitos Construo Prottipo: implementao do projeto rpido
Avaliao do Prottipo: cliente e desenvolvedor avaliam o prottipo Atividades da Prototipao fim incio construo produto refinamento prottipo avaliao prottipo construo prottipo projeto rpido obteno dos requisitos Refinamento dos Requisitos: cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido. Ocorre neste ponto um processo de iterao que pode conduzir a 1a. atividade at que as necessidades do cliente sejam satisfeitas e o desenvolvedor compreenda o que precisa ser feito. Atividades da Prototipao fim incio construo produto refinamento prottipo avaliao prottipo construo prottipo projeto rpido obteno dos requisitos Construo Produto: identificados os requisitos, o prottipo deve ser descartado e a verso de produo deve ser construda considerando os critrios de qualidade. Atividades da Prototipao fim incio construo produto refinamento prottipo avaliao prottipo construo prottipo projeto rpido obteno dos requisitos Problemas com a Prototipao ecliente no sabe que o software que ele v no considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo. No aceita bem a idia que a verso final do software vai ser construda e "fora" a utilizao do prottipo como produto final.
Problemas com a Prototipao edesenvolvedor freqentemente faz uma implementao comprometida (utilizando o que est disponvel) com o objetivo de produzir rapidamente um prottipo. Depois de um tempo ele familiariza com essas escolhas, e esquece que elas no so apropriadas para o produto final. Ainda que possam ocorrer problemas, a prototipao um ciclo de vida eficiente - A chave definir-se as regras do jogo logo no comeo - O cliente e o desenvolvedor devem ambos concordar que o prottipo seja construdo para servir como um mecanismo a fim de definir os requisitos - Prototipao (comentrios) Ciclo de Vida em Espiral C engloba as melhores caractersticas do ciclo de vida Clssico e da Prototipao, adicionando um novo elemento: a Anlise de Risco C segue a abordagem de passos sistemticos do Ciclo de Vida Clssico incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real C usa a Prototipao, em qualquer etapa da evoluo do produto, como mecanismo de reduo de riscos deciso de continuar ou no direo de um sistema concludo avaliao do cliente engenharia anlise dos riscos planejamento Espiral Atividades do Ciclo de Vida em Espiral Planejamento: determinao dos objetivos, alternativas e restries Anlise de Risco: anlise das alternativas e identificao / resoluo dos riscos Construo: desenvolvimento do produto no nvel seguinte Avaliao do Cliente: avaliao do produto e planejamento das novas fases avaliao do cliente engenharia anlise dos riscos planejamento , atualmente, a abordagem mais realstica para o desenvolvimento de software em grande escala. usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva. pode ser difcil convencer os clientes que uma abordagem "evolutiva" controlvel exige considervel experincia na determinao de riscos e depende dessa experincia para ter sucesso Espiral (comentrios) o modelo relativamente novo e no tem sido amplamente usado Demorar muitos anos at que a eficcia desse modelo possa ser determinada com certeza absoluta. Espiral (comentrios) Tcnicas de 4 a Gerao Concentra-se na capacidade de se especificar o software a uma mquina em um nvel que esteja prximo linguagem natural.
Engloba um conjunto de ferramentas de software que possibilitam que: = o sistema seja especificado em uma linguagem de alto nvel e =o cdigo fonte seja gerado automaticamente a partir dessas especificaes Obteno dos Requisitos Estratgia do Projeto Implementao usando 4GL Testes Tcnicas de 4 a Gerao Ferramentas do ambiente de desenvolvimento de software de 4GL O ambiente de desenvolvimento de software que sustenta o ciclo de vida de 4 a gerao inclui as ferramentas: - linguagens no procedimentais para consulta de banco de dados - gerao de relatrios - manipulao de dados - interao e definio de telas - gerao de cdigos - capacidade grfica de alto nvel - capacidade de planilhas eletrnicas Atividades das Tcnicas de 4 a Gerao 1. obteno dos Requisitos: o cliente descreve os requisitos os quais so traduzidos para um prottipo operacional Obteno dos Requisitos Estratgia do Projeto Implementa o usando 4GL Testes Eo cliente pode estar inseguro quanto aos requisitos Eo cliente pode ser incapaz de especificar as informaes de um modo que uma ferramenta 4GL possa consumir Eas 4GLs atuais no so sofisticadas suficientemente para acomodar a verdadeira "linguagem natural" 2. estratgia de "Projeto": para pequenas aplicaes possvel mover-se do passo de Obteno dos Requisitos para o passo de Implementao usando uma Linguagem de 4G Obteno dos Requisitos Estratgia do Projeto Implementa o usando 4GL Testes Atividades das Tcnicas de 4 a Gerao Epara grandes projetos necessrio desenvolver uma estratgia de projeto. De outro modo ocorrero os mesmos problemas encontrados quando se usa abordagem convencional (baixa qualidade) 3. implementao usando 4GL: os resultados desejados so representados de modo que haja gerao automtica de cdigo . Deve existir uma estrutura de dados com informaes relevantes e que seja acessvel pela 4GL Atividades das Tcnicas de 4 a Gerao Obteno dos Requisitos Estratgia do Projeto Implementa o usando 4GL Testes Atividades das Tcnicas de 4 a Gerao Obteno dos Requisitos Estratgia do Projeto Implementa o usando 4GL Testes 4. teste: o desenvolvedor deve efetuar testes e desenvolver uma documentao significativa. O software desenvolvido deve ser construdo de maneira que a manuteno possa ser efetuada prontamente. PROPONENTES: reduo dramtica no tempo de desenvolvimento do software (aumento de produtividade) OPONENTES: as 4GL atuais no so mais fceis de usar do que as linguagens de programao e o cdigo fonte produzido ineficiente e a manutenibilidade de sistemas usando tcnicas 4G ainda questionvel Tcnicas de 4 a Gerao (comentrios) Mudana na natureza de desenvolvimento de software mtodos convencionais aplicao de tcnicas de 4 a
Gerao demanda global demanda por software 1970 1980 1990 2000 Combinao dos Mtodos de Ciclo de Vida obteno dos requisitos preliminares
sistema completo Engenharia de Software uma viso genrica O processo de desenvolvimento de software contm 3 fases genricas, independentes do modelo de engenharia de software escolhido: 1. DEFINIO, 2. DESENVOLVIMENTO e 3. MANUTENO. 1. Revises 2. Documentao 3. Controle de Mudanas CCCooonnnssstttrrruuuooo 1. Entender 2. Modificar 3. Revalidar Manuteno mudanas OOOpppeeerrraaaooo SSSOOOFFFTTTWWWAAARRREEE PPPRRROOODDDUUUTTTOOO AAAtttiiivvviiidddaaadddeeesss dddeee AAApppoooiiiooo 1. Anlise de Sistema 2. Planejamento do Projeto 3. Anlise de Requisitos Definio o que Desenvolvimento como 1. Projeto de Software 2. Codificao 3. Teste = = = ' Engenharia de Software uma viso genrica DEFINIO : o que ser desenvolvido. Anlise do Sistema: define o papel de cada elemento num sistema baseado em computador, atribuindo em ltima anlise, o papel que o software desempenhar. Planejamento do Projeto de Software: assim que o escopo do software estabelecido, os riscos so analisados, os recursos so alocados, os custos so estimados e, tarefas e programao de trabalho definidas. Engenharia de Software uma viso genrica Anlise de Requisitos: o escopo definido para o software proporciona uma direo, mas uma definio detalhada do domnio da informao e da funo do software necessria antes que o trabalho inicie. Engenharia de Software uma viso genrica DESENVOLVIMENTO: como o software vai ser desenvolvido.
= Projeto de Software: traduz os requisitos do software num conjunto de representaes (algumas grficas, outras tabulares ou baseadas em linguagem) que descrevem a estrutura de dados, a arquitetura do software, os procedimentos algortmicos e as caractersticas de interface. Engenharia de Software uma viso genrica = Codificao: as representaes do projeto devem ser convertidas numa linguagem artificial (a linguagem pode ser uma linguagem de programao convencional ou uma linguagem no procedimental) que resulte em instrues que possam ser executadas pelo computador.
= Realizao de Testes do Software: logo que o software implementado numa forma executvel por mquina, ele deve ser testado para que se possa descobrir defeitos de funo, lgica e implementao. Engenharia de Software uma viso genrica MANUTENO: concentra-se nas mudanas que ocorrero depois que o software for liberado para uso operacional C Correo C Adaptao C Melhoramento Funcional Engenharia de Software uma viso genrica Correo: mesmo com as melhores atividades de garantia de qualidade de software, provvel que o cliente descubra defeitos no software. A manuteno corretiva muda o software para corrigir defeitos.
Adaptao: com o passar do tempo, o ambiente original (por exemplo a CPU, o sistema operacional e perifricos) para o qual o software foi desenvolvido provavelmente mudar. A manuteno adaptativa muda o software para acomodar mudanas em seu ambiente. Engenharia de Software uma viso genrica Melhoramento Funcional: a medida que o software usado, o cliente/usurio reconhecer funes adicionais que oferecero benefcios. A manuteno perfectiva estende o software para alm de suas exigncias funcionais originais.
Engenharia de Software uma viso genrica Atividades de Proteo: as fases e etapas correlatas descritas so complementadas por uma srie de atividades de proteo. Revises: efetuadas para garantir que a qualidade seja mantida medida que cada etapa concluda. Documentao: desenvolvida e controlada para garantir que informaes completas sobre o software estejam disponveis para uso posterior. Controle das Mudanas: institudo de forma que as mudanas possam ser aprovadas e acompanhadas. Engenharia de Software uma viso genrica
A Engenharia de Software tambm se preocupa com questes gerenciais, que encontra-se do lado oposto ao domnio da programao Gerenciamento: necessrio para coordenar as atividades tcnicas em projetos de produtos de software. Engenharia de Software uma aborgagem gerencial Em geral, um produto de software inclui: -> Cdigo fonte, e documentao relacionada: documento de requisitos especificao do projeto planos de teste princpios de operao procedimentos para garantia da qualidade Engenharia de Software uma aborgagem gerencial Em geral, um produto de software inclui: -> Cogido fonte, e documentao relacionada: relatrios de problemas com o software procedimentos de manuteno manuais do usurio instrues para instalao auxlio para treinamento
Engenharia de Software uma aborgagem gerencial Qualidade de software : preocupao principal dos gerentes de software. -> Principal atributo de qualidade: utilidade -> outros atributos de qualidade: - transportabilidade - eficincia - clareza - confiabilidade
Engenharia de Software uma aborgagem gerencial Fatore de Qualidade e Produtividade : Fatores que influenciam a qualidade: = Habilidade Individual = Comunicao da equipe = Complexidade do produto = Notaes apropriadas = Abordagens sistemticas = controle de mudanas
Engenharia de Software uma aborgagem gerencial Fatore de Qualidade e Produtividade : Fatores que influenciam a qualidade: = Adequao de treinamento = Habilidades de gerenciamento = Metas apropriadas = Entendimento do problema = Estabilidade dos requisitos = Habilidades necessrias
Engenharia de Software uma aborgagem gerencial Questes gerenciais Os gerentes de software: = controlam os recursos e o ambiente no qual as atividades tcnicas ocorrem. = responsveis pela entrega do produto no prazo e dentro das estimativas de custo. = devem garantir que o produto tenha os atributos funcionais e de qualidade desejados pelo cliente. = Treinam empregados. = desenvolvem planos e estratgias de marketing.
Engenharia de Software uma aborgagem gerencial Preocupaes de gerenciamento de projeto: = mtodos para organizar e monitorar um projeto. = tcnicas de estimativa de custo. = poltica de alocao de recursos. = controle oramentrio. = avaliao do progresso. = realocao de recursos. = ajustes no cronograma.
Engenharia de Software uma aborgagem gerencial Preocupaes de gerenciamento de projeto: = estabelecer procedimentos para garantia de qualidade. = manter o controle de vrias verses do produto. = facilitar a comunicao entre os membros do projeto. = comunicao com o cliente. = estabelecer contratos com o cliente. = garantir que os termos legais e contratuais do projeto sejam cumpridos.
Engenharia de Software uma aborgagem gerencial Problemas na rea de gerenciamento: = falta de planejamento para projetos de software. = falta de tcnicas e procedimentos para selecionar gerentes de projeto. = falta de habilidade em estimar os recursos necessrios para o projeto. = falta de um processo de desenvolvimento bem estabelecido. = falta de estratgias para o gerente acompanhar o progresso do projeto. = falta de padres e tcnicas para medir produtividade.
Engenharia de Software uma aborgagem gerencial Fatores que melhoram o gerenciamento: = treinar gerentes, e desenvolvedores de software. = estabelecer o uso de padres, procedimentos e documentao. = analisar dados de projetos passados para avaliar mtodos efetivos. = definir objetivos em termos de qualidade desejada. = definir qualidade em termos de produtos a ser entregues. = Selecionar gerentes de projetos com habilidades para gerenciamento. = Desenvolver uma maneira de avaliar os desenvolvedores de software. Engenharia de Software uma aborgagem gerencial Concluso ENGENHARIA DE SOFTWARE pode ser vista como uma abordagem de desenvolvimento de software elaborada com disciplina e mtodos bem definidos. .....a construo por mltiplas pessoas de um software de mltiplas verses [Parnas 1987] Pontos a ponderar O software o fator de diferenciao de muitos produtos e sistemas baseados em computador. Apresente exemplos de dois ou trs produtos e de pelo menos um sistema em que o software, no o hardware, o elemento que faz a diferena. Nas dcadas de 1950 e 1960, a programao de computador era uma forma de arte aprendida num ambiente semelhante ao de aprendizes. Como os primrdios afetaram as prticas de desenvolvimento de software atuais? Apresente cinco exemplos de desenvolvimento de software que seriam adequados prototipao. Cite duas ou trs aplicaes que seriam mais difceis de ser representadas em prottipos. , Pontos a ponderar Os mitos de software citados em aula so somente alguns entre muitos outros. Liste mitos adicionais para cada uma das categorias apresentadas. Existe algum caso em que as fases genricas do processo de engenharia de software no se aplicam? Se assim for, descreva-o. ,