CAPÍTULO 9 do SWEBBOOK TRADUZIDO.docx

Embed Size (px)

Citation preview

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    1/31

    CAPTULO 9

    MODELOS DE ENGENHARIA DE SOFTWARE

    E MTODOS

    SIGLAS

    3GL 3 Generativo Linguagem

    BNF Backups -Naur Form

    Driven Development Feature- FDD

    IDE de desenvolvimento integrado

    Ambiente

    PBI produtos Backlog itemDesenvolvimento Rpido de Aplicaes RAD

    UML Unified Modeling Linguagem

    Programao XP extreme

    INTRODUO

    Modelos de engenharia de software e mtodos

    Impor estrutura em engenharia de software com

    O objetivo de fazer que a atividade sistemtica,

    Repetvel, e, finalmente, mais sucesso orientada.

    Usando modelos oferece uma abordagem para o problema

    Resoluo de problemas, uma notao e procedimentos para o modelo

    Construo e anlise. Os mtodos proporcionam uma

    Aproximar a especificao sistemtica, design,

    Construo, teste e verificao do produto final -

    Software e produtos de trabalho associados.

    Modelos de engenharia de software e mtodos

    Alcance muito variado, de abordar um nico

    Software fase do ciclo de vida para cobrir o completo

    Ciclo de vida do software. A nfase desta

    rea de conhecimento (KA) em engenharia de software

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    2/31

    Os modelos e mtodos que englobam mltiplos

    Fases do ciclo de vida de software, uma vez que mtodos especficos

    Para as fases do ciclo de vida simples so abrangidos por outra kas.

    REPARTIO DE TEMAS PARA

    MODELOS DE ENGENHARIA DE SOFTWARE

    E MTODOS

    Este captulo sobre modelos de engenharia de software e

    Mtodos dividida em quatro principais reas temticas:

    Modelagem: discute a prtica geral

    De modelagem e apresenta tpicos de modelagemPrincpios; Propriedades e expresso de

    Modelos; sintaxe de modelagem, semntica e

    Pragmtica; e pr-condies, ps-condies,

    E invariantes.

    Tipos de Modelos: discute brevemente modelos

    E agregao de submodelos e fornece

    Algumas caractersticas gerais de tipos de modelo

    Comumente encontrados na engenharia de software

    Prtica.

    Anlise de Modelos: apresenta algumas das

    Tcnicas de anlise comuns utilizados na modelagem

    Para verificar a integridade, consistncia, exatido,

    Rastreabilidade e interao.

    Software Mtodosde engenharia: apresenta uma

    Breve resumo do software utilizada

    Mtodos de engenharia. Os guias de discusso

    O leitor atravs de um resumo da heurstica

    Mtodos, mtodos formais, prototipagem, e

    Mtodos geis.

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    3/31

    A composio de temas para o Software

    Engenharia Modelos e Mtodos KA mostrado

    Na Figura 9.1.

    1. Modelagem

    Modelagem de software est se tornando um penetrante

    Tcnica para ajudar engenheiros de software entender,

    9-2 SWEBOK Guia V3.0

    Engenheiro, e comunicar aspectos do software

    s partes interessadas apropriadas. Stakeholders

    So as pessoas ou partidos que tm uns declaradosOu juros implcitos no software (por exemplo,

    Usurio, comprador, fornecedor, arquiteto, autoridade de certificao,

    Avaliador, desenvolvedor, engenheiro de software, e

    Talvez outros).

    Embora existam muitas linguagens de modelagem,

    Notaes, tcnicas e ferramentas na literatura

    E, na prtica, existem conceitos gerais unificadores

    Que se aplicam de alguma forma a todos eles. O

    Seguintes sees fornecem fundo sobre estes

    Conceitos gerais.

    1.1 . Princpios de Modelagem

    [ 1 *, c2s2, c5s1, c5s2 ] [ 2 *, c2s2 ] [ 3 *, c5s0 ]

    Modelagem fornece o engenheiro de software com

    Uma abordagem organizada e sistemtica para representar

    Aspectos significativos do software sob

    Estudar, facilitando sobre o software de tomada de deciso

    Ou elementos dele, e comunicar os

    Decises significativas para os outros na parte interessada

    Comunidades. Existem trs princpios gerais

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    4/31

    Orientar essas atividades de modelagem:

    Modelo do Essentials: Gostei modelos no

    Geralmente representam cada aspecto ou recurso do

    O software sob todas as condies possveis.

    Modelagem tipicamente envolve o desenvolvimento s

    Esses aspectos ou caractersticas do software que

    Preciso de respostas especficas, abstraindo qualquer

    Informaes no essenciais. Esta abordagem

    Mantm os modelos gerencivel e til.

    Fornece Perspectiva: modelagem fornecePontos de vista do software em estudo utilizando

    Um conjunto definido de regras para a expresso da

    Modelar dentro de cada exibio. Esta perspectiva orientada

    Abordagem fornece a dimensionalidade

    Do modelo (por exemplo, uma vista estrutural,

    Vista comportamental, viso temporal, organizacional

    Visualizar, e outros pontos de vista como relevante).

    Organizar informaes em visualizaes focos

    Os esforos de modelagem de software em especfico

    Figura 9.1. Composio dos Tpicos para os modelos de Engenharia deSoftware e Mtodos KA

    Modelos e Mtodos de Engenharia de Software 9-3

    Preocupaes relevantes para essa viso usando oNotao apropriada, vocabulrio, mtodos,

    E ferramentas.

    Habilitar Comunicao Eficaz: modelagem

    Emprega o vocabulrio domnio de aplicao

    Do software, uma linguagem de modelagem e

    Expresso semntica (em outras palavras, significa

    Dentro do contexto). Quando utilizada com rigor

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    5/31

    E sistematicamente, esta resulta em modelagem

    Uma abordagem que facilita a comunicao eficaz

    Comunicao de informaes de software para

    Partes interessadas no projeto.

    Um modelo uma abstrao ou simplificao de

    Um componente de software. A consequncia do uso de

    Abstrao que nenhuma abstrao completamente

    Descreve um componente de software. Em vez disso,

    O modelo de software representado como um

    Agregao de abstraes, que, quando tomadoJuntos, descrevem aspectos apenas selecionados, perspectivas,

    Ou vistas somente aqueles que so necessrios

    Para tomar decises informadas e responder ao

    Razes para a criao do modelo, em primeiro lugar.

    Esta simplificao leva a um conjunto de pressupostos

    Sobre o contexto em que o modelo

    Colocado de maneira que tambm devem ser capturados no modelo.

    Ento, quando a reutilizao do modelo, estes pressupostos

    Podem ser validadas primeiro a estabelecer a relevncia do

    A modelo reutilizada dentro de seu novo uso e contexto.

    1.2 . Propriedades e Expresso de Modelos

    [ 1 *, c5s2, c5s3 ] [ 3 *, c4s1.1p7, c4s6p3,

    C5s0p3 ]

    Propriedades de modelos so aquelas caractersticas que distinguem

    De um modelo particular utilizado para caracterizar

    Sua completude, consistncia e correo

    Dentro da notao de modelagem escolhida e ferramental

    Utilizado. Propriedades de modelos incluem o seguinte:

    Integridade: o grau em que todos

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    6/31

    Requisitos foram implementados e

    Verificada no modelo.

    Consistncia: o grau em que o modelo

    No contm requisitos conflitantes, afirmaes,

    Restries, funes ou componente

    Descries.

    Correo: o grau em que o modelo

    Satisfaa as suas exigncias e especificaes de projeto

    E livre de defeitos.

    Os modelos so construdos para representar no mundo realObjetos e seus comportamentos para responder especfico

    Questes sobre como o software esperado

    Para operar. Interrogando os modelos ou

    Atravs da explorao, simulao, ou reviso de maio

    Expor reas de incerteza dentro do modelo e

    O software para que o modelo se refere. Estes

    Incertezas ou perguntas no respondidas a respeito

    Os requisitos, projeto e / ou implementao

    Podem ser tratados de forma adequada.

    O elemento de expresso primria de um modelo est

    Uma entidade. Uma entidade pode representar artefatos de concreto

    (Por exemplo, processadores, sensores, ou robs)

    Ou artefatos abstratos (por exemplo, mdulos de software

    Ou protocolos de comunicao). Entidades modelo

    Esto ligadas a outras entidades usando relaes

    (Em outras palavras, as linhas ou operadores textuais

    Sobre as entidades alvo). Expresso das entidades do modelo

    Pode ser realizada utilizando textual ou grfica

    Modelagem de lnguas; tanta linguagem de modelagem

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    7/31

    Tipos conectar entidades do modelo atravs da linguagem especfica

    Construtos. O significado de uma entidade pode

    Ser representado por seu formato, atributos textuais, ou

    Ambos. Geralmente, a informao textual adere

    Estrutura sinttica especfica da linguagem. A preciso

    Significados relacionados modelagem de contexto,

    Estrutura ou comportamento usando essas entidades e

    Relaes dependente da linguagem de modelao

    Usado, o rigor desenho aplicado na modelagem

    Esforo, a viso especfica que est sendo construdo, eA entidade qual o elemento notao especfica

    Pode ser ligado. Vrios pontos de vista do modelo

    Pode ser necessria para capturar a semntica necessrios do software.

    Ao usar os modelos suportados com a automao ,

    modelos podem ser verificados para a integralidade

    e consistncia. A utilidade destas verificaes

    depende muito do nvel de semntico e sinttico

    rigor aplicado ao esforo de modelagem , alm

    a ferramenta de suporte explcito. Correto tipicamente

    verificado atravs de simulao e / ou reviso .

    1.3 . Sintaxe , semntica e pragmtica

    [ 2 * c2s2.2.2p6 ] [ 3 * , c5s0 ]

    Os modelos podem ser surpreendentemente enganosa. o facto

    que um modelo uma abstrao com informao em falta

    pode levar um em uma falsa sensao de completamente

    compreenso do software a partir de um nico

    modelo . Um modelo completo ( " completo " ser

    9-4 SWEBOK Guia V3.0

    em relao ao esforo de modelagem ) pode ser uma unio

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    8/31

    de vrios submodelos e qualquer funo especial

    modelos . Exame e de tomada de deciso em relao

    a um nico modelo dentro desta coleo de

    submodelos pode ser problemtico.

    Compreender os significados precisos de modelagem

    construes tambm pode ser difcil . modelagem

    idiomas so definidos por sinttica e semntica

    regras . Para linguagens textuais , a sintaxe definida

    usando uma gramtica notao que define idioma vlido

    construes ( por exemplo, Backus -NaurForm ( BNF ) ) . Para linguagens grficas , a sintaxe

    definido utilizando modelos grficos chamado metamodelos .

    Tal como acontece com BNF , metamodelos definir a validade

    construes sintticas de uma modelagem grfica

    linguagem; metamodelo define como essas construes

    pode ser composta para produzir modelos vlidos .

    Semntica para linguagens de modelagem especificar o

    significados ligados s entidades e relaes

    capturado dentro do modelo . Por exemplo , um simples

    diagrama de duas caixas ligadas por uma linha est aberta

    para uma variedade de interpretaes . Sabendo que o

    diagrama em que as caixas so colocados e ligados

    um diagrama de objeto ou um diagrama de atividades

    pode auxiliar na interpretao deste modelo.

    Como uma questo prtica , geralmente h uma boa

    compreenso da semntica de um especfico

    modelo de software devido linguagem de modelagem

    selecionado, como linguagem de modelagem que utilizada para

    expressar entidades e relaes dentro desse modelo ,

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    9/31

    a base de experincia do modelador ( s ) , e o

    contexto no qual a modelao tem sido

    realizado e representado. Significado comunicada

    por meio do modelo , mesmo na presena

    de informaes incompletas por meio da abstrao ;

    pragmtica explica como o significado incorporada

    no modelo e de seu contexto e comunicada

    eficazmente aos outros engenheiros de software.

    H ainda casos, no entanto , onde o cuidado

    necessria a respeito de modelagem e semntica.Por exemplo, todas as partes do modelo importado da

    outro modelo ou biblioteca deve ser examinado para

    suposies semnticas que o conflito na nova

    ambiente de modelagem ; isso pode no ser bvia.

    O modelo deve ser verificado para documentado

    suposies . Embora a sintaxe modelao pode ser

    idnticas , o modelo pode significar algo muito

    diferente no novo ambiente , que um diferente

    contexto . Alm disso, consideram que, como software

    amadurece e as mudanas so feitas , a discrdia semntica

    pode ser introduzido , conduzindo a erros . com muitos

    engenheiros de software que trabalham em uma parte do modelo mais

    tempo juntamente com as atualizaes de ferramentas e, talvez, novo

    requisitos , h oportunidades para pores

    do modelo para representar algo diferente

    da inteno do autor original e modelo inicial

    contexto .

    1.4 . Pr-condies , ps-condies , e

    invariantes

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    10/31

    [ 2 * , c4s4 ] [ 4 * , c10s4p2 , c10s5p2p4 ]

    Ao modelar funes ou mtodos, o software

    engenheiro normalmente comea com um conjunto de

    suposies sobre o estado do software antes

    de , durante , e depois a funo ou o mtodo executado .

    Essas premissas so essenciais para a correta

    operao da funo ou mtodo e so

    agrupadas , para discusso, como um conjunto de pr-condies ,

    posteriores e constantes .

    Pr-condies : um conjunto de condies que devemser satisfeitas antes da execuo da funo

    ou mtodo . Se estas condies no possuem

    antes da execuo da funo ou mtodo,

    a funo ou mtodo pode produzir errnea

    resultados .

    Ps-condies : um conjunto de condies que

    a garantia de ser verdade aps a funo ou

    mtodo foi executado com sucesso. tipicamente ,

    as ps-condies representam a forma como o Estado

    do software foi alterado, como os parmetros

    passado para a funo ou mtodo tm

    alterados, como valores de dados tiverem sido alteradas ou

    como o valor de retorno foi afetada.

    Constantes : um conjunto de condies dentro do

    ambiente operacional que persistem (em

    outras palavras , no se alteram) antes e depois

    execuo da funo ou mtodo. estes

    invariantes so pertinentes e necessrios para a

    software eo correcto funcionamento do

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    11/31

    funo ou mtodo .

    2 . Tipos de modelos

    Um modelo tpico consiste de um agregado de

    submodelos . Cada sub-modelo uma descrio parcial

    e criado para uma finalidade especfica ; ele pode

    ser constitudo por um ou mais diagramas . o

    coleo de submodelos podem empregar mltipla

    Modelos e Mtodos de Engenharia de Software 9-5

    modelagem de idiomas ou uma nica linguagem de modelagem .

    A Unified Modeling Language (UML)reconhece uma rica coleo de diagramas de modelagem .

    A utilizao destes diagramas , juntamente com o

    construes de linguagem de modelagem, traz cerca de trs

    grandes tipos modelo comumente utilizados : Informao

    modelos , os modelos de comportamento , e modelos de estrutura

    (ver seco 1.1).

    2.1 . Modelagem de informaes

    [ 1 * , c7s2.2 ] [ 3 * , c8s1 ]

    Modelos de informao fornecem um foco central na

    de dados e informaes. Um modelo de informao um

    representao abstrata que identifica e define

    um conjunto de conceitos , propriedades, relaes e restries

    em entidades de dados . A semntica ou conceitual

    modelo de informao muitas vezes usado para fornecer

    algum formalismo e de contexto para o software que est sendo

    modelado como visto da perspectiva problema,

    sem a preocupao de como este modelo realmente

    mapeado para a implementao do software.

    O modelo de informao semntica ou conceitual

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    12/31

    uma abstrao e , como tal, inclui apenas o

    conceitos , propriedades, relaes e restries

    necessrio conceituar a viso do mundo real

    a informao . Transformaes subsequentes de

    o modelo de informao semntica ou conceitual

    conduzir elaborao de lgica e fsica , em seguida,

    modelos de dados como implementadas no software .

    2.2 . Modelagem Comportamental

    [1 * , c7s2.1 , c7s2.3 , c7s2.4 ] [2 * , c9s2 ]

    [ 3 * , c5s4 ]Modelos comportamentais identificar e definir as funes

    do software que est sendo modelado . Behavioral

    modelos geralmente tomam trs formas bsicas :

    mquinas de estado , modelos de fluxo de controle e fluxo de dados

    modelos . As mquinas de estado fornecer um modelo

    do software como uma coleo de estados definidos ,

    eventos e transies. As transies de software

    de um estado para o outro por meio de um vigiado

    ou evento subterrneo disparo que ocorre no

    ambiente modelado. Modelos de controle de fluxo

    descrever como uma seqncia de eventos faz com que os processos

    para ser ativado ou desativado . O comportamento do fluxo de dados

    tipificado como uma seqncia de etapas , onde os dados

    se move atravs de processos em relao a armazenamentos de dados ou

    dissipadores de dados .

    2.3 . estrutura de Modelagem

    [ 1 * , c7s2.5 , c7s3.1 , c7s3.2 ] [ 3 * , c5s3 ] [ 4 * , c4 ]

    Modelos de estrutura ilustrar o fsico ou lgico

    composio de software a partir do seu componente de vrias

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    13/31

    peas. Modelagem Estrutura estabelece a

    delimitada entre o software sendo

    executado ou modelado e do ambiente

    em que para operar . Alguns estrutural comum

    construes utilizadas na modelagem de estrutura so

    composio , decomposio, generalizao e

    especializao das entidades; identificao da causa

    relaes e cardinalidade entre entidades;

    ea definio de processo ou de interfaces funcionais .

    Diagramas de estrutura fornecidas pelo UMLpara a modelagem de estrutura incluem classe , componente,

    objeto , implantao e embalagens diagramas.

    3 . Anlise de Modelos

    O desenvolvimento de modelos de recursos para o software

    engenharia a oportunidade de estudar , raciocinar sobre ,

    e compreender a estrutura, funo operacional

    de uso e de montagem consideraes associadas

    com o software . Anlise de construdo

    modelos necessrio para garantir que esses modelos so

    completo , consistente e correto o suficiente para servir

    a sua finalidade pretendida para os stakeholders.

    As sees que seguem descrevem brevemente o

    tcnicas de anlise geralmente usado com software

    modelos para garantir que o engenheiro de software

    e outras partes interessadas ganhar apropriado

    valor a partir do desenvolvimento e utilizao de modelos .

    3.1 . Analisando por Integralidade

    [ 3 * , c4s1.1p7 , c4s6 ] [ 5 * , p8 - 11 ]

    A fim de ter um software que atende plenamente as necessidades

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    14/31

    das partes interessadas , a integralidade fundamental - de

    o processo de elicitao de requisitos para implementao de cdigo .

    Integralidade o grau em que

    todos os requisitos especificados foram implementadas

    e verificados. Os modelos podem ser verificados para

    integralidade por uma ferramenta de modelagem que utiliza tcnicas

    tais como anlise estrutural e de espao de estados

    anlise acessibilidade (que garantir que todos os caminhos em

    os modelos de estado so atingidos por algum conjunto de correta

    insumos ); modelos tambm podem ser verificados para a integralidademanualmente usando inspees ou outra reviso

    tcnicas ( veja a Qualidade de Software KA ) . erros

    9-6 SWEBOK Guia V3.0

    e avisos gerados por essas ferramentas de anlise e

    encontrado por inspeo ou reviso indicam provvel

    aes corretivas necessrias para garantir a integridade

    dos modelos .

    3.2 . Analisando a consistncia

    [ 3 * , c4s1.1p7 , c4s6 ] [ 5 * , p8 - 11 ]

    A consistncia o grau em que os modelos contm

    h exigncias conflitantes , afirmaes , restries

    descries de funes , ou componente.

    Normalmente , a verificao de consistncia realizada

    com a ferramenta de modelagem atravs de uma anlise automatizada

    funo; modelos tambm pode ser verificada a consistncia

    manualmente usando inspees ou outra reviso

    tcnicas ( veja a Qualidade de Software KA ) . como

    com integridade, erros e avisos gerados

    por estas ferramentas de anlise e encontrado por inspeo ou

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    15/31

    , indicar a necessidade de uma ao corretiva.

    3.3 . Analisando quanto correo

    [ 5 * , p8 - 11 ]

    A exatido o grau em que um modelo satisfaz

    seus requisitos de software e software

    especificaes de projeto , livre de defeitos , e, finalmente,

    atende s necessidades dos stakeholders. analisando

    para correo inclui a verificao correo sinttica

    do modelo ( isto , o uso correto da

    gramtica da linguagem de modelagem e construes ) everificao de correo semntica do modelo ( que

    , o uso da linguagem de modelagem constri a

    representar corretamente o significado do que

    que est sendo modelado ) . Para analisar um modelo para sinttica

    e correo semntica, se analisa -lo - quer

    automaticamente ( por exemplo , usando a modelagem

    ferramenta para verificar se h modelo correo sinttica )

    ou manualmente (usando inspees ou outra reviso

    tcnicas ) , procura de possveis defeitos e

    em seguida, remover ou reparar os defeitos confirmados

    antes que o software liberado para o uso.

    3.4 . Rastreabilidade

    [ 3 * , c4s7.1 , c4s7.2 ]

    Desenvolver software tipicamente envolve o uso ,

    criao e modificao de muitos produtos de trabalho

    tais como documentos de planejamento , especificaes de processo,

    requisitos de software , diagramas, desenhos

    e pseudo- cdigo , escrito mo e uma ferramenta gerado

    Cdigo , manual e casos de teste automatizadas e relatrios ,

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    16/31

    e arquivos e dados. Estes produtos de trabalho pode ser

    relacionados atravs de vrias relaes de dependncia

    ( por exemplo, usa , implementos , e testes ) . como o software

    est sendo desenvolvido, gerenciado, mantido, ou

    alargado , existe uma necessidade para mapear e controlar estes

    relacionamentos de rastreabilidade para demonstrar software

    requisitos coerncia com o software

    modelo ( consulte Requisitos de rastreamento no Software

    Requisitos KA ) e os muitos produtos de trabalho.

    Utilizao de rastreabilidade tipicamente melhora a gestode produtos de trabalho de software e processo de software

    qualidade ; ele tambm fornece garantias para as partes interessadas

    que todos os requisitos foram atendidos.

    A rastreabilidade permite a anlise de mudana uma vez que o software

    desenvolvido e liberado, j que as relaes

    para produtos de trabalho de software pode ser facilmente percorrido

    para avaliar o impacto da mudana. Modelagem de ferramentas tipicamente

    fornecer alguns meios automatizados ou manuais para especificar

    e gerenciar links de rastreabilidade entre os requisitos ,

    design, cdigo, e / ou entidades de teste que possa ser

    representados nos modelos e outros trabalhos de software

    produtos . ( Para mais informaes sobre a rastreabilidade,

    ver o Gerenciamento de Configurao de Software KA ) .

    3.5 . Anlise de Interao

    [ 2 * , c10 , c11 ] [ 3 * , c29s1.1 , c29s5 ] [ 4 * , c5 ]

    Interao anlise centra-se nas comunicaes

    ou relaes de controle de fluxo entre entidades

    usado para realizar uma tarefa ou funo especfica

    dentro do modelo de software . Esta anlise examina

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    17/31

    o comportamento dinmico das interaes

    entre as diferentes partes do modelo de software ,

    incluindo outras camadas de software (por exemplo, a operao

    sistema , middleware e aplicaes). ele

    tambm pode ser importante para algumas aplicaes de software

    para examinar as interaces entre o computador

    aplicao de software e da interface de usurio

    software . Alguns ambientes de modelagem de software

    proporcionar facilidades de simulao para estudar aspectos da

    o comportamento dinmico de software modelado. pisandoatravs da simulao fornece uma anlise

    opo para o engenheiro de software para analisar o

    design de interao e verificar que os diferentes

    partes do software trabalham juntos para fornecer o

    funes pretendidas .

    Modelos e Mtodos de Engenharia de Software 9-7

    4 . Mtodos de Engenharia de Software

    Mtodos de engenharia de software fornecem uma organizada

    e uma abordagem sistemtica para o desenvolvimento de software

    para um computador de destino . Existem inmeros

    mtodos de que para escolher , e importante

    para o engenheiro de software para escolher um apropriado

    mtodo ou mtodos para o desenvolvimento de software

    tarefa em mos ; esta escolha pode ter um efeito dramtico

    sobre o sucesso do projeto de software. A utilizao de estes

    mtodos de engenharia de software , juntamente com as pessoas

    de as capacidades corretas e ferramentas permitem que o software

    engenheiros para visualizar os detalhes do software

    e, finalmente, transformar a representao em um

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    18/31

    conjunto de trabalho de cdigo e dados.

    Mtodos de engenharia de software selecionadas so discutidas

    abaixo . As reas temticas so organizadas em

    discusses de mtodos heursticos , Mtodos Formais ,

    Prototipagem Mtodos e Mtodos geis .

    4.1 . Mtodos heursticos

    [ 1 * , C13 , C15 , C16 ] [ 3 * , c2s2.2 , c5s4.1 , c7s1 , ]

    Os mtodos heursticos so baseados na experincia daqueles

    mtodos de engenharia de software que foram e

    so bastante amplamente praticada na indstria de software.Esta rea tpico contm trs ampla discusso

    categorias: anlise e projeto estruturado

    mtodos, mtodos de modelagem de dados e a objetos

    anlise e mtodos de projeto .

    Anlise Estruturada e mtodos de design :

    O modelo de software desenvolvido principalmente

    do ponto de vista funcional ou comportamental ,

    a partir de uma vista de alto nvel do software

    (incluindo elementos de dados e controle )

    e , em seguida, a decomposio ou a refinao progressivamente

    os componentes do modelo atravs de cada vez

    projetos detalhados . O projeto detalhado

    eventualmente converge para detalhes muito especficos

    ou especificaes do software que deve ser

    codificado ( com a mo, gerado automaticamente , ou

    ambos) , construdo , testado e verificado.

    Mtodos de Modelagem de Dados: O modelo de dados

    construdo a partir do ponto de vista dos dados ou

    informaes usadas . Tabelas e relacionamentos de dados

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    19/31

    definir os modelos de dados . Esta modelagem de dados

    mtodo usado principalmente para definir

    e anlise de requisitos de dados de suporte

    projetos de banco de dados ou repositrios de dados tipicamente

    encontrado em software de negcios, onde os dados

    est ativamente gerenciados como um sistema de negcios

    recurso ou ativo .

    Anlise e Mtodos de projeto orientado a objetos :

    O modelo orientado a objeto representado

    como uma coleo de objetos que encapsulamdados e relacionamentos e interagir com outros

    objetos atravs de mtodos . Os objetos podem ser

    itens do mundo real ou itens virtuais. o software

    modelo construdo usando diagramas

    para constituir vistas seleccionadas do software .

    Refinamento progressivo dos modelos de software

    leva a um projeto detalhado . o detalhado

    projeto ento evoluiu atravs de sucessivos

    iterao ou transformada ( usando algum

    mecanismo ) para a viso de implementao

    do modelo , em que o cdigo e embalagens

    abordagem para a eventual produto de software

    liberao e implantao expressa .

    4.2 . Mtodos Formais

    [ 1 * , c18 ] [ 3 * , c27 ] [ 5 * , p8 - 24 ]

    Os mtodos formais so mtodos de engenharia de software

    usado para especificar , desenvolver e verificar se o software

    atravs da aplicao de um matematicamente rigorosa

    notao base e da linguagem. atravs da utilizao

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    20/31

    de uma linguagem de especificao , o modelo de software

    Pode ser verificada a consistncia (por outras palavras ,

    falta de ambigidade ) , integridade e exatido

    de forma sistemtica e automtico ou semi- automtico

    moda. Este tpico est relacionado com a Anlise Formal

    seo no Requisitos de Software KA .

    Esta seo aborda linguagens de especificao ,

    refinamento programa e derivao , verificao formal,

    e inferncia lgica .

    Especificaes Idiomas: Especificaolinguagens fornecem a base matemtica

    para um mtodo formal ; linguagens de especificao

    so formais , computador de nvel superior

    lnguas (em outras palavras, no um clssico

    3 Gerao Linguagem de programao ( 3GL )

    idioma ) utilizado durante o software

    especificaes, requisitos de anlise e /

    ou fases de concepo para descrever entrada especfica /

    comportamento de sada. Linguagens de especificao so

    lnguas no diretamente executveis ; eles so

    9-8 SWEBOK Guia V3.0

    tipicamente composta por uma notao e sintaxe,

    semntica para uso da notao, e um conjunto de

    permitiu relaes de objetos.

    Refinamento Programa e Derivao: Programa

    refinamento o processo de criao de um

    nvel mais baixo (ou mais detalhada) especificao

    usando uma srie de transformaes . atravs da

    transformaes sucessivas que o software

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    21/31

    engenheiro deriva uma representao executvel

    de um programa . As especificaes podem ser refinados ,

    adicionando detalhes at que o modelo pode ser formulado

    em uma linguagem de programao 3GL ou em

    uma parte executvel da especificao escolhido

    lngua . Esta especificao refinamento

    tornada possvel atravs da definio de especificaes com

    propriedades semnticas precisas; as especificaes

    deve definir no s as relaes entre

    entidades , mas tambm os significados exatos de tempo de execuoessas relaes e operaes.

    Verificao Formal : verificao de modelo

    um mtodo de verificao formal; tipicamente

    envolve a realizao de uma explorao de espao de estados

    ou anlise de acessibilidade para demonstrar

    que o projeto de software tem representado ou

    preserva certas propriedades modelo de interesse .

    Um exemplo de verificao de modelos uma

    anlise que verifica o comportamento correto programa

    sob todos os possveis intercalao de evento ou

    chegadas de mensagens. O uso de verificao formal

    exige um modelo de rigor especificado

    do software e seu ambiente operacional ;

    este modelo muitas vezes toma a forma de um

    mquina de estados finitos ou outro formalmente definida

    autmato .

    Inferncia lgica: inferncia lgica uma

    Mtodo de criao de software que envolve

    pr-condies e ps-condies especificando

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    22/31

    em torno de cada bloco significativo do design,

    e usando matemtica lgica de desenvolvimento

    a prova de que essas pr-condies e ps-condies

    deve manter em todas as entradas. este

    fornece uma maneira para que o engenheiro de software

    prever o comportamento do software sem ter

    para executar o software . alguns Integrado

    Ambientes de Desenvolvimento (IDEs) incluem

    formas de representar essas provas , juntamente com o

    design ou cdigo.4.3 . Mtodos de prototipagem

    [ 1 * , c12s2 ] [ 3 * , c2s3.1 ] [ 6 * , c7s3p5 ]

    Prototipagem de software uma atividade que geralmente

    cria verses incompletas ou minimamente funcional

    de uma aplicao de software , geralmente para tentar

    novas funcionalidades especficas para fora , feedback solicitando

    sobre os requisitos de software ou interfaces de usurio, mais

    requisitos de software que exploram , software

    design, ou opes de implementao e / ou ganhar

    outra viso til para o software. o

    engenheiro de software seleciona um mtodo de prototipagem para

    compreender os aspectos ou componentes menos compreendidos

    do software de primeira ; esta abordagem

    contraste com outros mtodos de engenharia de software

    que geralmente comeam com o desenvolvimento mais

    entendido pores primeiro . Normalmente, o prottipo

    produto no se tornar o software final

    produto sem extenso retrabalho desenvolvimento

    ou refatorao.

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    23/31

    Esta seo aborda estilos de prototipagem , metas ,

    e tcnicas de avaliao em breve .

    Estilo de Prototipagem : Este aborda os vrios

    abordagens para o desenvolvimento de prottipos . Prottipos

    pode ser desenvolvido como cdigo descartvel

    ou produtos de papel , como uma evoluo de um grupo de trabalho

    design, ou como uma especificao executvel.

    Diferentes processos de ciclo de vida de prototipagem so

    normalmente usado para cada estilo. O estilo escolhido

    baseia-se no tipo de resultados do projectonecessidades , a qualidade dos resultados necessrios , e

    a urgncia dos resultados.

    Prototipagem Alvo : O alvo do prottipo

    atividade o produto especfico que est sendo

    servido pelo esforo prototipagem. Exemplos

    alvos de prototipagem incluem um requisitos

    especificao , um elemento de design de arquitetura

    ou componente , um algoritmo , ou um humanmachine

    interface do usurio.

    tcnicas de prototipagem de avaliao: Um prottipo

    pode ser utilizado ou avaliado numa srie

    maneiras de o engenheiro de software ou

    outros participantes do projeto , impulsionado principalmente

    pelas razes subjacentes que levaram prottipo

    desenvolvimento em primeiro lugar . Prottipos

    pode ser avaliada ou testada contra

    o software implementado real ou contra

    Modelos e Mtodos de Engenharia de Software 9-9

    um conjunto de requisitos de alvo ( por exemplo, um

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    24/31

    requisitos prottipo ) ; o prottipo pode

    tambm servem como um modelo para um futuro software

    esforo de desenvolvimento ( por exemplo , como em um utilizador

    especificao de interface ) .

    4.4 . Mtodos geis

    [ 3 * , c3 ] [ 6 * , c7s3p7 ] [ 7 * , c6 , App . A]

    Mtodos geis nasceram na dcada de 1990 a partir da

    necessrio reduzir a grande sobrecarga aparente associada

    com pesos pesados , os mtodos baseados em plano utilizados

    em projetos de desenvolvimento de software em larga escala.Os mtodos geis so considerados mtodos leves

    em que eles so caracterizados por curto , iterativo

    ciclos de desenvolvimento , equipes auto-organizadas ,

    projetos mais simples , refatorao de cdigo , teste -driven

    desenvolvimento , o envolvimento do cliente freqente, e

    uma nfase na criao de um ambiente de trabalho demonstrvel

    produto com cada ciclo de desenvolvimento .

    Muitos mtodos geis esto disponveis na literatura ;

    algumas das abordagens mais populares ,

    que so discutidas aqui em breve , incluem rpida

    Desenvolvimento de Aplicaes (RAD) , eXtreme Programming

    (XP), Scrum e apresentam -Driven

    Desenvolvimento ( FDD) .

    RAD : mtodos de desenvolvimento de software rpidas

    so usados principalmente em uso intensivo de dados , businesssystems

    desenvolvimento de aplicaes. a RAD

    mtodo ativado com base de dados para fins especiais

    ferramentas de desenvolvimento usadas por software

    engenheiros para desenvolver rapidamente , testar e implantar

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    25/31

    aplicaes de negcios novos ou modificados .

    XP: Esta abordagem utiliza histrias ou cenrios

    para os requisitos , desenvolve os testes primeiro , tem

    envolvimento direto do cliente na equipe

    (normalmente definir os testes de aceitao ) , usa

    programao em pares , e prev a contnua

    refatorao de cdigo e integrao. histrias

    so decompostas em tarefas , priorizados , estima ,

    desenvolvido e testado . cada incremento

    de software foi testado com automatizadae testes manuais ; um incremento pode ser

    lanado com freqncia, como a cada dois

    semanas ou mais .

    Scrum : Essa abordagem mais gil do projeto

    do que os outros -friendly gesto. o

    scrum master gerencia as atividades dentro

    o incremento do projeto; cada incremento

    chamado de sprint e no dura mais do que 30

    dias. A Product Backlog item da lista ( PBI)

    desenvolvida a partir da qual as tarefas so identificadas ,

    definidos , priorizados e estimado. Um trabalho

    verso do software testado e

    lanado em cada incremento . scrum dirio

    reunies assegurar o trabalho gerenciado com o plano.

    FDD : Este um model-driven , short, iterativo

    abordagem de desenvolvimento de software utilizando

    um processo de cinco fases : (1) desenvolver um produto

    modelo para alcance a amplitude do domnio, (2)

    criar a lista de necessidades ou caractersticas , (3) construir

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    26/31

    o plano de desenvolvimento caracterstica , (4) desenvolver

    projetos para recursos especficos de iterao e

    (5 ), cdigo , teste e , em seguida, integrar os recursos.

    FDD semelhante a um software peridica

    abordagem de desenvolvimento ; tambm semelhante ao

    XP, exceto que a propriedade do cdigo atribudo

    a indivduos e no a equipe. FDD

    enfatiza uma abordagem arquitetnica global

    para o software , o qual promove a construo

    apresentam corretamente na primeira vez , em vez deenfatizando refatorao contnua.

    H muitas mais variaes de mtodos geis

    na literatura e na prtica. Note-se que

    sempre haver um lugar para o peso-pesado,

    mtodos de engenharia de software baseada em plano bem

    como locais onde os mtodos geis brilhar. tem

    novos mtodos resultantes de combinaes de gil

    mtodos baseados em planejar e onde os praticantes so

    mtodos .

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    27/31

    1.1 .

    princpios

    1.2 . Propriedades

    Modelos

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    28/31

    1.3 .

    1.4 .

    2.1 . informaes

    2.2 . Behavioral

    2.3 . estrutura

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    29/31

    3.1 .

    plenitude

    3.2 .

    consistncia

    3.3 .

    3.4 .

    3.5 . interao

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    30/31

    4.1 . heuristica

    Mtodos

    4.2 .

    4.3 . Prototipagem

    4.4 .

    A

    Referncias

  • 8/12/2019 CAPTULO 9 do SWEBBOOK TRADUZIDO.docx

    31/31

    23 , n. 9 ,