15
Técnicas e Projeto de Sistemas André Mesquita Rincon [email protected] [email protected] Introdução a Engenharia de Software – Parte 1 Técnico Subsequente – Módulo III (22/02/2010)

Técnicas e Projeto de Sistemas André Mesquita Rincon [email protected] [email protected] Introdução a Engenharia de Software – Parte 1 Técnico

Embed Size (px)

Citation preview

Page 1: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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)

Page 2: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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?

Page 3: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 4: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 5: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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)

Page 6: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 7: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 8: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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.

Page 9: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 10: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 11: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 12: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 13: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 14: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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

Page 15: Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br andre.rincon@gmail.com Introdução a Engenharia de Software – Parte 1 Técnico

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?