Você está na página 1de 9

Metodologia de Desenvolvimento de Sistemas

Aula 1

Ementa

Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como


os mtodos, ferramentas e procedimentos da engenharia de software, podem
ajudar as organizaes a desenvolver sistemas de acordo com os custos,
prazos, recursos e a qualidade planejada.

Engenharia de software uma rea da computao voltada especificao,


desenvolvimento e manuteno de sistemas de software, com aplicao de
tecnologias e prticas de gerncia de projetos e outras disciplinas, visando
organizao, produtividade e qualidade.

Atualmente, essas tecnologias e prticas englobam linguagens de


programao, banco de dados, ferramentas, plataformas, bibliotecas, padres,
processos e Qualidade de Software.

Os fundamentos cientficos para a engenharia de software envolvem o uso de


modelos abstratos e precisos que permitem ao engenheiro especificar, projetar,
implementar e manter sistemas de software, avaliando e garantindo suas
qualidades.

No deve ser confundida com engenharia de computao, engenharia


informtica ou cincia da computao.

Objetivos

- Apresentar conceitos da Engenharia de Software.

- Discutir a importncia da Engenharia de Software no processo de


desenvolvimento de sistemas.

- Estudar os principais mtodos, ferramentas, procedimentos, classificaes e


tipos de sistemas de informao.

- Discutir os principais aspectos que levam as organizaes a utilizar as


melhores prticas da Engenharia de Software.

Metodologia de Desenvolvimento de Sistemas 1


- Discutir aspectos que levam a altos custos, falhas de estimativas de prazos,
baixa produtividade dos desenvolvedores em relao a demanda e insatisfao
dos usurios.

- Capacitar os alunos a identificar problemas, determinar processos, elaborar


projetos e atividades do pessoal no desenvolvimento ou manuteno do
software.

Contedo Programtico

Caracterstica bsica: curso essencialmente terico; conceitos.

Sistema de avaliao.

Conceitos introdutrios: Processo, Mtodos e Ferramentas.

Engenharia de Software. Engenharia de Sistemas. Desafios, Crises e Mitos do


Software.

Engenharia de processo de negcio. Engenharia de produto.

Paradigmas da Engenharia de Software. O processo de software. Modelagem


do Processo e Ciclo de Vida.

Ferramentas de Modelagem e Construo de Sistemas - Ferramenta CASE.

Modelagem de processos de negcio: conceitos, metodologias e ferramentas.

Requisitos de Software: Conceitos, Requisitos Funcionais e No Funcionais.

Processos de Engenharia de Requisitos. Elicitao, Anlise, Especificao,


Modelagem e Validao.

Especificao de Requisitos de Software.

Processo de desenvolvimento de sistemas, baseado no ciclo de vida do


software.

Sistemas legados. Mudanas em Software. Evoluo da Arquitetura.


Manuteno: fundamentos, tipos de manuteno, procedimentos, tcnicas e
ferramentas.

Reengenharia de Software. Engenharia Reversa. Reengenharia de Dados.

Gerenciamento de Configurao. Gerenciamento de Mudanas.


Gerenciamento de Verses e Releases.

Metodologia de Desenvolvimento de Sistemas 2


Relao com Gesto de Projetos

Aula 2

Falta de tempo desculpa daqueles que perdem tempo por falta de mtodos.

Albert Einstein

Processo, Mtodos e Ferramentas

Processo:

conjunto sequencial e peculiar de aes que visa a transformar,


repetida e sistematicamente, determinadas entradas (insumos)
em uma certa sada (produto).

Pode ter vrias instncias (repeties, concorrentes ou no).

Quando gerenciado, tem indicadores (KPIs) pelos quais se mede


sua performance. Exemplos. De nada valem se no puderem ser
interpretados. muito importante interpretar a tendncia. Aes
para se chegar meta. Outra palavra para indicador mtrica.

Deve ter um Dono, ou aquele que gerencia e responde pela


performance do processo.

Processos de Negcio devem ser alterados por um Projeto.

Projetos devem ser compostos por Processos de Projeto.

Projetos e Processos convivem como gua e leo.

Metodologia de Desenvolvimento de Sistemas 3


Exerccio: para um determinado processo X, sabe-se que tem apresentado os
seguintes pontos (ms, resultado em %) nos ltimos 5 meses: (3, 75); (4, 70);
(5, 76); (6, 80); (7,85). Pergunta-se: se voc for o Dono do Processo e sua
meta para este Processo for 90%, o que voc deve fazer?

Resumo sobre Processos (o que voc tem que saber): indicadores (KPIs),
interpretao de resultados, avaliao de tendncia, metas.

