H202786 Metodologia e Projetos de Software MPS

H202786 Metodologia e Projetos de Software MPS

(Parte 1 de 8)

H202786 Metodologia e Projetos de Softwar

Metodologia e Projeto de Software

Caros alunos(as),

Já faz alguns anos que tenho visto uma verdadeira desenvolvimento de software utilizados pelas organizações: necessidades incompreendidas, especificações nebulosas, conflitos de espreita, fazem parte de um cenário nada animador. Muitas das organizações que desenvolve software (talvez a maioria) não utilizam nenhum tipo de método formal existente no mercado, sejam burocráticos demais ou genéricos demais. Atu softwares são desenvolvidos em ambientes que envolvem um alto grau de complexidade e, normalmente, tratam uma gama muito grande de variáveis que são intervenientes nos processos automatizados e, portanto, fator fundamental no planejamento, como integrante da aplicação de um modelo de desenvolvimento de software. Os paradigmas da engenharia de software, aliados aos modelos de governança em TI, proporcionam métodos e técnicas que mostram exatamente como se deve proceder no desenvolvimento do software. Por método pode percorrido em etapas, no qual se aplica um conjunto de técnicas (formas de se caminhar pelo caminho), o que permitirá a construção de um software eficiente e seguro” (TONSIG, 2003).

Nesta disciplina, analisaremos os conceitos de metodologia de desenvolvimento de softwares: as diferenças entre metodologia, processos, boas práticas e frameworks inseridos no mercado de TI hoje. Além disso, veremos os benefícios e as dificuldades de implantação de uma meto melhores práticas de governança em TI para planejar, construir, implantar, entregar e controlar o software. Por último, estudá quando iremos nos debruçar sobre as bo softwares.

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1

Metodologia e Projeto de Software

Já faz alguns anos que tenho visto uma verdadeira entropia dos métodos de desenvolvimento de software utilizados pelas organizações: necessidades incompreendidas, especificações nebulosas, conflitos de objetivos e mudanças à espreita, fazem parte de um cenário nada animador. Muitas das organizações que desenvolve software (talvez a maioria) não utilizam nenhum tipo de método formal existente no mercado, sejam burocráticos demais ou genéricos demais. Atu softwares são desenvolvidos em ambientes que envolvem um alto grau de complexidade e, normalmente, tratam uma gama muito grande de variáveis que são intervenientes nos processos automatizados e, portanto, fator fundamental no planejamento, como integrante da aplicação de um modelo de desenvolvimento de software. Os paradigmas da engenharia de software, aliados aos modelos de governança em TI, proporcionam métodos e técnicas que mostram exatamente como se deve proceder no software. Por método pode-se entender “um caminho a ser percorrido em etapas, no qual se aplica um conjunto de técnicas (formas de se caminhar pelo caminho), o que permitirá a construção de um software eficiente e seguro” analisaremos os conceitos de metodologia de desenvolvimento de softwares: as diferenças entre metodologia, processos, boas práticas e frameworks inseridos no mercado de TI hoje. Além disso, veremos os benefícios e as dificuldades de implantação de uma metodologia. Descobriremos ainda como podemos adotar as melhores práticas de governança em TI para planejar, construir, implantar, entregar e controlar o software. Por último, estudá-lo-emos como um produto de um projeto, quando iremos nos debruçar sobre as boas práticas de gerenciamento de projetos de

2 U1Página 1

dos métodos de desenvolvimento de software utilizados pelas organizações: necessidades objetivos e mudanças à espreita, fazem parte de um cenário nada animador. Muitas das organizações que desenvolve software (talvez a maioria) não utilizam nenhum tipo de método formal existente no mercado, sejam burocráticos demais ou genéricos demais. Atualmente os softwares são desenvolvidos em ambientes que envolvem um alto grau de complexidade e, normalmente, tratam uma gama muito grande de variáveis que são intervenientes nos processos automatizados e, portanto, fator fundamental no planejamento, como parte integrante da aplicação de um modelo de desenvolvimento de software. Os paradigmas da engenharia de software, aliados aos modelos de governança em TI, proporcionam métodos e técnicas que mostram exatamente como se deve proceder no se entender “um caminho a ser percorrido em etapas, no qual se aplica um conjunto de técnicas (formas de se caminhar pelo caminho), o que permitirá a construção de um software eficiente e seguro” analisaremos os conceitos de metodologia de desenvolvimento de softwares: as diferenças entre metodologia, processos, boas práticas e frameworks inseridos no mercado de TI hoje. Além disso, veremos os benefícios e as dificuldades dologia. Descobriremos ainda como podemos adotar as melhores práticas de governança em TI para planejar, construir, implantar, entregar e emos como um produto de um projeto, as práticas de gerenciamento de projetos de

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 2

Bem-Vindo ao curso de

H202786 Metodologia e Projetos de Software (MPS) – 04 Créditos – 72H 184 – Páginas

Conteúdo Programático UNIDADE I: Metodologia de Desenvolvimento de software

• Tema I

O surgimento das metodologias de desenvolvimento de software

