Upload
internet
View
107
Download
1
Embed Size (px)
Citation preview
Técnicas e Projeto de Sistemas
André Mesquita [email protected]@gmail.com
Introdução a Engenharia de Software – Parte 1
Técnico Subsequente – Módulo III(22/02/2010)
Introdução
o Disciplina de Técnicas e Projeto de Sistemas (TPS)o Aborda elementos da Engenharia de Software (ES) com
foco nas práticas relacionadas à análise, design e teste de Software
o A disciplina trata-se de um subconjunto da ES
o Mas o que é Engenharia de Software? Por que utilizá-la?
Engenharia de Software: conceito
o Aplicação disciplinada de técnicas no contexto do desenvolvimento e manutenção de software
o Desenvolver software por meio de técnicas que possam garantir que o software atinja seus objetivos
o Não desenvolver software de forma artesanal
Engenharia de Software: por que?
o Por que toda devemos nos preocupar com o processo de desenvolvimento do SW?
o Pressman: SW de computador é a tecnologia mais importante atualmente no mundoo Alterou modelos de negócios (e-commerce)o Aumentou perspectivas da ciência (genética)o Potencializou as telecomunicaçõeso Revolucionou a indústria fonográfica e
cinematográfica
Engenharia de Software: por que?
o As potências econômicas são dependentes de SWo Como conseqüência, mai$$ e mai$$ empresas
dependem de SW para seu sucessoo Além disso, cada vez mais os sistemas mundiais são
controlados por SW, incluindo os de “Segurança-Crítica”o Uma falha pode resultar em acidentes, perdas de vidas ou perdas
financeiras (ex.: usina nuclear, controle aéreo, etc.)
o Se alguns sistemas de uso global deixarem de funcionar, 40% da população sofrerá o impacto (REED, 2000)
Engenharia de Software: por que?
o SW é diferente de outros produtos...o Invisibilidade: SW não pode ser representado por
estruturas geométricas ou embutido num espaço físicoo É visto como um produto de pensamentos e de fácil alteraçãoo Requer boa habilidade dos projetistas para extrair informações dos
clienteso Necessita de boa comunicação entre os desenvolvedores para que
o “mesmo SW” seja desenvolvido por todos
o É diferente, por exemplo, da escalabilidade do hardwareo Permite a repetição de elementoso Facilita a interação entre elementos
Engenharia de Software: por que?
o SW é diferente de outros produtos...o Tem necessidade de evolução constante
o Lei da modificação contínua: software deve ser continuamente adaptado ou eles se tornam progressivamente menos satisfatórios
o Lei da complexidade crescente: à medida que o software evolui, sua complexidade aumenta (a menos que seja realizado um esforço para minimizá-la)
o Lei da qualidade declinante: a qualidade do software parecerá estar declinando ao longo do tempo
o A maioria dos softwares é feita sob medida e é difícil utilizá-lo em contextos semelhantes
Engenharia de Software: por que?
o Software é um tipo de sistema???oO que é sistema???o “Conjunto de partes interagentes e
interdependentes que, conjuntamente, formam um todo unitário com determinado objetivo e efetuam determinada função”
OLIVEIRA, Djalma P. R. Sistemas, Organização e Métodos. São Paulo: Atlas, 2001.
Engenharia de Software: por que?
o Hierarquia de sistemaso Subsistema x Sistema x Supersistema:
o Sistema é o objeto (foco) do estudoo Subsistemas são suas partes componenteso Supersistema: hierarquia imediatamente superior ao
sistema estudado
Engenharia de Software: por que?
o Relações entre sistemaso Geralmente a saída (output) de um sistema é a
entrada (input) de outro sistemao Uma mudança em um sistema provavelmente terá
reflexos (reações) nos sistemas relacionadoso É necessário o estudo dos sistemas para prever
essas reações evitando surpresaso Pode-se dizer que ES provê técnicas que auxiliam
nesses estudos de um tipo de sistema que é o software
Engenharia de Software: por que?
o Tipos de sistemao Sistemas fechados
oNão trocam matéria ou energia com o ambiente em que estão inseridos
oPodem ser considerados como uma definição conceitual
o Sistemas abertoso Interagem com o ambiente em que estão inseridosoOrganizações sociais são sistemas abertos
Engenharia de Software: por que?
o Sistemas organizacionaiso “Conjunto de partes e funções dinâmicas,
interdependentes, com objetivos comuns”MAGALHÃES, A. D. F., LUNKES, I. C. Sistemas Contábeis. São Paulo: Atlas, 2000.
o CaracterísticasoAbertosoPertencem a sistemas maioresoContêm sistemas menoreso Tem objetivos específicoso Tem estrutura complexa
Engenharia de Software: por que?
o Exemplo de um Sistema Organizacional - IFTO
• Supersistemas: Reitoria, MEC...• Ambiente externo:- Político- Social- Econômico- Ecológico- Etc...
Engenharia de Software: objetivo
o A Engenharia de Software objetiva prover métodos (i.e.: “como fazer”), ferramentas e procedimentos (i.e.: sequência em que os métodos serão aplicados) para o desenvolvimento de SW de maneira que ele atinja seus objetivos dentro de contextos de sistemas complexos
o Modelos o Ciclo de Vida Clássico (modelo Cascata)o Prototipagemo Espiralo Técnicas de Quarta Geração
Atividade (Em grupo: Máximo 3)
1. Pressman afirma que “Software de computador é a tecnologia mais importante atualmente no mundo”. Você concorda com essa afirmação? Justifique.
2. Escreva com suas palavras quais são as características que diferenciam o software de outros produtos?
3. Software é um tipo de sistema? Quais são os elementos do supersistema que interagem com o software em uma organização em que ele foi implantado?
4. Descreva com suas palavras o que é um sistema organizacional.
5. Em sua opinião, o que é engenharia de software (ES)? Por que é importante seguir um processo de ES no desenvolvimento de SW?