Sie sind auf Seite 1von 4

Processo de desenvolvimento de software

Origem: Wikipdia, a enciclopdia livre.

Um processo de desenvolvimento de software um conjunto de atividades, parcialmente ordenadas, com a


finalidade de obter um produto de software. estudado dentro da rea de Engenharia de Software, sendo
considerado um dos principais mecanismos para se obter software de qualidade e cumprir corretamente os
contratos de desenvolvimento, sendo uma das respostas tcnicas adequadas para resolver a Crise do software.

ndice
1 Histrico
1.1 Anos 70
1.2 Anos 80
1.3 Anos 90
1.4 Anos 2000
2 Abordagens
3 Passos/Atividades Processo
3.1 Anlise Econmica
3.2 Anlise de requisitos de software
3.3 Especificao
3.4 Arquitetura de Software
3.5 Implementao (ou codificao)
3.6 Teste
3.7 Documentao
3.8 Suporte e Treinamento de Software
3.9 Manuteno
4 Processo de meta-modelos
5 Mtodos Formais
6 Ver tambm
7 Referncias

Histrico
Anos 70
Programao estruturada desde 1986
Metodologia de Desenvolvimento de Sistemas (Cap Gemini SDM ou SDM2)

Anos 80

Estrutura de Anlise de Sistemas e Metodologia de Projeto - Structured Systems Analysis and Design
Methodology (SSADM)
Sistema de investigao ou de aprendizagem - Soft systems methodology (SSM)

Anos 90
Programao Orientada a Objetos - Object-oriented programming (OOP)
Desenvolvimento Rpido de Aplicao - Rapid Application Development (RAD), desde 1991
Metodologia de Desenvolvimento de Sistemas Dinmicos - Dynamic Systems Development Method
(DSDM)
Scrum, desde 1995
Team Software Process (TSP), desde 1998
Processo Unificado Rational - Rational Unified Process (RUP)
Programao extrema - Extreme programming, desde 1999

Anos 2000
Processo gil Unificado - Agile Unified Process (AUP)

Abordagens
Modelo em cascata (Waterfall development)
Prototipao (Prototyping)
Desenvolvimento incremental (Incremental development)
Desenvolvimento iterativo e incremental (Iterative and incremental development)
Modelo em espiral (Spiral development)
Desenvolvimento Rpido de Aplicao (Rapid application development - RAD)
Desenvolvimento gil de software (Agile development)
Programar e Arrumar (Code and fix)
Metodologias leves (Lightweight methodologies)
Outras

Passos/Atividades Processo
Anlise Econmica

Visa a estabelecer se o projeto de Software gerar lucro, e se a receita gerada ser o suficiente para cobrir os
custos.

Anlise de requisitos de softwar e

A extrao dos requisitos de um cliente

Especificao

A especificao a tarefa de descrever precisamente o software, preferencialmente de uma forma


matematicamente rigorosa. Na prtica, somente especificaes mais bem sucedidas foram escritas para
aplicaes bem compreendidas e afinadas que j estavam bem desenvolvidas, embora sistemas de software de
misso crtica sejam freqentemente bem especificados antes do desenvolvimento da aplicao. Especificaes
so mais importantes para interfaces externas que devem permanecer estveis.

Arquitetura de Softwar e

A arquitetura de um sistema de software remete a uma representao abstrata daquele sistema. Arquitetura
concernente garan tura tambm direciona as interfaces entre os sistemas de software e outros produtos de
software, como tambm com o hardware bsico ou com o sistema operacional.

Implementao (ou codificao)

A transformao de um projeto para um cdigo deve ser a parte mais evidente do trabalho da engenharia de
software, mas no necessariamente a sua maior poro.
Teste

Teste de partes do software, especialmente onde tenha sido codificado por dois ou mais engenheiros
trabalhando juntos, um papel da engenharia de software. Diversas atividades de testes so executadas a fim de
se validar o produto de software, testando cada funcionalidade de cada mdulo, buscando, levando em
considerao a especificao feita na fase de projeto. Onde o principal resultado o relatrio de testes, que
contm as informaes relevantes sobre erros encontrados no sistema, e seu comportamento em vrios
aspectos.

