Buscar

MBA-Engenharia De Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Engenharia de Software
1. CONCEITOS DA ENGENHARIA DE SOFTWARE
Características da Engenharia de Software:
Em 1967 a (OTAN) Organização do Tratado do Atlântico Norte, designou o termo Engenharia de Software para adequar o processo de desenvolvimento de softwares com metodologias utilizadas em outras engenharias.
Isso fez com que a indústria de software entregasse sistemas com maior qualidade em menos tempo e com custos reduzidos de manutenção.
O que é a Engenharia de Software?
A Engenharia de Software estuda todos os processos envolvidos no desenvolvimento de um software.
É uma atividade complexa que envolve a realização conjunta de diversas atividades distintas, as quais exigem habilidades multidisciplinares.
Por que a Engenharia de Software é importante?
Hoje em dia, o software na vida das pessoas está a cada dia mais essencial, por isso é necessário softwares cada vez mais complexos. Deste modo obriga que as empresas desenvolvedoras de sistemas criem softwares de forma rápida e confiável. 
Para que isso possa ser feito é essencial que tudo seja feito de forma estruturada para que minimize custos, tempo e retrabalho.
Setores importantes no Desenvolvimento de Sistemas:
	Análise de Requisitos;
	Análise de Sistemas;
	Desenvolvimento;
	Testes;
	Implantação.
Evolução do Desenvolvimento de Software:
As principais evoluções do desenvolvimento de software podem ser classificadas em dois grandes grupos:
Mudanças Tecnológicas:
	1725 – Primeiros Softwares – Programados com cartões perfurados;
	Primeiras linguagens de programação:
	Fortran (1955);
	List Processor (LISP);
	Common Business Oriented Language (COBOL);
	Primeiras linguagens de auto nível:
	Java;
	JavaScript;
	Visual Basic;
	Object Pascal;
	PHP.
	Junto com as linguagens de programação, foram sendo criados paradigmas para o desenvolvimento de sistemas;
	Um paradigma é a forma como um sistema é construido e seu sistema é organizado.
	Os mais conhecidos são:
	O paradigma orientado a objetos(o mais utilizado):
	Programação orientada a objetos;
	Construção do software considerando que tudo o que é inserido no programa é um objeto que pertence a uma classe;
	Esse objeto possui atributos específicos por onde podem se criar métodos.
	O paradigma estruturado:
	Programação estruturada;
	Principio de que um programa pode ser dividido em três partes:
	Sequência:
	Na sequência, o código do programa é criado para ser executado de forma sequencial, seguindo estritamente a ordem na qual foi programado.
	Seleção:
	Na seleção, o programa encontra locais onde pode seguir um ou mais caminhos distintos.
	Interação:
	Na interação, é permitido ao programa executar diversas vezes o mesmo trecho de código.
Mudanças Processuais:
	No desenvolvimento de sistemas, além das mudanças tecnológicas, foram ocorrendo mudanças na forma como as empresas se organizam e estruturam o trabalho.
	A forma tradicional de desenvolvimento de sistemas foi a primeira a ser criado.
	Ciclo de vida em estrutura de cascata(1970).
	As etapas são executadas de forma sequencial;
	Não é possível retornar de uma etapa posterior pra uma etapa anterior.
	Depois falou-se em desenvolvimento interativo e incremental:
	Implementa-se pequenas partes entregáveis do software;
	Dessa forma o cliente tem feedback mais rápido sobre o produto em desenvolvimento.
	Depois surgiu o modelo em espiral:
	Semelhante ao modelo interativo e incremental;
	Também entrega pequenas partes do software e a execução de todas as etapas várias vezes.
	Mas também considera a presença explícita da análise de riscos com uma das etapas de cada interação.
	Neste modelo o ciclo de vida do software é representado como uma espiral em que a volta na espiral representa fases do processo do software.
	Em 2001 surgiu o Manifesto Ágil para Desenvolvimento de Sistemas.
	Com isso os métodos de desenvolvimento ágil se popularizou.
	Os mais conhecidos são o:
	Scrum;
	XP;
	Todos eles têm em comum os valos do Manifesto.
Importância da Engenharia de Software
	A Engenharia de Software é a disciplina que se preocupa em estudar e monitorar o bom andamento de todas essas atividades e a integração entre elas.
	Engenharia de Software envolve:
	Planejamento;
	Qualidade;
	Requisitos;
	Desenvolvimento.