Mtodo:

Diferenciao entre Metodologia e Mtodo:

A Metodologia o estudo dos mtodos. Portanto, quando falamos em


Metodologia de Desenvolvimento de Sistemas, estamos falando em estudar
diferentes Mtodos de Desenvolvimento de Sistemas.

Um Mtodo de Desenvolvimento de Sistemas , portanto, um Processo padro


para desenvolvimento de sistemas de informao homologado. Isto significa
que se pode estabelecer indicadores, ou seja, uma vez estabelecido o mtodo,
podemos avaliar sua performance. Outra consequncia, que se o Mtodo
tiver etapas demais e artefatos demais, sua performance cair.

Por exemplo, o Mtodo X pode exigir o desenvolvimento da Solicitao de


Projeto (SP) antes da Lista de Requisitos Alocados (LRA). J o Mtodo Y
pode estabelecer que a SP seja facultativa e que poderamos ir direto para a
LRA.

Exerccio: voc trabalha em uma empresa onde os sistemas de TI so muito


bem conhecidos (o ambiente estvel) e os projetos devem ser entregues com
muita velocidade. Que etapas voc acha que so importantes em um Mtodo
de Desenvolvimento de Sistemas nesta empresa? Dica: no pense em
documentos, pense em coisas que devem ser feitas.

Resposta: Concepo, Levantamento de Requisitos, Desenvolvimento (inclui o


Detalhamento Tcnico), Entrega (Entrega inclui Testes e Homologao).

Veja exemplo em: http://www.proderj.rj.gov.br/minuta.asp

Ferramenta:

Definio Geral:

um utenslio, dispositivo, ou mecanismo fsico ou intelectual utilizado por


trabalhadores das mais diversas reas para realizar alguma tarefa.
Metodologia de Desenvolvimento de Sistemas 4
Definio para a MDS:

um utenslio ou mecanismo intelectual utilizado por desenvolvedores de


sistemas para realizar uma tarefa especfica.

bom se utilizar uma ferramenta?

O Word pode ser considerado uma ferramenta para MDS?

Portanto, para a MDS, a ferramenta tambm um dispositivo que fornece uma


vantagem mecnica ou mental para facilitar a realizao de tarefas diversas.

A ferramenta traz eficcia, eficincia ou efetividade?

No mercado pode-se encontrar, por exemplo: Ferramenta de Apoio ao


Processo de Desenvolvimento de Sistemas.

O profissional especialista neste tipo de ferramenta conhecido no mercado


como Tecnlogo em anlise e desenvolvimento de sistemas.

Exemplo de ferramenta: O Controla. Segundo o site, para pequenas


empresas e pequeno grupo de usurios. Qual a sua opinio?

O Controla oferece importantes recursos. Os mais importantes so


relacionados a seguir:

Gerenciamento de Requisitos;

Gerenciamento de Casos de Uso;

Gerenciamento de Casos de Teste e Erros;

Planejamento de Liberaes;

Gerenciamento de Implementaes;

Controle de Dependncia entre implementaes;

Matriz de Rastreabilidade (Traceability Matrix):

Rastreabilidade dos requisitos;

Rastreabilidade de projeto;

Casos de Uso X Implementaes;

Casos de Uso X Casos de Teste;

Casos de Teste X Erros;


Metodologia de Desenvolvimento de Sistemas 5
Implementaes X Erros;

Liberaes X Casos de Uso;

Liberaes X Casos de Teste;

Erros X Liberaes;

Registro de Mtricas para todos os artefatos;

Ferramenta de estimativa de tamanho de software por Pontos de Casos de


Uso;

Ferramenta para priorizao de Requisitos;

Emisso de documentos:

Documento de Plano de Projeto;

Documento de Casos de Uso;

Documento de Especificao de Requisitos;

Exportao de dados;

Fonte:

http://www.linhadecodigo.com.br/artigo/784/controla-ferramenta-de-apoio-ao-
processo-de-desenvolvimento-de-software-em-pequenas-empresas.aspx

Aula 2

Nosso curso est alinhado com a Engenharia de Software. No confundir com


Engenharia de Sistemas ESist. A ESist extremamente complexa e ramo
da Engenharia que foca no desenvolvimento e organizao de sistemas
artificiais complexos. Pode-se dizer que a Engenharia de Software faz parte da
ESist.

Crise

A crise do software, termo usado nos anos 70, se referia s dificuldades do


desenvolvimento de software na poca. Por haver um rpido crescimento da
demanda por software, imaginava-se que com toda a complexidade no
desenvolvimento, haveria uma forte crise.

Metodologia de Desenvolvimento de Sistemas 6


