Unilasalle    Selo de Acessibilidade

Engenharia de Software

[Página Principal] [Plano de Ensino] [Módulo 1] [Módulo 2] [Módulo 3] [Módulo 4]


Módulo 2

Áreas de Conhecimento : Requisitos de Software, Ciclo de Vida do Software, Teste de Software, Processos de Engenharia de Software, Qualidade de Software.

Segundo o SWEBOK, as áreas de conhecimento da Engenharia de Software são:

Requisitos de Software

    Segundo o IEEE (1990), um requisito é:
       1- Uma condição ou capacidade necessária para o usuário resolver um problema ou alcançar um objetivo.
       2- 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.
       3- Uma representação documentada de uma condição ou capacidade como em (1) ou (2).

Alguns autores definem um requisito como qualquer função 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.

Alguns autores definem um requisito como qualquer
função 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.

Ciclo de Vida do Software

É essencial, antes do desenvolvimento de um produto, preparar um plano geral , ou seja, escolher um modelo de ciclo de vida. Este pode ser personalizado, se adaptando ao tamanho, complexidade e/ou nível de confiabilidade/segurança do projeto. Um dos mais utilizados é o modelo cascata.

Ciclo de Vida do Software,
É essencial, antes do desenvolvimento de um produto,
preparar um plano geral , ou seja, escolher um modelo de ciclo de vida.
Este pode ser personalizado, se adaptando ao tamanho, complexidade e/ou
nível de confiabilidade/segurança do projeto. Um
dos mais utilizados é o modelo cascata.

Teste de Software

O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. Quando se segue uma metodologia para o desenvolvimento de um produto de software espera-se um produto final que melhor agrade tanto aos clientes quanto ao próprio fornecedor. Diversos autores e pesquisadores apontam que os custos de correção de um programa em produção são de duas a cinco vezes maior que quando na fase de desenvolvimento.

Teste de Software. uma das fases do
processo de engenharia de software que visa atingir um nível
de qualidade de produto superior. De uma forma simples, testar um
software significa verificar através de
uma execução controlada se o seu comportamento
corre de acordo com o
especificado. Quando se segue uma metodologia para o desenvolvimento
de um produto de software espera-se um produto final que melhor agrade
tanto aos clientes quanto ao próprio fornecedor. Diversos autores e pesquisadores apontam que os custos de correção de um programa em
produção são de duas a cinco vezes maior que quando na fase de desenvolvimento.

Qualidade de Software


A Qualidade de Software é uma área de conhecimento da Engenharia de Software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às espectativas do cliente, dentro daquilo que foi acordado inicialmente.

A Qualidade de Software é uma
área de conhecimento da Engenharia de Software que objetiva
garantir a qualidade do software através da
definição e
normatização de processos de desenvolvimento.
Apesar dos modelos
aplicados na garantia da qualidade de software atuarem principalmente
no processo, o principal objetivo é garantir um produto
final que
satisfaça às espectativas do cliente, dentro
daquilo que foi acordado
inicialmente.

CMM

Neste modelo o termo maturidade é essencialmente uma medida de quão bom é o próprio processo de produção de software.
Este não é um modelo do ciclo de de vida. É uma estratégia para melhorar o processo de produção de software, sendo independente do ciclo de vida. Ele foi desenvolvido na SEI(Software Engineering Institute) da Universidade Carnegie-Mellon, USA em 1986. O modelo CMM trata o processo software tanto no aspecto técnico como no aspecto gerencial.
As melhorias introduzidas incrementalmente, permitindo evolução do nível 1 para o nível 5. Os cinco níveis são:

Nível de Maturidade        Caracterização

1 - Inicial                           Processo Caótico

2 - Repetível                     Gerencia Basica do Projeto

3 - Definido                       Definição do Processo

4 - Gerenciado                  Medição do Processo

5 - Evolutivo                     Controle do Processo

Nível de Maturidade 1 Inicial e
Caracterização Processo Caótico, Nível de Maturidade 2 Repetível e
Caracterização Gerência Básica do Projeto, Nível de Maturidade 3 Definido e
Caracterização Definição do Processo, Nível de Maturidade 4 Gerenciado e
Caracterização Medição do Processo, Nível de Maturidade 5 Evolutivo e
Caracterização Controle do Processo.

O primeiro passo para se iniciar uma evolução contínua consiste em entender o processo em andamento. O passo seguinte consiste em formular o processo pretendido. As ações nescessárias para melhorar o processo são determinadas e ordenadas por prioridade. O plano de melhoria é montado e executado. Esta série de passos é repetida.
O passo mais difícil e demorado consiste em ir do nível 1 para o nível 2. A razão está no fato de que é difícil implementar uma abordagem sistemática e metódica numa organização onde impera o caos.
Cada nível possui uma série de áreas de processos chaves que a organização deve cumprir antes de passar para o nível seguinte.

Outra tentativa de melhorar a qualidade de software está baseada nos padrões ISO série 9000 da ISO-International Standard Organization. Dentro da série ISO 9000, o padrão ISO9001 para qualidade de sistemas tem maior aplicação ao desenvolvimento de software. Como a ISO 9001 é bastante geral, a ISO publicou diretrizes específicas para auxiliar na aplicação da ISO 9001 ao software: ISO 9000-3. A ISO 9000 é somente uma parte do sistema de qualidade. É também requerido comprometimento gerencial com qualidade, treinamento intensivo e ajustamento de objetivos para melhoria continua.
Ambos padrões, CMM e ISO 9000 enfatiza medições. No entanto eles enfatizam também que não basta medir para melhorar: é nescessário treinameno contínuo. Ambos padrões tem o mesmo objetivo (melhorar qualidade) mas utilizam atributos diferentes. Por exemplo é possível uma empresa demonstrar alto nível de maturidade sem cumprir com a ISO9000. No entanto a possibilidade é alta de que uma organização madura cumpra com a ISO 9000.


Atalhos: [ctrl+shift+P] Página Principal [ctrl+shift+E] Plano de Ensino [ctrl+shift+1] Módulo 1 [ctrl+shift+ 2] Módulo 2 [ctrl+shift+3] Módulo 3 [ctrl+shift+4] Módulo 4
Hosted by www.Geocities.ws

1