Você está na página 1de 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 item
Desenvolvimento 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
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 modelagem
Princpios; 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 Mtodos de 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.
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 declarados
Ou 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
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 fornece
Pontos 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 de
Software e Mtodos KA
Modelos e Mtodos de Engenharia de Software 9-3
Preocupaes relevantes para essa viso usando o
Notao 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
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 tomado
Juntos, 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
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 real
Objetos 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
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, e
A 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
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 -Naur
Form ( 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 ,
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
[ 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 devem
ser 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
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
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
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 UML
para 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
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 integralidade
manualmente 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
, 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 ) e
verificao 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 ,
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 gesto
de 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
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. pisando
atravs 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
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
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 encapsulam
dados 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
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: Especificao
linguagens 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
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 execuo
essas 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
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.
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 projecto
necessidades , 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
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
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 automatizada
e 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
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 de
enfatizando 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 .

















1.1 .
princpios




1.2 . Propriedades

Modelos





1.3 .




1.4 .







2.1 . informaes

2.2 . Behavioral





2.3 . estrutura






3.1 .
plenitude


3.2 .
consistncia


3.3 .

3.4 .

3.5 . interao



















4.1 . heuristica
Mtodos





4.2 .
4.3 . Prototipagem

4.4 .
A

Referncias












23 , n. 9 ,