Documentao

Uma importante tarefa a documentao do projeto interno do software para propsitos de futuras
manutenes e aprimoramentos. As documentaes mais importantes so das interfaces externas.

Suporte e Treinamento de Software

Uma grande percentagem dos projetos de software falham pelo fato de o desenvolvedor no perceber que no
importa quanto tempo a equipe de planejamento e desenvolvimento ir gastar na criao do software se
ningum da organizao ir us-lo. As pessoas ocasionalmente resistem mudana e evitam aventurar-se em
reas pouco familiares. Ento, como parte da fase de desenvolvimento, muito importante o treinamento para
os usurios de software mais entusiasmados, alternando o treinamento entre usurios neutros e usurios
favorveis ao software. Usurios iro ter muitas questes e problemas de software os quais conduziro para a
prxima fase.

Manuteno

A manuteno e melhoria de software lidam com a descoberta de novos problemas e requisitos. Ela pode tomar
mais tempo que o gasto no desenvolvimento inicial do mesmo. No somente pode ser necessrio adicionar
cdigos que combinem com o projeto original, mas determinar como o software trabalhar em algum ponto
depois da manuteno estar completa, pode requerer um significativo esforo por parte de um engenheiro de
software. Cerca de de todos os engenheiros de software trabalham com a manuteno, mas estas estatsticas
podem estar enganadas. Uma pequena parte destes trabalha na correo de erros. A maioria das manutenes
para ampliar os sistemas para novas funcionalidades, as quais, de diversas formas, podem ser consideradas um
novo trabalho. Analogamente, cerca de de todos os engenheiros civis, arquitetos e construtores trabalham
com manuteno de uma forma similar.

Processo de meta-modelos
O processo de desenvolvimento de software tem sido objetivo de vrios padres, que visam a certificao de
empresas como possuidoras de um processo de desenvolvimento, o que garantiria certo grau de confiana aos
seus contratantes.

Alguns padres existentes atualmente:

ISO/IEC 12207
CMMI - Modelo de Maturidade em Capacitao - Integrao (anteriormente CMM)
ISO 9000
ISO/IEC 15504 (anteriormente SPICE)
MR-MPS (http://www.softex.br)
IBM Rational Unified Process

Mtodos Formais
Mtodos formais em cincias da computao e engenharia de software, so tcnicas baseadas em formalismos
matemticos para a especificao, desenvolvimento e verificao dos sistemas de softwares e hardwares.[1] Seu
uso para o desenvolvimento de software e hardware motivado pela expectativa de que, como em outras
disciplinas de engenharia, possam contribuir para a confiabilidade e robustez de um projeto executando anlises
matemticas apropriadas[2]. Entretanto, o alto custo do uso dos mtodos formais faz com que, de modo geral,
sejam usados apenas no desenvolvimento de sistemas de alta-integridade, nos quais h alta probabilidade de as
falhas provocarem perda de vidas ou srio prejuzo.

Ver tambm
Ferramenta CASE
Gerncia de projetos
Desenvolvimento de software
Modelos de processo de software

Referncias
1. Butler, Ricky W. What is Formal Methods?(http://shemesh.larc.nasa.gov/fm/fm-what.html)(em ingls). Consultado
em 26 maro de 2015
2. Holloway, C. Michael. Why Engineers Should Consider Formal Methods(http://klabs.org/richcontent/verification/hol
loway/nasa-97-16dasc-cmh.pdf)(PDF). 16th Digital Avionics Systems Conference (27-30 outubro de 1997) (em ingls)

Obtida de "https://pt.wikipedia.org/w/index.php?
title=Processo_de_desenvolvimento_de_software&oldid=47760066"

Categorias: Processo de desenvolvimento de software Engenharia de software Metodologia


Mtodos formais

Esta pgina foi modificada pela ltima vez (s) 17h13min de 17 de janeiro de 2017.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha Igual
3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais detalhes,
consulte as condies de uso.

Das könnte Ihnen auch gefallen