2. Conhecer as fases de ciclo de vida do software:
	O ciclo de vida de software poder conceituado como uma estrutura contendo:
	Processos;
	Atividades e 
	Tarefas
	Envolvidas na criação, na operação ou manutenção de um software.
	O tipo de ciclo de vida do software geralmente é a primeira decisão a ser tomada.
Ciclo de vida de um software
Equipes de especialistas em software cada qual contratando-se numa parte da tecnologia necessária para distribuir uma aplicação complexa, substituíram o programador solitário de antigamente. Esses são conceitos trazidos por Pressman e Maxim (2016, p. 4).
Um dos objetivos da Engenharia de Software é trazer metodologias para desenvolvimento de software, para isso, os modelos de ciclo de vida de software retratam as técnicas que podem ser utilizadas para desenvolver um sistema na prática.
Por conta dos recursos tecnológicos nota-se a evolução pela qual esses modelos passaram e com isso o impacto que esse processo trouxe para software.
O cliente é o indivíduo que gostaria que um produto fosse criado.
Os desenvolvedores são os membros de uma equipe responsável pela criação desse produto.
Geralmente um software é concebido para trazer soluções para problemas específicos, dessa forma, são desenvolvidas com base em diversas especificações. Após a definição do objetivo é necessária uma analise do que é valido ou não para ser implementado, inserido, no sistema.
 Na prática o desenvolvimento é diferente por duas razões:
	Os profissionais são humanos, portanto, cometem erros;
	As necessidades do cliente podem mudar enquanto o produto de software está sendo desenvolvido.
Outro fato importante é que um software nunca é finalizado, pois sempre passara por modificações futuras.
Fases do ciclo de vida de um software
O processo pode ser definido como um conjunto de atividades de trabalho, ações e tarefas realizadas quando algum artefato de software deve ser criado. Cada umas dessas atividades, ações e tarefas se alocam dentro de uma metodologia ou um modelo que determina sua relação com o processo e umas com as outras. Cada atividade metodológica é composta por um conjunto de ações de Engenharia de Software. Cada ação é definida por um conjunto de tarefas, o qual identifica tarefas de trabalho a serem completadas, os artefatos de software que serão produzidos, os fatores de garantia da qualidade que serão exigidos e os marcos utilizados para indicar progresso (PRESSMAN; MAXIM, 2016, p.35).
Segundo Sommerville (2011, p. 18), um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. Essas atividades podem envolver o desenvolvimento de software em uma linguagem de programação. Por conta do mercado, os sistemas passaram a ser desenvolvidos tendo como base, extensões e modificações por meio de integrações entre componentes já existentes ou até mesmo criação de novos.
Apesar de existir diferentes processos de software, todos devem incluir quatro atividades fundamentais:
	Especificações de software;
	Projeto e implementação de software;
	Validação de softwares;
	Evolução de software.
Essas atividades possuem outras subatividades, tais como validação de requisitos, projeto de arquitetura, testes unitários, dentre outros
Um processo de software é algo complexo, pois evolve ferramentas práticas para desenvolvimento de software e diversas tomadas decisões que influenciarão diretamente no resultado final.
Uma metodologia de processo genérica para Engenharia de Software estabelece também cinco atividades:
	Comunicação;
	Planejamento;
	Modelagem;
	Construção e 
	Entrega.
Além disso, um conjunto de atividades de apoio é aplicado ao longo do processo, como o acompanhamento e o controle do projeto, a administraçãode riscos, a garantia da qualidade, o gerenciamento das configurações, as revisões técnicas, entre outras.
As escolhas dos processos e das métricas deverá ser realizada conforme o contexto do projeto.
Caracterizar o funcionamento das fases modelo
As etapas comuns em todos os modelos de processos de software têm como função nortear as demais fases que vão sendo inseridas conforme os modelos de processos foram sendo criados. Outras atividades vistas como complementares são citadas por Schach (2010, p.43):
	Fase de levantamento de necessidades;
	Fase de análise (especificação);
	Fase de projeto:
		Projeto de arquitetura (extrair os módulos);
	Projeto detalhado;
	Fase de implementação:
		Codificar os módulos em uma linguagem de programação apropriada;
	Integrar;
	Manutenção pós-entrega;
	Retirada do produto.
As mudanças são inevitáveis. O que podemos aprender diante dos conceitos vistos é que temos essas ferramentas para auxiliar a equipe desenvolvedora a produzir o software om qualidade no processo e, por fim, no sistema final.

Continue navegando