Parte 2 - Engenharia de Software

A documentação de qualquer projeto, seja de um software com inúmeros pontos de funções e com alto valor agregado, ou seja de um software de baixo valor agregado, os Requisitos de Software são fatores primordiais para o sucesso de qualquer projeto.

Por | @oficinadanet Programação

Olá, pessoal. Sejam bem-vindos!


Engenharia de software é uma área do conhecimento da informática voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de ciência da computação, gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.


Atualmente, essas tecnologias e práticas englobam linguagens de programação, bases de dados, ferramentas, plataformas, bibliotecas, padrões, processos e a questão da Qualidade de Software.


Os fundamentos científicos 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. Além disso, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento de um sistema de informação.


A Definição


Segundo Friedrich Ludwig Bauer, "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.


A Engenharia de Software se concentra nos aspectos práticos da produção de um sistema de software, enquanto a ciência da computação estuda os fundamentos teóricos dos aspectos computacionais.


O termo foi criado na década de 1960 e utilizado oficialmente em 1968 na NATO Conference on Software Engineering (Conferência sobre Engenharia de Software da OTAN). Sua criação surgiu numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funções, módulos, objetos ou agentes e interconectados entre si, compondo a arquitetura do software, que deverão ser executados em sistemas computacionais.


Os fundamentos científicos 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. Além disto, deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento. Empresas desenvolvedoras de software passaram a empregar esses conceitos sobretudo para orientar suas áreas de desenvolvimento, muitas delas organizadas sob a forma de Fábrica de Software.


A Engenharia de Sistemas é uma área mais ampla por tratar de todos os aspectos de sistemas baseados em computadores, incluindo hardware e engenharia de processos além do software.



Área de conhecimento - Requisitos de Software


A documentação de qualquer projeto, seja de um software com inúmeros pontos de função e com alto valor agregado, ou seja de um software de baixo valor agregado, os Requisitos de Software são fatores primordiais para o sucesso de qualquer projeto.


Embora existam diversas definições para o termo "requisito" na literatura, foram selecionadas três definições para serem adotadas neste material. Um requisito é:


» uma condição ou capacidade necessária para o usuário resolver um problema ou alcançar um objetivo;
uma condição ou capacidade que deve ser encontrada ou possuída por um sistema ou componente do sistema para satisfazer um contrato, padrão, especificação ou outro documento imposto formalmente ou uma representação documentada de uma condição.


Alguns autores definem um requisito como qualquer função, rotina ou característica necessária a um sistema - os comportamentos quantificáveis e verificáveis que um sistema deve ter, as restrições que deve atender ou outras propriedades que devem ser fornecidas, de forma a satisfazer os objetivos das organizações e resolver um conjunto de problemas.


Outros, afirmam que os requisitos de um sistema definem o que o sistema deve fazer e as circunstâncias sobre as quais deve operar. Em outras palavras, os requisitos definem os serviços que o sistema deve fornecer e dispõem sobre as restrições à operação do mesmo.


Assim como existem diversas definições para o termo "requisito", existem também diversas classificações.
Como: requisitos funcionais e não funcionais ou em comportamentais e não comportamentais.


» funcionais ou comportamentais: definem o que o sistema faz. Descrevem as ações de transformação que os componentes de hardware ou software do sistema devem executar sobre as entradas para produzir as saídas;


» não funcionais ou não comportamentais: definem os atributos do sistema enquanto ele executa seu trabalho. São atributos de qualidade ou restrições de sistemas de software ou de processos de software. Diferentes taxonomias para requisitos não funcionais têm sido propostas, que os classifica em requisitos de processo (relativos à entrega, implementação e conformidade a padrões), requisitos de produto (relativos à usabilidade, confiabilidade, segurança, eficiência, desempenho e capacidade) e requisitos externos (relativos à interoperabilidade e restrições legais e econômicas).


Espero que tenham gostado, e que esta segunda parte do nosso estudo lhe tenha agregado algum valor.

Mais sobre: requisito, engenharia, software
Share Tweet
DESTAQUESMais compartilhados
Comentários
AINDA NÃO SE INSCREVEU?

Vem ver os vídeos legais que
estamos produzindo no Youtube.