Com a inexistncia da Engenharia de Software nessa poca, no havia
tcnicas estabelecidas para o desenvolvimento de sistemas que funcionassem
adequadamente ou que pudessem ser validadas.
Alguns dos tpicos problemas que essa nova disciplina enfrentou foram:

Identificar adequadamente os requisitos do Sistema, ou seja, saber o que o


software deve fazer;
Que ferramentas, linguagem, sistema operacional usar;
Como diminuir os tempos e custos de desenvolvimento;
Prever falhas antes da entrega final;
Como fazer manuteno e controlar verses;
Dificuldades de prever o progresso durante o desenvolvimento;
Inexistncia de histrico, ou documentao, no desenvolvimento de Sistemas;
Comunicao com os usurios precria;
Conceitos quantitativos inexistentes tais como confiabilidade, qualidade e
reusabilidade;
Manuteno, no software existente, com difcil execuo.

Desafios:

Um dos maiores desafios, hoje, das reas de Informtica e de T.I. (Tecnologia


da Informao) o Desenvolvimento de Software de forma rpida, com
qualidade, e com custos cada vez menores. Em outras palavras: eficincia com
eficcia, ou seja, efetividade.

A Engenharia de Software constituda de Mtodos e Ferramentas que


permitem ao profissional especificar, projetar, implementar e manter Sistemas,
avaliando e garantindo a qualidade especificada pelos usurios.

A Engenharia de Software basicamente tenta apresentar processos,


ferramentas e mtodos que permitam desenvolver de forma racional e
controlvel um Sistema Computacional. Todo o foco a Qualidade, utilizando
um mtodo eficiente e eficaz e o uso de ferramentas adequadas.

Atualmente os principais desafios da Engenharia de Software, segundo


Sommerville (ver bibliografia bsica), so:

O desafio do legado: ainda os grandes sistemas de software existentes foram


desenvolvidos no passado, e com importantes funes corporativas. O desafio
fazer a manuteno e atualizao desses softwares a custos baixos e com
qualidade.
O desafio da heterogeneidade: os sistemas existem em ambientes distribudos
por redes de diferentes tipos de computadores e sistemas de apoio. O desafio
desenvolver tcnicas para construir softwares flexveis para lidar com a
heterogeneidade.

Metodologia de Desenvolvimento de Sistemas 7


O desafio do fornecimento: nos dias atuais existe uma demanda enorme de
sistemas que sejam desenvolvidos no menor tempo possvel e com facilidade
de adaptao. O desafio fornecer sistemas cada vez maiores e complexos
com a qualidade desejada, e em curto espao de tempo. Em geral h mais
projetos em uma empresa do que sua capacidade em entrega-los.

Mitos

J temos um manual repleto de padres e procedimentos para a construo de


software. Isso j suficiente para o pessoal do desenvolvimento.

Meu pessoal tem ferramentas de ltima gerao, afinal de contas compramos


os mais novos computadores.

Se ns estamos atrasados nos prazos, podemos adicionar mais


programadores e tirar o atraso. Efeito IBM.

Uma declarao geral dos objetivos suficiente para se comear a escrever


programas e, portanto, podemos preencher os detalhes mais tarde.

Os requisitos de projeto modificam-se continuamente, mas as mudanas


podem ser facilmente acomodadas, porque o software flexvel. Como se
comporta a curva de momento da alterao x custo da alterao?

Assim que escrevermos o programa e o colocarmos em funcionamento, nosso


trabalho estar completo. O que vem depois?

Enquanto o programa no estiver funcionando, eu no terei realmente


nenhuma maneira de avaliar sua qualidade. Ou seja, testar fundamental. No
entanto, mesmo assim, que problema pode ocorrer?

A nica coisa a ser entregue em um projeto bem-sucedido o programa


funcionando. Que mais falta?

Caractersticas do Software

- desenvolvido/projetado por engenharia, no fabricado;


- No se desgasta, mas deteriora. A taxa de falhas do hardware tende a se
estabilizar, enquanto que a de software tende a aumentar;
- Ainda hoje a maioria feita sob encomenda em vez de ser montada a partir
de componentes.

Trabalho do 1 Bimestre

Pesquisa: o que o SWEBOK e qual sua relao com o PMBOK.

Metodologia de Desenvolvimento de Sistemas 8


Requisitos do trabalho. Inicie pela definio. Sua resposta deve citar todas as
reas de conhecimento de ambas as colees de boas prticas e tentar fazer
um relacionamento entre elas. Elaborar uma linha do tempo para mostrar o
relacionamento.

Metodologia de Desenvolvimento de Sistemas 9

Você também pode gostar