• Tema I

Conceitos envolvidos em uma metodologia de desenvolvimento de software

• Tema I

Metodologia de desenvolvimento como fator de qualidade e produtividade

• Tema IV Cenário atual dos modelos de desenvolvimento de software

UNIDADE I: Projeto de Software

• Tema I

Software como produto de um projeto

• Tema I

Processo de gerência de projeto de software

• Tema I

Iniciando um projeto de software

• Tema IV

Plano de projeto eto

• Tema V SCRUM – modelo de gerenciamento de projeto ágil

Avaliações

No processo de avaliação serão realizadas provas escritas com perguntas objetivas contextualizadas, atividades, dinâmicas de grupo e atividades de pesquisas presenciais e on-line.

As avaliações deverão ocorrer de modo presencial, através de provas escritas com questões objetivas de acordo com o calendário da disciplina, disponível no quadro de avisos e durante o processo; através de atividades regulares indicadas pelo professortutor, como atividades de dinâmica de grupos, objetos do estudo, atividades de pesquisas, relatórios e fóruns de discussão. A pontuação das atividades obedece ao seguinte critério:

• 20% - Interesse, participação e cumprimento de tarefas (encontros presenciais, atividades teóricas, atividades de pesquisas, fóruns, chats e exercícios); • 80% - Prova objetiva contextualizada.

Metodologia de ensino

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 3

A metodologia a ser utilizada deverá contribuir para que o aluno tenha domínio de conteúdos apresentados na ementa, buscando a relação teoria-prática no processo de formação acadêmica e profissional.

As atividades didático/pedagógicas serão desenvolvidas através do auto-estudo, dos encontros presenciais organizados em grupos de estudos, debates, pesquisa bibliográfica e atividades de pesquisa. Os recursos didáticos e tecnológicos para tais fins compreendem: ambiente virtual de aprendizagem – material instrucional on-line, projetor, vídeo, plantões de tutoria on-line através do correio eletrônico, do DDG 0800 279 2100, entre outros, conforme as necessidades e possibilidades de ampliar a interação e diminuir a tendência ao isolamento.

Dúvidas Você tem alguma dúvida sobre o que acabamos de informar?

Para tirar suas dúvidas sobre o conteúdo, a tutoria, as avaliações, os encontros presenciais ou o suporte técnico sobre como utilizar a ferramenta da Unit Virtual, é importante que envie um e-mail para infoproead@unit.br telefone para o número 0800 729 2100 ou envie correspondência via fax (79) 3218-20 ou correio para o endereço:

PROEAD/Campus Aracaju Farolândia

Av. Murilo Dantas, 300 Farolândia CEP 49032-490 - Aracaju/SE

Se a dúvida for sobre o conteúdo, lembre-se de fazer referência ao ponto da aula que trata do assunto.

Fiquei com uma dúvida na Unidade 01/Tema 01/página 02, na frase “”, qual a

Por exemplo: dúvida?

No caso dos exercícios, também fazer referência à matéria, tema e página.

Isso para que possamos localizar e agilizar o atendimento, podendo, assim, solucionar suas dúvidas.

Então, bem-vindo à disciplina Metodologia e Projeto de Software.

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 4

Bibliografia Básica

• BECK, Kent. Programação extrema explicada: acolha as mudanças. Porto

• CAVALIERI; DINSMORE. Gerenciamento de Projetos. 1. ed. Rio de Janeiro:

Qualitymark, 2003.

• TONSIG, Sérgio. Engenharia de software, análise e projeto de sistemas. São Paulo: Futura, 2003.

Complementar

• SILVA FILHO, Antonio Mendes da. Plano de Projeto: um “mapa” essencial à Gestão de

Projetos de Software. Revista Engenharia de Software Magazine, São Paulo, ano I, n. 03, mensal, 2008.

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 5

Metodologia de Desenvolvimento de Software

Nessa primeira unidade, iremos entender quais os fatos que contribuíram para o surgimento das Metodologias de Desenvolvimento de Software (MDS).

Além disso, analisaremos os benefícios das MDSs para as organizações que almejam produzir software de melhor qualidade.

Vamos entender também os conceitos MDS, compreendendo sua relação com os modelos propostos no mercado e os processos que fazem parte de uma MDS.

Por fim, iremos estudar o cenário atual dos modelos de desenvolvimento de software, focando essencialmente nos modelos ágeis, que é hoje em dia o caminho seguido pelos modelos mais utilizados no mundo.

Competências e Habilidades

• Fornecer ao aluno uma melhor percepção sobre os elementos das metodologias de desenvolvimento de software emergentes no mercado.

• Criar um entendimento para o aluno sobre os componentes e as características das metodologias de desenvolvimento de software, compreendendo os benefícios de sua adoção.

O que iremos aprender

• Compreender como surgiram as metodologias de desenvolvimento de software; • Compreender qual modelo de desenvolvimento de software que melhor se adapta às exigências de uma empresa de acordo com suas necessidades e recursos disponíveis;

• Identificar quais os papéis e os processos inseridos nas metodologias emergentes do mercado.

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 6

