Fundamentos da Engenharia de Software: Produto, Gestão e Tecnologia
Classificado em Tecnologia
Escrito em em
português com um tamanho de 5,18 KB
Gestão e Tecnologia na Engenharia de Software
Transversalmente às 4 fases clássicas (Requisitos, Desenho, Desenvolvimento e Verificação/Validação), existem ainda mais 2 perspetivas a ter em consideração:
- Gestão: de pessoas, custos, qualidade, processos de negócio e de configurações.
- Tecnologia: por exemplo, segurança, linguagens de programação, web, etc.
Exemplos de Projetos que Envolvem a Engenharia de Software
- Desenvolvimento de novos produtos ou de novos processos de negócio, em qualquer domínio de aplicação.
- Alterações/Adaptações de produtos ou a processos de negócio já existentes, em qualquer domínio de aplicação.
- Migração de sistemas.
- Gestão e manutenção de sistemas.
Métodos Algorítmicos (Estimativa de Esforço)
Existem modelos que expressam a relação entre o esforço e os fatores que o influenciam. Estes modelos são representados por equações em que o esforço é a variável dependente de um conjunto de variáveis independentes que representam os fatores que influenciam o esforço.
Capítulo 1: O Produto (Computer Software)
O que é Software?
É o produto que os engenheiros desenham e constroem. Engloba:
- Programas que se executam dentro de um computador de qualquer tamanho e arquitetura.
- Documentos que abrangem Hard-Copy e formas virtuais.
- Dados que combinam números e textos, incluindo representações pictóricas, vídeo e informação áudio.
Perguntas Fundamentais sobre o Software
- Quem o faz?
- Engenheiros de Software e virtualmente todo o mundo da indústria mundial usa-o direta ou indiretamente.
- Por que é importante?
- Porque afeta quase todos os aspetos da nossa vida e tornou-se parte integrante do nosso comércio, da nossa cultura e das atividades do dia a dia.
- Quais os passos para o construir?
- Constrói-se como se constrói qualquer produto bem-sucedido, aplicando um processo que leva a um resultado de alta qualidade que vai ao encontro das necessidades dos utilizadores. Aplica-se a abordagem da Engenharia de Software.
- Qual o produto do trabalho?
- Do ponto de vista do Engenheiro de Software, o produto do trabalho são: programas, documentos e conteúdos (dados). Do ponto de vista do utilizador, o produto é a informação resultante que, de alguma forma, melhora o mundo do utilizador.
- Como garantir que é bem feito?
- Os caminhos para desenvolver um produto variam conforme o produto a ser desenvolvido. Cabe ao Engenheiro de Software definir qual o caminho mais adequado.
1.1 Evolução do Papel do Software
Hoje em dia, o software desempenha dois papéis: o de produto em si e o de meio para entrega de um produto.
Software como Produto
Incorporado pelo hardware de um computador ou, de forma mais abrangente, numa rede de computadores que é acedida por hardware local. Independentemente de estar dentro de um telemóvel ou operar dentro de um mainframe, o software é um transformador de informação: produzindo, gerindo, adquirindo, modificando, mostrando ou transmitindo informação que pode ser simples como um bit ou complexa como uma apresentação multimédia.
Software como Meio para Entrega de Produto
O software atua como a base para o controlo do computador (Sistemas Operativos - OS), comunicação de informação (Redes) e criação e controlo de outros programas (Ferramentas de software e ambientes). Segundo Pressman, o software entrega o produto mais importante do nosso tempo: a informação.
Desafios Atuais no Desenvolvimento de Software
O programador solitário dos primeiros tempos foi substituído por uma equipa de especialistas de software, cada um focado numa parte da tecnologia necessária para desenvolver uma aplicação complexa. Ainda assim, as mesmas questões são colocadas quando os sistemas são construídos:
- Por que demora tanto tempo a concluir um software?
- Por que o custo de desenvolvimento é tão alto?
- Por que não são encontrados erros antes da entrega do software ao cliente?
- Por que se continua a ter dificuldade em medir o progresso durante o processo de desenvolvimento?
1.2 Componentes do Software
O software é composto por:
- Instruções (Programas): que, quando executadas, disponibilizam uma funcionalidade desejada e desempenho.
- Estruturas de dados: que permitem aos programadores manipular a informação adequadamente.
- Documentos: que descrevem as operações e o uso dos programas.
1.2.1 Características do Software
- É desenvolvido ou projetado, não é manufaturado no sentido clássico.
- Não se desgasta ao longo do tempo, mas deteriora-se devido às sucessivas alterações que lhe são feitas, que lhe introduzem erros.
- Embora a indústria caminhe para a construção à base de componentes, a maioria do software é construído à medida.