Técnicas e Projeto de Sistemas Técnico Subsequente Aula 02 – 2014 Thatiane de Oliveira Rosa INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 1 Roteiro • Tema: Apresentação da disciplina e Introdução à Engenharia de Software. Ementa; Objetivos; Introdução à Engenharia de Software; Atividade. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 2 Ementa • Princípios de engenharia de software (abstração, modularização); • Análise orientada a objetos utilizando a linguagem de modelagem unificada (UML); • Metodologias de Projeto de Sistemas: UML. • Ferramentas CASE. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 3 Objetivos • Interpretar e avaliar documentação de análise e projeto de sistemas; • Interpretar e analisar modelos de dados; • Conhecer técnicas de modelagem de dados; • Conhecer projetos de bancos de dados; • Conhecer técnicas de gerência de projetos. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 4 Introdução à Engenharia de Software • Sistemas: Conjunto de elementos conectados com objetivo de formar um todo organizado; Conjunto de elementos que estão dinamicamente relacionados; Conjunto de elementos dinamicamente relacionados entre si, formando uma atividade para atingir um objetivo, operando sobre entradas para fornecer saídas processadas. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 5 Introdução à Engenharia de Software • Exemplos de sistemas: Sistema digestivo INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Sistema hidráulico Técnicas e Projeto de Sistemas – Técnico Subsequente 6 Introdução à Engenharia de Software • Software: Conjunto de procedimentos que controlam o funcionamento de uma máquina. Sistema == Software??? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 7 Introdução à Engenharia de Software • Projeto: Esforço temporário para obtenção de um produto único. Exemplos: • Construção de uma casa; • Desenvolvimento de uma página da internet. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 8 Introdução à Engenharia de Software • Software é um tipo de sistema: “Conjunto de partes interagentes e interdependentes que, conjuntamente, formam um todo unitário com determinado objetivo e efetuam determinada função”; Elementos de sistemas de computador: hardware, rede, pessoas e software. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 9 Introdução à Engenharia de Software • Hierarquia de sistemas: Subsistema versus Sistema versus Supersistema: Sistema: é o objeto (foco) do estudo; Subsistemas: são suas partes que compõem o sistema; Supersistema: hierarquia imediatamente superior ao sistema estudado. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 10 Introdução à Engenharia de Software • Relações entre sistemas: Geralmente a saída (output) de um sistema é a entrada (input) de outro sistema; Uma mudança em um sistema provavelmente gerará reflexos (reações) nos sistemas relacionados; É necessário o estudo dos sistemas para prever essas reações evitando surpresas. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 11 Introdução à Engenharia de Software • Engenharia de software: Aplicação da disciplinada de técnicas no desenvolvimento e manutenção de software. Contexto (Problema) INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína E.S. Técnicas e Projeto de Sistemas – Técnico Subsequente Produto de Software 12 Introdução à Engenharia de Software • A disciplina de Técnicas e Projeto de Sistemas (TPS): Aborda elementos da Engenharia de Software (ES) com foco nas práticas relacionadas à análise, design e teste de Software; Trata-se de um subconjunto da ES; Visa desenvolve software por meio de técnicas que possam garantir que o software atinja seus objetivos; Não propõe o desenvolvimento de software de forma artesanal. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 13 Introdução à Engenharia de Software • Por que devemos nos preocupar com o processo de desenvolvimento do software? O estudioso Pressman afirma que o software de computador é a tecnologia mais importante atualmente no mundo, pois: • Alterou modelos de negócios (e-commerce); • Aumentou perspectivas da ciência (genética); • Potencializou as telecomunicações; • Revolucionou a indústria fonográfica e cinematográfica. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 14 Introdução à Engenharia de Software • As potências econômicas são dependentes de software; • Como consequência, mais e mais empresas dependem de software para obter sucesso na sua área de atuação; INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 15 Introdução à Engenharia de Software • Além disso, cada vez mais os sistemas mundiais são controlados por SW, incluindo os de “Segurança-Crítica”: Uma falha pode resultar em acidentes, perdas de vidas ou perdas financeiras (ex.: usina nuclear, controle aéreo, dentre outros.). • Se alguns sistemas de uso global deixarem de funcionar, 40% da população sofrerá o impacto (REED, 2000). INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 16 Introdução à Engenharia de Software • O software é diferente de outros produtos pois: Possui invisibilidade, uma vez que não pode ser representado por estruturas geométricas ou embutido em um espaço físico: • É visto como um produto de pensamentos e de fácil alteração; • Requer boa habilidade dos projetistas para extrair informações dos clientes; • Necessita de boa comunicação entre os desenvolvedores para que o “mesmo software” seja desenvolvido por todos. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 17 Introdução à Engenharia de Software • O software é diferente de outros produtos pois: É diferente, por exemplo, da escalabilidade do hardware, pois: • Permite a repetição de elementos; • Facilita a interação entre elementos. A maioria dos softwares é feita sob medida e é difícil utilizá-lo em contextos semelhantes. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 18 Introdução à Engenharia de Software • O software é diferente de outros produtos pois: Tem necessidade de evolução constante: • Lei da modificação contínua: software deve ser continuamente adaptado ou ele se torna progressivamente menos satisfatórios; • Lei da complexidade crescente: à medida que o software evolui, sua complexidade aumenta (a menos que seja realizado um esforço para minimizá-la); • Lei da qualidade declinante: a qualidade do software parecerá estar declinando ao longo do tempo. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 19 Introdução à Engenharia de Software • 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 software de maneira que ele atinja seus objetivos dentro de contextos de sistemas complexos. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 20 Introdução à Engenharia de Software • Modelos de desenvolvimento de software: Ciclo de Vida Clássico (modelo Cascata); Prototipagem; Espiral; Técnicas de Quarta Geração. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 21 Atividade 1. Pressman afirma que “Software de computador é a tecnologia mais importante atualmente no mundo”. Você concorda com essa afirmação? Justifique sua resposta. 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. Na sua opinião, o que é engenharia de software (ES)? Por que é importante seguir um processo de no desenvolvimento de software? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 22 Técnicas e Projeto de Sistemas Técnico Subsequente Aula 02 – 2014 Thatiane de Oliveira Rosa INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnicas e Projeto de Sistemas – Técnico Subsequente 23