segunda-feira, 16 de agosto de 2010

[ATPS 1] Engenharia Software - Flavio Silva RA: 1001769947 - Carlos Oliveira RA 0893129

O que é Engenharia de Software?
Engenharia de software é uma área do conhecimento 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 produtividade e qualidade.
• “É o estabelecimento e utilização de princípios sólidos de engenharia por forma a ser criado software econômico, viável e que trabalhe em máquinas reais” (Segundo conferência da NATO)

É 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. 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.

“... é a ciência e a arte de especificar, projetar, implementar e manter atualizados e corretos, com economia, em tempo útil e de forma elegante, programas, documentação e procedimentos operacionais para sistemas computacionais de utilidade para a humanidade.”

“... criação intelectual compreendendo os programas, procedimentos, regras e qualquer documentação correlata à operação de um sistema de processamento de dados.” ISO9000-3


É uma das áreas da Engenharia que trata dos aspectos de produção de software.
O seu objetivo é estabelecer uma sistemática abordagem de desenvolvimento, através de ferramentas e técnicas apropriadas, dependendo do problema a ser abordado, considerando restrições e recursos disponíveis.

Conclusão:

Dentre essas definições posso descrever que o ponto em comum em todas a definições é o desenvolvimento de software seguindo uma padronização, algumas regras básicas para o bom desenvolvimento, e manutenção do mesmo.
Discordância é que alguns dizem que é uma arte, outros dizem que é uma ciência, não discordo de nenhum dos autores pois se analisarmos é uma arte e também a uma ciência pois estudamos e damos formas através desse processo de desenvolvimento software.


Atividades do Processo de Software
Especificação de Requisitos: tradução da necessidade ou requisito operacional para uma descrição da funcionalidade a ser executada.
1. Projeto de Sistema: tradução destes requisitos em uma descrição de todos os componentes necessários para codificar o sistema.
2. Programação (Codificação): produção do código que controla o sistema e realiza a computação e lógica envolvida.
3. Verificação e Integração (Verificação): verificação da satisfação dos requisitos iniciais pelo produto produzido.
Ao contrário do que possa parecer não existe uma sequência obrigatória de fases, sendo que diversos autores apontam a natureza não-simultânea das fases como uma realidade na aplicação de processos de software, e também defendem que o processo de software é muito mais iterativo e cíclico do que a idéia de fases simples pode sugerir.
Processo de Software
Em cada fase de um processo de software definido são executadas as atividades básicas para que sejam atingidos os objetivos propostos. Segundo Pressman estas atividades constituem um conjunto mínimo para se obter um produto de software.
Realizando uma combinação de classificações dadas por Schwartz , Pressman e Sommerville podemos identificar as seguintes atividades:
1. Especificação
1. Engenharia de Sistema: estabelecimento de uma solução geral para o problema, envolvendo questões extra-software.
2. Análise de Requisitos: levantamento das necessidades do software a ser implementado. A Análise tem como objetivo produzir uma especificação de requisitos, que convencionalmente é um documento.
3. Especificação de Sistema: descrição funcional do sistema. Pode incluir um plano de testes para verificar adequação.
2. Projeto
1. Projeto Arquitetural: onde é desenvolvido um modelo conceitual para o sistema, composto de módulos mais ou menos independentes.
2. Projeto de Interface: onde cada módulo tem sua interface de comunicação estudada e definida.
3. Projeto Detalhado: onde os módulos em si são definidos, e possivelmente traduzidos para pseudo-código.
3. Implementação
1. Codificação: a implementação em si do sistema em uma linguagem de computador.
4. Validação
1. Teste de Unidade e Módulo: a realização de testes para verificar a presença de erros e comportamento adequado a nível das funções e módulos básicos do sistema.
2. Integração: a reunião dos diferentes módulos em um produto de software homogêneo, e a verificação da interação entre estes quando operando em conjunto.
5. Manutenção e Evolução
1. Nesta fase, o software em geral entra em um ciclo iterativo que abrange todas as fases anteriores.
Desta forma as atividades relacionadas a um processo de software estão diretamente vinculadas com a produção do software como produto final . Afim de especificar quais atividades devem ser executadas e em qual ordem temos diversos modelos de desenvolvimento de software.




BIBLIOGRAFIA

http://imasters.uol.com.br/artigo/3691/des_de_software/engenharia_de_software/

http://forum-gudo.forumeiros.com/academico-informtica-f5/engenharia-de-software-conceitos-bsicos-t17.htm

http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0_Ci%C3%AAncia_da_Computa%C3%A7%C3%A3o/Introdu%C3%A7%C3%A3o_ao_Software_e_conceitos_relacionados

http://www.tiagodemelo.info/aulas/cefet/2007/aula-engenharia-software.pdf

eng. de software-2003 Elisa Huzita
http://www.din.uem.br/~emhuzita/download/EngSw/es-conceitos-objetivos.pdf

http://www.macoratti.net/proc_sw1.htm

Nenhum comentário:

Postar um comentário