Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software e Gerencia de Projetos Engenharia de Software e Gerencia de Projetos 2Disciplinas Na engenharia de software o uso das disciplinas como, gerência de projetos, levantamento de requisitos, análise, projeto, implementação, teste, implantação, manutenção e qualidade, torna-se necessário sempre que desejar construir um software com qualidade e prover continuidade em sua vida útil. Sendo assim, vamos conhecer as tarefas e ferramentas destinadas a cada disciplina. ● Conhecer cada disciplina da Engenharia de Software com suas especificidades e interligações. ● Conceito de disciplina; ● Gerência de Projetos; ● Levantamento de requisitos; ● Análise; ● Projeto; ● Implementação; ● Teste; ● Implantação; ● Manutenção; ● Qualidade . Introdução Objetivo Tópicos Abordados Engenharia de Software e Gerencia de Projetos 3Disciplinas As disciplinas da Engenharia de Software Gerência de projetos Todo projeto, independente de sua natureza, deve ser gerenciado, ou seja, deve-se ter procedimentos para conduzir as atividades do projeto e gerar bons resultados. A disciplina gerência de projetos tem a finalidade de controle e planejamento das atividades que serão desenvolvidas. É preciso planejar o desenvolvimento para considerar os recursos envolvidos, tais como: equipe, custo e tempo. Quando se tem o planejamento, é preciso controlar. Assim é verificado se o planejado está de acordo com o realizado. Este papel é fundamental na garantia do sucesso do desenvolvimento do projeto tanto em custo quanto em prazo, pois se o dimensionamento de recursos em quantidade e/ou capacidade está fora do necessário, o prazo e o custo estão comprometidos. De outro lado, se o tempo está mal dimensionado não será possível o cumprimento do prazo planejado. Em suma o controle do planejamento sinaliza ao gerente as possíveis mudanças de atitudes, necessárias para alcançar os objetivos determinados com menor perda no percurso do desenvolvimento. Na disciplina Gerência de Projetos podemos utilizar as ferramentas Ms Project da Microsoft, GanttProject, dotProject e outras para facilitar o planejamento do projeto, seu acompanhando e execução, com registro das ocorrências. As ferramentas implementam as tarefas de planejamento e controle como: dimensionamento dos recursos, distribuição deste recurso no tempo e custo e, registro de realização. Disciplinas da engenharia de software são atividades aplicadas durante o processo de construção e manutenção de software. São elas: Gerência de projetos, levantamento de requisitos, análise, projeto, implementação, teste, implantação, manutenção e qualidade. Cada disciplina tem sua finalidade própria e ferramentas associadas, descritas a seguir. Engenharia de Software e Gerencia de Projetos 4Disciplinas Levantamento de requisitos É a disciplina aplicada a identificação das necessidades. Conhecer o que o sistema faz e o que o usuário pretende inovar (novas necessidades). Todo software possui procedimentos que fazem parte do caminho crítico de execução, possui procedimentos necessários para execução e possui procedimentos de mudança. Os procedimentos são considerados como requisitos funcionais e requisitos não funcionais. Os requisitos funcionais são os procedimentos de operação das funções do negócio e os requisitos não funcionais são os procedimentos que operacionalizam o negócio quanto a usabilidade, segurança, desempenho, confiabilidade, disponibilidade, manutenibilidade e tecnologias envolvidas. Para realizar a disciplina Levantamento de Requisitos podem ser utilizadas técnicas para elicitação[1] de requisitos, tais como: entrevista, leitura de documentos, questionário, brainstorming, participação ativa dos usuários, dentre outras. Esta disciplina é determinante no processo de desenvolvimento porque é a partir dela que é definido o escopo do projeto, ou seja, o limite do projeto que será definido e construído. Importante Engenharia de Software e Gerencia de Projetos 5Disciplinas Entrevista A entrevista tem como objetivo obter as informações do sistema a partir de perguntas elaboradas de acordo como o nível operacional do usuário entrevistado. É a técnica mais utilizada, pois é fácil de ser aplicada. Pode ser formal, informal ou tutorial. Engenharia de Software e Gerencia de Projetos 6Disciplinas A leitura de documentos é utilizada para o profissional de informática conhecer o assunto abordado, o vocabulário, definições gerais e fundamentações teóricas. Questionário O questionário é aplicado sempre que se tem um conjunto de perguntas padronizado a serem aplicados para um número grande de usuários, por exemplo, no desenvolvimento de um plano diretor de informática é preciso identificar em cada setor quantos equipamentos existem, quais os softwares utilizados, quantas pessoas utilizam a tecnologia e, assim por diante. Neste caso, elabora-se um questionário e de forma mais ágil serão levantadas as informações desejadas. Brainstorming O brainstorming é uma técnica de revisão, onde os participantes do projeto validam processos, seja levantamento, análise, projeto ou implementação. É importante a participação dos [1]stakeholders para que as informações sejam validadas e complementadas sobre todas as visões do negócio. [1] Stakeholders - representa a pessoa ou grupo de pessoas interessada nas ações e desempenho do sistema. Participação ativa dos usuários A participação ativa dos usuários é uma técnica de integração de todos os envolvidos na equipe de projeto. A equipe deve ser formada pelos profissionais de informática e os usuários do negócio (profissionais que trabalham no dia-a-dia dos processos). Os usuários do negócio são treinados nas ferramentas para que possam estabelecer a comunicação e participar, de forma intensa, validando e discutindo as questões registradas. A inclusão dos usuários do negócio na equipe de desenvolvimento aumenta a aderência das informações coletadas com a realidade. Engenharia de Software e Gerencia de Projetos 7Disciplinas Análise A disciplina Análise deve detalhar cada requisito identificado na disciplina levantamento de requisitos para conhecer o passo-a-passo da realização do negócio. Para uma boa definição é importante que o profissional de informática se intere de cada detalhe. Conhecer os processos faz com que a construção tenha qualidade. ● Na disciplina Análise as ferramentas variam em função da metodologia abordada. ● Na metodologia estruturada para representação dos requisitos é utilizado o Diagrama de Fluxo de Dados(DFD), contemplando a lista de eventos, diagrama de contexto, demonstrando as entidades externas e a informação que envia e/ou recebe do sistema, diagrama Nível I com as principais funcionalidades e suas decomposições quando necessárias e, para representação dos dados é utilizado o Modelo de Entidade e Relacionamento(MER). ● Na metodologia Orientada a Objetos (OO) a representação dos requisitos é modelada pelo diagrama de atividades e diagrama de caso de uso e a representação dos dados pelo diagrama de classe – modelo de domínio. Projeto Cria uma solução tecnológica para um sistema considerando suas funções, requisitos e restrições. Requer conhecimento técnico aprofundado das possíveis soluções, realização de uma avaliação criteriosa das soluções e capacidade de abstração. ● Na disciplina projeto as ferramentas também variam em função da metodologia adotada. Na metodologia estruturada é utilizada uma representação modular através do Diagrama de Estrutura Modular(DEM) para visualização dos módulos, sub-módulos e empacotamento apresentando visualmente a definição dos programas a serem desenvolvidos.A modelagem dos dados é convertida para a Entidade Relacional(ER), preparada para criação do banco de dados. ● Na metodologia OO as ferramentas se misturam com as aplicadas na disciplina de análise. O diagrama de caso de uso continua sendo utilizado, pois na metodologia OO o diagrama de caso de uso final representa todas as funcionalidades definidas para cumprir a operação do sistema, inclui funcionalidades lógicas e físicas como “Informar login”. A representação dos dados também é complementada no diagrama de classe – modelo de domínio, sendo convertido para Modelo de projeto para criação do banco de dados. Alem dessas duas ferramentas são utilizados os diagramas de interação (seqüência e colaboração) para representar a troca de mensagens entre objetos, o diagrama de estado para representar o estado de um objeto e os responsáveis por realizar a transição. Engenharia de Software e Gerencia de Projetos 8Disciplinas Implementação Desenvolver os programas na linguagem de programação definida, utilizando os padrões de implementação definidos pela empresa. Na disciplina implementação são adotadas técnicas de programação definidas pela empresa, como: ● identação, ● nomes padronizados para as variáveis, ● organização na criação das funções. Teste, Implantação, Manutenção e Qualidade Na implementação, independente da linguagem adotada, é importante considerar que todo sistema precisa ter continuidade e para isso é preciso que sejam considerados aspectos de manutenibilidade e compreensão. Verifica e valida os procedimentos desenvolvidos para garantir a qualidade do software. É preciso verificar a presença de erros e/ou se os requisitos estão sendo atendidos de acordo com a necessidade dos usuários. Na disciplina teste as técnicas aplicadas são funcional (a preocupação é com a eficiência dos resultados) e estrutural (a preocupação é com a estrutura construída internamente para obtenção dos resultados. Alem das técnicas é importante a definição do método. Existem vários tipos de teste a serem realizados, como: interface, funcional, estrutura de dados, carga, recuperação, segurança, entre outros. Esses testes são estruturados para garantir a qualidade em diversos níveis: unidade, integração, validação e sistema. Os níveis são considerados em um planejamento para realização dos testes nas unidades, projeto, requisitos e sistema como um todo. Importante Engenharia de Software e Gerencia de Projetos 9Disciplinas É a disciplina que finaliza o desenvolvimento e disponibiliza para uso no usuário. Os procedimentos são aprovados pelos stakeholders, treinamento é desenvolvido com os usuários do negócio e carga dos dados é efetivada. Um usuário deve saber manusear o sistema computacional e conhecer como o computador irá atender suas necessidades. Isto será determinante para o sucesso do projeto, pois de nada adianta um sistema com uso de tecnologia atualizada se o usuário não estiver preparado para suportar a tecnologia. O sistema cairá em desuso. Na disciplina implantação não é destinada uma técnica específica, pois será escolhida de acordo com a modalidade definida. A disciplina manutenção é aplicada para sistema em operação e visa realizar mudanças no software. A motivação pode ocorrer por levantamento de requisitos mal realizado, que faz o usuário perceber que o procedimento não atende somente após a implantação; erros no sistema; obsolescência; e/ou novas necessidades. A disciplina qualidade determina características necessárias para satisfazer a necessidade dos usuários do negócio. Essas características estão relacionadas ao sistema (tamanho e complexidade), planejamento (recursos envolvidos no projeto), metodologias e técnicas aplicadas, procedimentos associados a detecção e remoção de erros e, a relação custo x benefício.Na disciplina qualidade são utilizadas técnicas de medição quantitativa e qualitativa. As disciplinas da engenharia de software levantamento de requisitos, análise, projeto, implementação, teste e implantação estão diretamente relacionadas no processo de desenvolvimento e manutenção do sistema. A disciplina manutenção é aplicada de acordo com a necessidade do sistema, as disciplinas gerência de projetos é aplicada durante todo o processo de desenvolvimento e manutenção e qualidade é uma disciplina utilizada de forma contínua, durante o desenvolvimento, manutenção e produção do software. Engenharia de Software e Gerencia de Projetos 10Disciplinas Avaliação a Distância 1 – Palavra cruzada. Para cada definição apresentada escolha o termo relacionado, abaixo e, preencha as lacunas. Respostas - 1 . (8, 4, 3, 1, 9, 7, 5, 6 e 2) Gerênciamento Teste Análise Implantação Qualidade Implementação Manutenção Levantamento de Requisitos Projeto Engenharia de Software e Gerencia de Projetos 11Disciplinas 2 – Exercício da forca. Em um levantamento de sistemas devemos escolher a técnica de elicitação que seja adequada a necessidade do levantamento de requisitos. Portanto é importante conhecê- las. Tente descobrir quais são elas, para isso leia cada definição apresentada e descubra o termo relacionado. 3 – Indique V para as sentenças verdadeiras e F para as sentenças falsas. A. Leitura de documentos B. Entrevistas C. Brainstorming D. Questionário é uma técnica de revisão, onde os participantes do projeto validam processos, seja levantamento, análise, projeto ou implementação. tem como objetivo buscar conhecimento de conceitos, regras e normas. é realizada a partir da formulação de perguntas e pode ser de 3 tipos: formal, informal e tutorial. é uma técnica de revisão, onde os participantes do projeto validam processos, seja levantamento, análise, projeto ou implementação. As disciplinas da Engenharia de software foram definidas para serem utilizadas em todo software. A disciplina qualidade é utilizada tanto no desenvolvimento quanto na manutenção de software. A disciplina Gerência de Projetos é utilizada somente no desenvolvimento de software. A disciplina Implantação é muito importante para o software, pois é a disciplina responsável por fazer os usuários utilizarem de forma correta o sistema. A disciplina Manutenção é utilizada após a disciplina teste para correção de erros. Respostas - 2 . (D, A, B e C), 3 (V, V, F, V e F) Engenharia de Software e Gerencia de Projetos 12Disciplinas 4 – Enumere a primeira coluna de acordo com a segunda. Para cada técnica apresentada escolha a disciplina que a aplica. A - Analise e Projeto B - Projeto C - Implementação D - Levantamento de requisitos E - Análise Diagrama de classe - Modelo de Projeto Identação Entrevista Modelo de Entidade e relacionamento Diagrama de interação Diagrama de Caso de uso Respostas - 4 (B, C, D, E, B e A) Engenharia de Software e Gerencia de Projetos 13Disciplinas Síntese Resumindo podemos destacar alguns conceitos: Disciplinas da engenharia de software são atividades aplicadas durante o processo de desenvolvimento e manutenção de software. Gerencia projetos: realiza o planejamento e controle das atividades que serão desenvolvidas. Levantamento de requisitos: identificação as necessidades e define o escopo de trabalho. Análise: identifica o detalhamento dos requisitos e novas necessidades. Projeto: cria uma solução tecnológica para um sistema considerando suas funções, requisitos e restrições. Implementação: desenvolve os programas na linguagem de programação definida, utilizando os padrões de implementação definidos pela empresa. Teste: verifica e valida os procedimentos desenvolvidos, para garantir a qualidade do software. Implantação: finalizao desenvolvimento aplicando treinamento, realizando a carga dos dados e disponibilizando para uso no usuário. Manutenção: efetiva mudança no software. Qualidade: determina características necessárias para satisfazer a necessidade dos usuários do negócio. ● PRESSMAN, R.G. Engenharia de Software. Rio de Janeiro: McGraw-Hill, 2002. 935p. ● SOMMERVILLE, I.. Software Engineering, 8 ed.-São Paulo: Pearson Addison - Wesley, 2007. Bibliografia Recomendada
Compartilhar