A Engenharia de Software especifica, desenvolve e mantém sistemas de software, seguindo especificações do cliente. Utiliza modelos abstratos para especificar, projetar, implementar e garantir a qualidade do sistema. Um processo de software inclui especificação, desenvolvimento, validação e evolução do software. Existem modelos como cascata, evolucionário e espiral. A engenharia de requisitos produz documentos de requisitos por meio de estudos de viabilidade, elicitação, especificação e validação.
A Engenharia de Software especifica, desenvolve e mantém sistemas de software, seguindo especificações do cliente. Utiliza modelos abstratos para especificar, projetar, implementar e garantir a qualidade do sistema. Um processo de software inclui especificação, desenvolvimento, validação e evolução do software. Existem modelos como cascata, evolucionário e espiral. A engenharia de requisitos produz documentos de requisitos por meio de estudos de viabilidade, elicitação, especificação e validação.
A Engenharia de Software especifica, desenvolve e mantém sistemas de software, seguindo especificações do cliente. Utiliza modelos abstratos para especificar, projetar, implementar e garantir a qualidade do sistema. Um processo de software inclui especificação, desenvolvimento, validação e evolução do software. Existem modelos como cascata, evolucionário e espiral. A engenharia de requisitos produz documentos de requisitos por meio de estudos de viabilidade, elicitação, especificação e validação.
A Engenharia de Software uma rea da computao voltada especificao,
desenvolvimento e manuteno de sistemas de software, em relao a todos os aspectos da produo de software. ela que ir dar os caminhos necessrios para o engenheiro de sistemas trilhar, seguindo especificaes vindas do cliente, e tambm as normas e bons costumes que a mesma emprega como modelos de sistemas.
Os fundamentos da Engenharia de Software envolvem o uso de modelos
abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter o sistema de software, avaliando e dando garantia de sua qualidade.
Em resumo, a Engenharia de Software uma matria que serve de base para
o comeo da criao de um sistema, sendo este qualquer que seja para qualquer tipo de cliente. Mais a frente veremos os exemplos de modelos de software e como cada um deles ajuda na iniciao de um projeto de software.
Processo de Software e seus Modelos
Um processo de software , basicamente, um conjunto de atividades cuja meta o desenvolvimento ou evoluo de software, ou seja, uma sequncia coerente de prticas que objetiva o desenvolvimento ou evoluo de sistemas de software. A atividade genrica que devem ser seguidas em todos os processos inicia de fabricao de um software so:
Especificao: o que o sistema deve fazer e suas restries de
desenvolvimento.
Desenvolvimento: produo do sistema de software.
Validao: verificao de que o software o que o cliente deseja.
Evoluo: mudana do software em resposta s demandas de
mudana.
J os modelos de processo de desenvolvimento de software, que so vistos
como representaes ou abstraes dos objetos e atividades envolvidas no processo de software, possuem os respectivos tipos: Sequencial ou Cascata: o modelo que gerencia as fases de produo do software distintamente separadas (especificao dos requisitos, levantamento do projeto e desenvolvimento do sistema).
Evolucional ou Prototipao: o modelo especfico que trabalha com
a especificao de requisitos, levantamento do projeto e desenvolvimento do sistema baseado em prottipos do sistema.
Espiral: modelo que representado como uma espiral, com as fases de
desenvolvimento do software sendo independentes uma das outras, sem ter uma sequncia correta de etapas a serem seguidas.
Resumidamente, o processo de engenharia de requisitos um processo que
engloba todas as atividades que contribuem para a produo de um documento de requisitos e sua manuteno ao longo do tempo. Este processo de engenharia de requisitos composto por quatro atividades de alto nvel e essenciais em um processo de produo de software, so elas:
Estudo de Viabilidade - processo no qual o engenheiro de software
estuda se vivel para a empresa ou para seu objetivo prprio a produo do sistema proposto pelo cliente.
Elicitao e Anlise dos Requisitos - a parte em que o engenheiro de
software levanta os requisitos do sistema de acordo com a solicitao do cliente. Nesta etapa podem ser usadas vrias formas de levantamentos de requisitos, como entrevistas abertas ou fechadas, questionrios (caso seja um grupo de clientes requisitando o software), etc. Em seguida feita a anlise desses requisitos levantados anteriormente, para poder comear a se ter uma ideia de como o sistema ser, o que ir fazer, seu principal objetivo e suas restries.
Especificao de Requisitos - nesta fase que se d a produo
propriamente dita da documentao de especificao dos requisitos. Em todos os tipos de especificaes, h 2 tipos de requisitos a se considerar: os requisitos funcionais e os requisitos no funcionais. Os requisitos funcionais descrevem a funcionalidade que o sistema dever disponibilizar aos usurio, de uma forma completa e consistente. Os requisitos no funcionais referem-se aos aspectos no funcionais do sistema, como restries na qual o sistema deve operar ou propriedades emergentes do sistema.
Validao dos Requisitos - fase onde os requisitos levantados
inicialmente so validados junto ao cliente, isto , so apresentados ao cliente em forma de prottipo de telas do sistema feitas em papel, tambm pode-se utilizar diagramas de caso de uso para melhor compreenso do que o sistema ir fazer e apresenta-lo junto ao cliente. Etapa onde o cliente determina se aquilo que o engenheiro pensou do sistema o que o cliente estava desejando. Podemos concluir com este breve artigo que a Engenharia de Software essencial e praticamente obrigatria na construo de um sistema de software, pois ela guia o engenheiro desde as primeiras entrevistas feitas com o cliente at a entrega do sistema e a manuteno do mesmo. Ainda existem vrios outros assuntos que existem dentro deste tpico da Engenharia de Software, mais eu quis trazer neste artigo o bsico da Engenharia, e mostrar que ela parte essencial quando se vai comear um projeto de software.