terça-feira, 7 de outubro de 2008

RUP

O RUP (Rational Unified Process) é uma maneira de desenvolvimento de software, é iterativo, centrada a arquitetura e guiada a processos de uso. Em geral é um processo da engenharia de software bem definido e bem estruturado, ele define claramente quem é responsavel pelo que, como as coisas devem ser feitas e quando fazê-las, o RUP também prevê uma estrutura bem definida para o ciclo de vida de um projeto, articulando claramente os marcos essenciais e pontos de decisão. o RUP também é o promeiro processo de desenvolvimento a explorar integralmente as capacidades do padrão UML e baseia-se nas praticas comuns aos projeto de software com mais alto ROI do mercado.

Grafico do RUP



Vantagens do RUP

O RUP é um processo de engenharia de software que aborda todo o ciclo de vida de um projeto e guia as equipes de desenvolvimento no gerenciamento e nas atividades práticas dessa área. Suas principais vantagens são:

► Os maiores riscos do projeto sao eliminados mais cedo

► O desenvolvimento é iterativo e incremental, adaptando contantemente os rumos do projeto às mudanças das necessidades do cliente e dos usuários

► O sistema desenvolvido com o RUP passa a tolerar melhor mudanças de requisitos e alterações no produto

► Os testes sao também mais abrangentes, o que resulta em um sistema mais sólido e de maior qualidade

► Com o RUP, o sistema como um todo tende a apresentar maior confiabilidade e refinamento

► Componentes desevolvidos ao longo de um projeto podem ser reutilizados em outros projetos, diminuindo o tempo de desenvolvimento e, conseqüentemente, os custos para o cliente

Principais Característica RUP

O desenvolvimento de sistemas seguindo o RUP é
Iterativo e incremental
Guiado por casos de uso (use cases)
Baseado na arquitetura do sistema

terça-feira, 9 de setembro de 2008

O Modelo Espiral

O ciclo de vida espiral foi proposto por Boehm em 1988, é um paradigma muito importante porque em uma das suas fases ele se depara com um processo muito importante da engenharia de software, “analise de risco”, onde nos outros modelos não é abordado com tanta ênfase. A identificação e o gerenciamento de riscos é hoje uma atividade importantíssima no desenvolvimento de software devido à imaturidade da área e à falta de conhecimento, técnicas e ferramentas adequadas.
Este paradigma é baseado nos ciclo de vida prótotipação e cascata, com isso evita os respectivos erros que eram cometidos nos mesmos.
Neste modelo uma das características importante é a interação do cliente com o processo do ciclo, uma vez que o cliente está envolvido no processo ele tem a sensação que ele construiu algo, e não pode culpar totalmente os analistas e desenvolvedores se houver uma eventualidade após o sistema pronto.

Analise de Risco
Este processo indentifica os possíveis riscos, ele pode ser classificado como risco que afeta o plano do projeto (risco de projeto), a qualidade (risco técnico) ou a viabilidade do projeto (risco de negócio).

Vantagens do Modelo Espiral
-Modelo evolutivo possibilita uma maior integração entre as fases e facilita a depuração e a manutenção do sistema.
-Permite que o projetista e cliente possa entender e reagir aos riscos em cada etapa evolutiva.

Desvantagens do Modelo
-Avaliação dos riscos exige muita experiência.
-O modelo érelativamente novo e não tem sido amplamente utilizado.

A Escolha
Não descartando a importância dos outros paradigmas, mas se fizermos uma analise dos processos envolvidos em cada ciclo, obtém-se um resultado mais satisfatório neste modelo (Espiral). Vale ressaltar que este paradigma tem um maior aproveitamento em um projeto extenso e com muitas variáveis envolvidas onde os riscos são constantes e imprevisíveis.

terça-feira, 26 de agosto de 2008

Conceito

Segundo Friedrich Ludwig Bauer,(1969,wikipedia.org) "Engenharia de software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais". O próprio significado de engenharia já traz os conceitos de criação, construção, análise, desenvolvimento e manutenção.
Sua função é estabelecer uma sistemática abordagem de desenvolvimento, utilizando corretamente ferramentas e técnicas adequadas, dependendo do problema a ser abordado, considerando limitações e recursos disponíveis.

Historico da Engenharia de Software

A engenharia de software foi criada basicamente em 1968 em uma conferência da OTAN em Garmisch, na Alemanha com o objetivo de estabelecer praticas mais maduras no desenvolvimento de sofware. A necessidade de se realizar essa conferencia deu-se pelas dificuldades enfrentadas no desenvolvimento de softwares, uma vez que os mesmos nunca ficavam prontos dentro do prazo e do orçamento, e, além disso, quase sempre apresentavam problemas.