TEMA 01

O Surgimento das Metodologias de Desenvolvimento de Software

Há vários métodos para desenvolver um software, sempre decorrentes da criatividade e observação de melhores práticas do mercado para tornar o processo mais eficaz. Mas por que utilizar métodos? Uma resposta básica seria o estabelecimento de um padrão de desenvolvimento de software que proporcione um maior controle do processo como um todo, contribuindo assim para uma melhor qualidade do software, menor esforço de aprendizado para os novos membros da equipe e gerenciamento de riscos mais eficiente.

O fato de se utilizar um método, qualquer que seja, traz vantagens concretas para organização, esses benefícios podem contribuir para um trabalho sistematizado, documentação padronizada, melhor controle do desenvolvimento, melhor gerenciamento das mudanças, padronização do código, entre outros que iremos analisar no decorrer dessa unidade.

Assim como um engenheiro civil possui procedimentos a serem seguidos diante de diversas situações quanto a sua atividade profissional, o mesmo se aplica ao profissional de desenvolvimento de software. Se tais procedimentos não existirem, a construção de software estará legada ao caos. Portanto, um método visa a proporcionar procedimentos a serem seguidos em cada etapa do desenvolvimento do software (TONSIG, 2003). Precisamos levar em consideração que a engenharia civil é uma atividade milenar diferentemente da engenharia de software, que surgiu há cerca de 40 anos.

Vamos analisar agora os fatos que contribuíram para o surgimento das metodologias. Década de 1960

• Iniciou-se a aplicação dos computadores nas indústrias, saindo do âmbito das áreas militares e acadêmicas e aumentando consideravelmente a demanda de software.

• Surgiram as primeiras linguagens de desenvolvimento, uma das mais famosas é a COBOL.

• Informalidade no desenvolvimento do software caracterizava a “obra de arte” de quem o construía. • Surgimento dos projetos tidos como fracassados com custo altíssimo de manutenção.

• Em 1968 estabeleceu-se a “crise do software”, que até hoje ronda a cabeça dos metodologistas.

• Também em 1968 foi realizada em Garmish, Alemanha, uma conferência internacional numa tentativa de encontrar caminhos que viessem a melhorar o desenvolvimento de software.

• O surgimento do Modelo Estruturado contemplava um desenvolvimento que inicialmente abordava os processos existentes.

Década de 1970

• Maturidade dos sistemas gerenciadores de banco de dados (SGDB), surgem os bancos de dados relacionais.

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 7

• Em 1976, surge o aparato de singular representatividade para um modelo de dados, o diagrama entidade-relacionamento (DER). • Foco na modelagem de dados.

• Propagação das ferramentas CASE (LOWER-CASE), que abordaram apenas o gerenciamento da modelagem de dados.

Década de 1980

• Em 1984, surge a proposta do método da “análise essencial”, por Sthepelm

Mcmenamim e John Palmer. • Foco nos processo do sistema de informação e em quem os utiliza: os usuários.

• Responder a estímulos de eventos do negócio.

• Os dados agora são conseqüência ou necessidade decorrente da existência dos processos. • Surgimento das primeiras propostas de Análise Orientada a Objetos.

Década de 1990

• Surgimento de vários métodos orientado a objetos, dificultando assim estabelecer um padrão único.

• Em 1997, por iniciativa da Object Management Group (OMG), foi proposta uma seleção para a escolha de um método que viria a ser adotado como um padrão para o mercado. O vencedor foi o da empresa Rational Corporation, que recebeu o nome de Unified Modeling Language (UML).

• Surgimento dos paradigmas da engenharia de software, Modelo Clássico e Incremental.

Crise de Software

Durante essas quatro décadas e até os dias de hoje, os métodos de desenvolvimento de software evoluíram muito. Todavia, as estatísticas não são nada animadoras, pois ainda vivemos a “Crise de Software” (CHAOS), parece até que a coisa está correndo na contramão do imaginado, como mostra o gráfico abaixo.

O problema é que falar sobre “Crise de Software” está na moda desde a década de 1960. Quase 50 anos se passaram e ainda continuamos em busca de sua solução. Segundo o

Gestão de Tecnologia da Informação

H202786 Metodologia e Projetos de Software (MPS)2008-2 U1 Página 8

metodologista Grady Booch, "uma doença que dure tanto quanto esta, francamente, deveria ser chamada de normalidade." (TONSIG, 2003).

A busca da maturidade dos métodos é o foco principal dos metodologistas que, na verdade, almejam minimizar e gerenciar os riscos inerentes a um projeto de software.

Mas então qual será o caminho a seguir? Essa seja talvez a pergunta que muitos gerentes de projeto se fazem quando o assunto é desenvolvimento de software. Temos hoje uma infinidade de conhecimento para tentar buscar uma melhor harmonia e melhora no processo de desenvolvimento:

• Diversos modelos de processos de desenvolvimento de software, como

Microsoft Solutions Framework (MSF), Extreme Programming (XP), Rational Unified Process (RUP) etc.;

(Parte 1 de 8)

Comentários