Transcript Slide 1
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof(a): Rosemary Borges [email protected] Um conjunto completo de atividades necessárias para transformar os requisitos do usuário em um produto de qualidade de software. Um processo define QUEM está fazendo O QUE, QUANDO e COMO para atingir esse objetivo. Gerentes de projeto - Responsável pela gerência ou coordenação das atividades necessárias à construção do sistema. Analistas - Responsável por entender as necessidades do dos clientes e repassar esse entendimento aos desenvolvedores do sistema. Projetistas - Tem como funções especificar soluções para os problemas resultantes da análise. Arquitetos de software - Tem como função elaborar a arquitetura do sistema como um todo. Programadores - Responsável pela implementação do sistema. Clientes - Indivíduo (ou grupo) para o qual o sistema é construído. Também classificados como stakeholders (esses se referem a todos os interessados no sistema). Avaliadores de qualidade - Asseguram a adequação do processo de desenvolvimento e do produto de software sendo desenvolvido aos padrões de qualidade estabelecidos. Método de Engenharia de Software é uma “abordagem estruturada” para o desenvolvimento de software. A escolha do método a ser adotado depende do ambiente de desenvolvimento. Metodologia pode ser entendida como um conjunto de fases, procedimentos, técnicas, regras, ferramentas, documentação, gerenciamento e treinamento para o desenvolvimento de um sistema de informação Objetivam ensinar “como fazer” para construir softwares. Metodologia Estruturada; Metodologia Orientada a Objetos; Metodologia Ágil. A diferença entre as duas metodologias é a vida útil e facilidade de manutenção de projetos. Reutilização de código; Utilização de UML. Estruturada: Defini-se dados e uma posterior seqüência de eventos. OO: Defini-se estruturas abstratas que incorporam dados e métodos. Metodologia Estruturada: Utiliza como ferramental Dicionário de Dados, Diagrama de Fluxo de Dados (DFD), e o Modelo Entidade Relacionamento (MER). Metodologias de Desenvolvimento Ágil: Existem varias metodologias que podem ser consideradas como abordagens ágeis: XP, ASD, DSDM, Scrum, Crystal, FDD, AM entre outras. Metodologia Orientada a Objetos: Como exemplo temos o RUP. Existem vários métodos nessa área, porém poucas metodologias. Método: “caminho para se chegar a um fim”. Metodologia: envolve princípios filosóficos que guiam uma gama de métodos que utilizam ferramentas e práticas diferenciadas para realizar algo. As ferramentas de Engenharia de Software são “utensílios” que fornecem apoio automatizado, ou semi-automatizado, para o processo e para os métodos. As ferramentas “engenharia de software apoiada por computador” são chamadas de ferramentas CASE. Possibilita apoiar as atividades de processo de software. Adicionalmente podem incluir um gerador de códigos. Upper-CASE: apoio à análise e ao projeto; Lower-CASE: projetadas para dar apoio à implementação e aos testes, como depuradores, sistemas de análise de programa, geradores de casos de testes e editores de programas Rational Rose da IBM: Usa a abordagem da orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML (Unified Modeling Language) para ilustrar os processos em ação. Desenvolvido e mantido pela Rational Software (Divisão IBM). Sistemas concebidos por esse processo são desenvolvidos com uma linguagem de programação orientada a objetos, como Java ou C++. Tem como meta garantir a produção de software de alta qualidade que atenda às necessidades dos usuários dentro de um cronograma e de um orçamento previsíveis Desenvolvimento Iterativo e Incremental Gerência de requisitos Uso de arquitetura baseada em componentes Modelagem visual Controle contínuo da qualidade Gerência de mudanças As atividades do RUP são divididas em: Workflow de Processo Workflow de Suporte PODCAST sobre METODOLOGIAS: http://www.improveit.com.br/podcasts/quemse-importa-com-metodologia.mp3