ES Introdução00

Embed Size (px)

Citation preview

  • Engenharia Informtica 2015/2016Viviane Cilene Lopes Fonseca

  • Disciplina

    Engenharia de Programao

    Curso, ano e semestre

    Engenharia Informtica, 4 ano, Primeiro Semestre

    Carga horria

    75h (Divididas entre aulas tericas e praticas)

  • Enquadramento e objetivos da disciplina

    Estudar os diferentes modelos de desenvolvimento e manuteno de aplicaes informticas nomeadamente os ciclos de vida do desenvolvimento de sistemas e a prototipagem.

    Proporcionar uma introduo geral aos problemas do desenvolvimento de sistemas e aplicaes com bases nas necessidades do utilizador.

  • Sistema de Avaliao

    NF = 0.6 x PF + 0.3 x TP + 0.1 x OEA

    NF - Nota Final

    PF - Projeto Final (realizado ao longo do semestre)

    TP - Trabalhos prticos (realizado ao longo do semestre)

    OEA - Assiduidade (realizado ao longo do semestre)

  • Programa da disciplina

    Software e Engenharia de Software

    Processo: Uma Viso Genrica

    Modelos Prescritivos de Processo

    Desenvolvimento gil

    Engenharia de Sistemas

    Engenharia de Requisitos

    Modelagem de Anlise

  • Programao orientada a objetos Projecto de software Construo de softwares em equipe. Como projetar software: poderosos mecanismos de

    abstrao; padres conhecidos por funcionarem com sucesso na prtica; como apresentar projetos de forma que voc possa comunic-los e critic-los de maneira eficiente

    Como implementar em Java Como fazer direito: software confivel e flexvel Como ser um arquiteto, no um simples programador

    de baixo nvel

  • Introduzir a Engenharia de Programao eexplicar a sua importncia.

    Por que a engenharia de software importante?

  • Programas de computador e a documentao associada tais comorequisitos, modelos de desenho e manuais de utilizadores

    Produtos de software podem ser desenvolvidos para algum emparticular ou para um determinado mercado em geral.

    Produtos de Software podem ser:

    Genricos desenvolvidos para serem distribuidos para um grupodiferenciado de pessoas

    medida desenvolvidos para uma determinada realiade especifica de algum conforme as suas necessidades

    Podem ser criados novos Software desenvolvendo novos programas, configurando software genrico ou reutilizando software existente

  • Engenharia de software uma disciplina quepreocupa com todos os aspectos de produo do software.

    Engenheiros de software devem adoptar umaabordagem sistemtica e organizada no seutrabalho e utilizarem ferramentas aproriadas e tcnicas adequadas ao problema que se pretenderesolver, as restries existentes e os recursosdisponveis.

  • As economias de quase todos os paises esto dependentes de

    Software.

    Investimentos em software representa uma fraco significativa do

    PNB de um nmero crescente de paises

    Contribuies do mercado de software economia americana

    Maior supervit comercial das exportaes

    24 bilhes de dlares em softwares exportados, 4 bilhes importados,

    totalizando um saldo positivo de 20 bilhes de dlares

    http://www.sei.cmu.edu/solutions/softwaredev/

    E em Cabo Verde ?

    http://www.nosi.cv/index.php?option=com_docman&Itemid=110&lang=pt

  • Naturesa dos Sistemas de Softwares conciste numa variedades de aplicaes: Comercias, Engenharias, Cientificas

    No apenas a Internet Tranporte, energia , medecina , finanas

    Os softwares esto se tornando cada vez mais presentes em dispositivos embutidos. Novos carros,por exemplo, tm entre 10 e 100 processadores para gerenciar todo tipo de funes, desde msica at frenagem.

    Varias Categorias de Softwares: Simples Complexos, uso interno em organizaes ou para uso

    publico, Local ou Distribuido, real time

  • Software negcio competitivo?

    desafios do desenvolvimento de software?

  • Desenvolver aplicaes de Software complexos e grandes implicam desafios enormes

    Esforo intenso

    Custo alto

    Tempo de desenvolmimento elevado

    Necessidade de aptar mudanas para os usurios

    Alto riscos de fracasso, aceitao do usario, desempenho, facilidade de manuteno

  • O custo de Software superior na maior dos casosdo custo do Hardware

    H um maior custo na manuteno de um Software do que na sua construo. E o custo de manuteno normalmente tende a aumentar com software com longa vida.

    Engenharia de software procura meios paradesenvolvimento de SW com custos eficientes.

  • Estudos indicam que os custos com desenvolvimento rondam 60% do custo total.

    Para sistemas medida os custos de evoluoquase sempre excedem o custo do desenvolvimento

    Custo variam dependendo no tipo de sistema emdesenvolvimento, nos requisitos do sistema

    Os custos de distribuio depende no modelo de desenvolvimento adoptado.

  • O software deve conter as funcionalidades e performances requeridas pelosutilizadores e deve ser fcil de manter e seguro

    Manuteno Software deve ser fcil de manter

    Segurana Deve ser confivel e seguro

    Eficincia No dever ser desperdiado recursos

    Aceitabilidade Deve ser aceitvel para os utilizadores para os quais foi desenhado, no que

    diz respeito a compreenso, usuabilidade, e compatibilidade com outrossistemas.

  • Software confivel, seguro, fcil de usar e de manter.

    Engenharia de SW concentra especificamente em produzir software com esses atributos e ao contrrio de programar no est somente preocupado com as funcionalidades de um sistema.

    Engenharia de Software particularmente importantepara sistemas em que as h organizaes e pessoas quedependem deles para fazerem seu trabalho

  • Cincia de Computao preocupa com teorias e os fundamentos; Eng. SW preocupa com a prtica de desenvolver e implantar software teis.

    Teorias da cincia de computao soinsuficientes para uma sustentao completa daEngenharia de Software.

  • Engenharia de Sistemas preocupa com todos os aspectos do desenvolvimeto de sistemas computacionais incluindohardware, software e o processo de engenharia

    Engenheiros de sistemas esto envolvidos na especificao, desenho da arquitectura, integrao e deployment

    Engenharia de Sofware parte deste processo preocupado com o desenvolvimento da infra-estrutura de software, do controlo, das aplicaes, bases de dados no sistema

  • Um conjunto de actividades cujo objectivo o desenvolvimento ou evoluao de um software.

    Actividades genricas em qualquer processo de software so: Especificao o que o software deve fazer e as

    restries no seu desenvolvimento Desenvolvimento produo do software Validao Validar se o que o software faz o que

    desejado por quem vai us-lo Evoluo mudanas no software em resposta s

    mudanas na realidade subjcante.

  • Uma representao simplificada de um processo de software apresentado de uma perspectiva especfica

    Exemplos de perspectivas so: Perspectiva do Workflow sequncia de actividades;

    Perspectiva Data-flow - fluxo de informao;

    Perspectiva Role/action quem faz o qu .

    Mdelos genricos de processo de SW Waterfall;

    Desenvolvimento iterativo

    Engenharia SW baseado em componentes

  • Abordagens ao desenvolvimeto de software que incluemmodelos de sistemas, notaes, regras de desing e guia do processo

    Descrio do modelo Descries do modelo grfico ;

    Regras Restries aplicadas ao modelo;

    Recomendaes Conselhos e boas prticas

    Guia do processo Que actividades seguir

  • Qd as ferramentas so integradas de forma que a informao criadapor uma ferramenta possa ser usada por outro estabelecido um

    Ou Sistema de suporte ao desenvolvimento Engenharia de Software auxiliada por computador

    finalidade oferecer mecanismos de automao para actividades do processo de software.

    Sistemas CASE so usados essencialmente como suporte a um determinado mtodo.

    Upper-CASE Ferramentas para suporte das actividades iniciais de requisitos e desenho;

    Lower-CASE Ferramentas para suportar as actividades de desenho e programao

  • (1) aplicao de uma abordagem sistemtica, disciplinada e quantificavel ao desenvolvimento, operao e manuteno de software, ou seja , a aplicao da engenharia ao Software

    (2) o estudo de abordagens do tipo delcarado em (1)

    IEEE standard 610.12

  • Engenharia de Software uma disciplina de Engenharia cujofoco so os vrios aspectos da produo de software.

    Produtos de software consistem em programas e respectivadocumentao. Atributos essncias tem a ver com a manuteno, segurana, eficincia e usuabilidade.

    O processo de software consiste em actividades relacionadascom o desenvolvimento de produtos software. Actividadesfundamentais so : especificao, desenvolvimento, validao e evoluo.

    Mtodos so formas organizadas de produzir software. Incluemsugestes ao processo que deve ser seguido, notao que deveser usada, regras para descrio do sistema.