Escolar Documentos
Profissional Documentos
Cultura Documentos
Análise de Sistemas Resumo
Análise de Sistemas Resumo
Um Pouco de Hist�ria:
Evolu��o:
- D�cada de 1950/60: os sistemas de software eram bastante simples e dessa forma as
t�cnicas de modelagem tamb�m;
- Era a �poca dos fluxogramas e diagramas de m�dulos;
- D�cada de 1970: nessa �poca houve uma grande expans�o do mercado computacional.
Sistemas complexos come�avam a surgir e, por consequ�ncia, modelos mais robustos
foram propostos. Nesse per�odo surge a programa��o estruturada e no final da d�cada
a an�lise e o projeto estruturado;
- D�cada de 1980: surge a necessidade de interfaces homem-m�quina mais
sofisticadas, o que originou a produ��o de sistemas de software mais complexos;
- A an�lise estruturada se consolidou na primeira metade dessa d�cada e em 1989
Edward Yourdon lan�a o livro An�lise Estruturada Moderna, tornando-o uma refer�ncia
no assunto;
- D�cada de 1990: nesse per�odo surge um novo paradigma de modelagem, a An�lise
Orientada a Objetos, como resposta a dificuldades encontradas na aplica��o da
An�lise Estruturada a certos dom�nios de aplica��o;
- Final da d�cada de 1990 e momento atual: o paradigma da orienta��o a objetos
atinge a sua maturidade. Os conceitos de padr�es de projetos (design patterns),
frameworks de desenvolvimento, componentes e padr�es de qualidade come�am a ganhar
espa�o;
- Nesse per�odo surge a Linguagem de Modelagem Unificada (UML), que � a ferramenta
de modelagem utilizada no desenvolvimento atual de sistemas.
Caracter�sticas do Software:
- Desenvolvido ou projetado por engenharia, n�o manufaturado no sentido cl�ssico;
- N�o se desgasta, mas se deteriora;
- A maioria � feita sob medida em vez de ser montada a partir de componentes
existentes;
Crise de Software:
Refere-se a um conjunto de problemas encontrados no desenvolvimento de software:
- As estimativas de prazo e de custo frequentemente s�o imprecisas;
* "N�o dedicamos tempo para coletar dados sobre o processo de desenvolvimento de
software."
* "Sem nenhuma indica��o s�lida de produtividade, n�o podemos avaliar com precis�o
a efic�cia de novas ferramentas, m�todos ou padr�es."
- A produtividade das pessoas da �rea de software n�o tem acompanhado a demanda por
seus servi�os;
* "Os projetos de desenvolvimento de software normalmente s�o efetuados apenas com
um vago ind�cio das exig�ncias do cliente."
- A qualidade de software �s vezes � menos que adequada;
* S� recentemente come�am a surgir conceitos quantitativos s�lidos de garantia de
qualidade de software;
- O software existente � muito dif�cil de manter;
* A tarefa de manuten��o devora o or�amento destinado ao software;
* A facilidade de manuten��o n�o foi enfatizada como um crit�rio importante.
Crise de Software � Resumindo
- Estimativas de prazo e de custo;
- Produtividade das pessoas
- Qualidade de software
- Software dif�cil de manter
- Mito: Se n�s estamos atrasados nos prazos, podemos adicionar mais programadores e
tirar o atraso;
- Realidade: O desenvolvimento de software n�o � um processo mec�nico igual �
manufatura. Acrescentar pessoas em um projeto torna-o ainda mais atrasado;
- Pessoas podem ser acrescentadas, mas com crit�rios. Somente de uma forma
planejada;
An�lise de Sistemas
- Estudo da organiza��o e funcionamento de uma ou mais atividades, com o objetivo
de gerar um conjunto de a��es informatizada que solucione, da melhor forma
poss�vel, um problema ou automatize uma a��o manual;
- M�todos: proporcionam os detalhes de como fazer para construir o software;
* Planejamento e estimativa de projeto;
* An�lise de requisitos de software e de sistemas;
* Projeto da estrutura de dados;
* Algoritmo de processamento;
* Codifica��o;
* Teste;
* Manuten��o;
An�lise de sistemas
- Conjunto de etapas que envolve m�todos, ferramentas e procedimentos;
- Essas etapas s�o conhecidas como componentes de ciclos de vida de software;
- Alguns ciclos de vida mais conhecidos s�o: ciclo de vida cl�ssico, prototipa��o,
modelo espiral;
Prototipa��o
- Processo que possibilita que o desenvolvedor crie um modelo do software que deve
ser constru�do;
- Idealmente, o modelo (prot�tipo) serve como um mecanismo para identificar os
requisitos de software;
- Apropriado para quando o cliente definiu um conjunto de objetivos gerais para o
software, mas n�o identificou requisitos de entrada, processamento e sa�da com
detalhes;
Atividades da Prototipa��o
- Obten��o dos requisitos: desenvolvedor e cliente definem os objetivos gerais do
software, identificam quais requisitos s�o conhecidos e as �reas que necessitam de
defini��es adicionais;
- Projeto r�pido: representa��o dos aspectos do software que s�o vis�veis ao
usu�rio (abordagens de entrada e formatos de sa�da);
- Constru��o do prot�tipo: implementa��o do projeto r�pido;
- Avalia��o do prot�tipo: cliente e desenvolvedor avaliam o prot�tipo;
- Refinamento dos requisitos: cliente e desenvolvedor refinam os requisitos do
software a ser desenvolvido;
- Ocorre neste ponto um processo de itera��o que pode conduzir a atividade 1 at�
que as necessidades do cliente sejam satisfeitas e o desenvolvedor compreenda o que
precisa ser feito;
- Constru��o de produto: identificados os requisitos, o prot�tipo deve ser
descartado e a vers�o de produ��o deve ser constru�da considerando os crit�rios de
qualidade;
Prototipa��o
- Cliente n�o sabe que o software que ele v� n�o considerou, durante o
desenvolvimento, a qualidade global e a manutenibilidade a longo prazo;
- N�o aceita bem a ideia que a vers�o final do software vai ser constru�da e
"for�a" a utiliza��o do prot�tipo como produto final;
- Desenvolvedor frequentemente faz uma implementa��o comprometida (utilizando o que
est� dispon�vel) com o objetivo de produzir rapidamente um prot�tipo;
- Depois de um tempo ele familiariza com essas escolhas, e esquece que elas n�o s�o
apropriadas para o produto final;
Resumindo:
- Introdu��o � An�lise de Sistemas
- Crise do software
- Ciclo do software
APOL 1 (corrigido)
(1) - Quanto a CRISE DO SOFTWARE � correto afirmar:
A) As estimativas de prazo e custo subiram.
B) A produtividade dos profissionais de desenvolvimento baixou.
C) A qualidade do software caiu.
D) (x) Todas as alternativas anteriores est�o corretas.
(7) - Processo que possibilita que o desenvolvedor crie um modelo do software que
deve ser constru�do.
A) Ciclo de Vida do Software.
B) (x) Prototipa��o.
C) RAD (rapid application development).
D) Ciclos de Desenvolvimento �gil.
(8) - De acordo com Sommerville, o software compreende tudo o que � necess�rio para
um sistema computacional funcionar: Programa de computador, documenta��o, arquivos
de configura��o, entre outros, e existe por causa das necessidades de clientes.
Como transformar a necessidades em software?
A) Devem ser consideradas as atividades de como entender as necessidades do
cliente.
B) Planejar a solu��o, implementar a solu��o, validar esta solu��o.
C) Garantir a entrega do produto ao cliente.
D) (x) Todas as alterantivas anteriores est�o corretas.
(10) - No final dos anos 40 at� os anos 60, quando se iniciou a evolu��o dos
sistemas computadorizados, grande parte dos esfor�os - e consequentes custos - se
concentravam em que?
A) Na An�lise Estruturada.
B) No desenvolvimento do software.
C) (x) No desenvolvimento do Hardware.
D) Na documenta��o do software.
APOL 2 (corrigido)
(1) - Em rela��o � metodologia estruturada,
� correto afirmar que:
A) A An�lise Estruturada � uma t�cnica de modelagem da estrutura da organiza��o.
B) O Projeto do Fluxo de Dados (DFDesign) � utilizado no planejamento da
implanta��o.
C) Diagrama de Fluxo de Dados (DFD) n�o tem utilidade para a An�lise de Requisitos.
D) (x) A An�lise Estruturada � uma t�cnica de modelagem do conte�do e do fluxo de
informa��o
(2) - An�lise Essencial � o modelo do que o sistema tem que fazer, de forma a
satisfazer os requisitos do utilizador, com o m�nimo poss�vel de informa��o sobre
como o sistema deve ser implementado.
As alternativas a seguir apresentam as ferramentas que fazem parte do Modelo
Essencial, � exce��o de uma. Assinale-a.
A) Diagrama Entidade Relacionamentos
B) DFD por Eventos
C) (x) Fluxograma
(7) - Na �rea de Engenharia de Software, uma Ferramenta CASE pode ser utilizada
como:
Assinale a alternativa correta
A) (x) apoio automatizado aos processos de software e fornecimento de informa��es
sobre o software que est� sendo desenvolvido
B) apoio ao processo de manuten��o dos reposit�rios de dados que s�o gerados ap�s a
fase de implanta��o do software
C) apoio ao processo de seguran�a de software, a fim de evitar que usu�rios mal-
intencionados acessem indevidamente o software
D) apoio educacional para treinamento automatizado dos usu�rios do software
Grandes mudan�as nos �ltimos anos, e o avan�o da tecnologia, levaram a uma passagem
da antiga sociedade industrial para a sociedade baseada em informa��o.
Nos dias de hoje, a empresa que disp�e de mais informa��es sobre seu processo est�
em vantagem em rela��o a suas competidoras.
Evolu��o:
- Anos 60: Textos e fluxogramas para especificar a l�gica dos sistemas;
- Meados de 70: An�lise estruturada: m�todo que utiliza os componentes e conceitos
da programa��o estruturada (Tom DeMarco, Gane & Sarson);
- Anos 80: Surge a abordagem de estrutura de dados como forma de modelar sistemas;
- Anos 90: Surge a abordagem orientada a objetos.
An�lise Estruturada
A an�lise estruturada � uma abordagem sistem�tica para fazer a an�lise de um
sistema de modo a produzir uma especifica��o funcional;
Processo
- Representa um transformador de informa��es que resida dentro dos limites do
sistema a ser modelado;
Entidade externa
- Representa um produtor ou consumidor de informa��es que resida fora dos limites
do sistema a ser modelado;
Fluxo de dados
- Representa o deslocamento de um item de dado ou cole��o de itens de dados;
Dep�sito de dados
- Representa um reposit�rio de dados que s�o armazenados para serem usados em um ou
mais processos;
O dicion�rio de dados
- Proposto como gram�tica quase formal para descrever o conte�do de objetos
definidos durante a an�lise estruturada;
- A maioria dos DD cont�m as seguintes informa��es;
- Nome: o nome principal do item de dados, do dep�sito de dados ou de uma entidade
externa;
- Alias: outros nomes usados para a primeira entrada;
- Onde � usado/Como � usado: listagem dos processos que usam o item de dados e como
ele � usado;
- Ex.: entrada no processo, sa�da do processo;
- Descri��o de conte�do: nota��o para representar o conte�do;
- Informa��o complementar: outras informa��es sobre tipos de dados, dom�nios,
restri��es ou limita��es;
DTE � Elementos
- S�o: estado, transi��o e a��o;
- As setas indicam como o sistema reage a eventos quando eles passam pelos estados
do sistema.
Estados T�picos
- Aguardando o usu�rio introduzir sua senha;
- Aguardando o pr�ximo comando;
- Aguardando dados para instrumento;
- Acelerando o motor;
- Aquecendo uma mistura qu�mica;
- Misturando ingredientes;
- Enchendo o tanque;
- Ocioso.
An�lise Essencial
O Desenvolvimento de um Sistema
Ciclo de vida do desenvolvimento de sistemas
An�lise -> Projeto -> Implementa��o
- A an�lise essencial, prop�e o particionamento do sistema por eventos;
- Um evento pode ser definido informalmente como um acontecimento do mundo externo,
que requer uma resposta do sistema;
- Um est�mulo � um ativador de uma fun��o do sistema. � a forma como o evento age
sobre o sistema;
- Uma resposta � o resultado gerado pelo sistema devido � ocorr�ncia de um evento;
Defini��es
- Processo: conjunto de atividade que produz, modifica ou atribui qualidade �s
informa��es;
- Dep�sito de dados: conjunto de informa��es armazenadas pelo processo que ser�o
utilizadas por algum processo;
- Entidade externa: � algo situado fora do escopo do sistema, que � fonte ou
destino das suas informa��es;
- Fluxo de dados: o nome deve expressar o significado do conjunto de informa��es
que est� fluindo.
Miniespecifica��o
- A miniespecifica��o define a forma pela qual os fluxos de dados de entrada s�o
transformados em fluxos de dados de sa�da, independente do fato da fun��o ser
executada manualmente ou por outra forma de implementa��o;
- Em rela��o ao segundo aspecto, as principais t�cnicas de especifica��o s�o:
* portugu�s estruturado;
* pseudoc�digo;
* tabela de decis�o;
* �rvore de decis�o.
Diagrama Entidade
- O diagrama entidade relacionamento � um modelo diagram�tico que descreve o modelo
de dados de um sistema com alto n�vel de abstra��o. Principal representa��o do
Modelo de Entidades e Relacionamentos.
DER � Componentes
- Composto de poucos s�mbolos gr�ficos que representam relacionamentos do banco;
- Ret�ngulo: � a entidade do BD, que muito provavelmente ser� uma tabela quando o
banco for criado;
- Losango: representa o relacionamento entre as entidades;
- Tri�ngulo: representa as especializa��es;
- Bolinhas: representa os atributos;
- Chaves prim�rias: uma chave prim�ria � um atributo usado como identificador do
item na entidade. Deve ser �nico;
- Entidades: s�o qualquer elemento que possua atributos que ser�o utilizados na
base de dados, exemplo: CPF.
- Chaves estrangeiras: s�o respons�veis pelo relacionamento entre duas entidades;
- Relacionamento: os relacionamentos ocorrem entre as entidades, e esse conjunto
forma a base do banco de dados;
- O relacionamento 1-1 (um para um) ocorre quando uma se relaciona com no m�ximo 1
para com a outra;
- Os relacionamentos 1-N (um para n, um para muitos) ocorrem quando o
relacionamento da entidade A para entidade B � de no m�ximo 1 e de B para A de no
m�ximo N;
- Os relacionamentos N-N (n para n, muitos para muitos) ocorrem quando tanto de A
para B quanto de B para A o m�ximo de N;
- Um exemplo desse tipo de relacionamento � o de compra, onde um cliente pode
comprar v�rios produtos, e um produto pode ser comprado por v�rios clientes;
Caracter�sticas
- Concentra-se nos aspectos essenciais do objeto sem detalhamento, focando em suas
caracter�sticas e o que ele faz;
- Impede que um sistema se torne t�o interdependente;
- Combina estrutura (dados) e comportamento (fun��es) em um �nico objeto;
- Compartilha elementos estruturais e de comportamento com objetos de n�veis
inferiores;
- Enfatiza estrutura de objetos ao inv�s da estrutura de procedimentos;
Conceitos
- Objeto: cada conceito � uma ideia que temos do mundo. Essas coisas as quais
nossos conceitos se aplicam s�o denominados objetos. Um objeto pode ser real ou
abstrato, exemplo: avi�o;
- Classe: � a representa��o do objetos com seus atributos e m�todos;
- M�todos ou servi�os: as a��es que um objeto pode executar, exemplos: latir,
comer, sentar, dormir etc.;
- Atributos: s�o caracter�sticas que descrevem o objeto, exemplos: objeto: c�o �
possui nome, idade, peso, cor etc.;
- Abstra��o: s� deve ser representado aquilo que vai ser usado. Nos objetos s�o
representadas somente as caracter�sticas que s�o relevantes para o problema em
quest�o, exemplo: cor dos olhos (toda pessoa tem) � n�o � relevante para um sistema
de folha de pagamento;
- Encapsulamento: os dados e os processos que tratam esses dados est�o
"encapsulados" numa �nica entidade. Os objetos agem como uma �caixa preta�, se
utiliza sem precisar saber como ele funciona;
- Hierarquia de classes: classe que tem caracter�sticas comuns e que podem fazer
parte de uma classe (categoria) maior;
- Classes ancestrais: classes das quais as outras dependem;
- Classes descendentes: as classes originadas a partir de outra;
- Heran�a: significa que todos os atributos e m�todos programados no ancestral j�
estar�o automaticamente presentes em seus descendentes sem necessidade de
reescrev�-los;
- Polimorfismo: � o princ�pio relacionado com as diferentes formas de um objeto;
- O polimorfismo pode ser visto no exemplo abaixo, onde se pode instanciar o objeto
janela de v�rias formas: Janela(), Janela(1 x 2, 2), Janela(1 x 2, 2, azul);
- Agrega��o: � um mecanismo que permite a constru��o de uma classe agregada a
partir de outras classes componentes, exemplo: casa;
- Associa��o: � usada para agrupar objetos que ocorrem em algum ponto no tempo ou
sob circunst�ncias similares. A associa��o � modelada atrav�s de uma conex�o de
ocorr�ncias;
An�lise Estruturada
- Dimens�o exata das necessidades
- Exp�e o que � feito por gr�ficos
- Dirigido para uma ferramenta
- Exige an�lise de cima para baixo atrav�s de refinamentos
An�lise Essencial
- Os eventos s�o a pedra fundamental dos sistemas
- Especifica��o de um sistema deve come�ar pela identifica��o dos eventos
Dificuldade
- Usu�rios n�o pensam em seus problemas de forma orientada a objetos
- Requisitos n�o s�o orientados a objetos
APOL 3 (corrigido)
(1) - A Engenharia de Software se preocupa em sistematizar o desenvolvimento
atrav�s de modelos, t�cnicas e ferramentas para o produto e para o processo.
Com essa afirma��o podemos dizer ent�o que a Engenharia de Software �:
A) � uma metodologia de desenvolvimento de software.
B) � um processo de desenvolvimento de software.
C) (x) � uma disciplina da engenharia dedicada a todos os aspectos da produ��o de
software.
D) � um t�pico de desenvolvimento de software.
(3) - Dentro dos princ�pios da Engenharia de Software podemos destacar fases que
completam o ciclo de vida do sistema.
Estas fases s�o apresentadas em qual das alternativas a seguir?
A) (x) Defini��o, Desenvolvimento, Opera��o e Retirada.
B) Levantamento, Defini��o, Codifica��o, Testes e Manuten��o.
C) Distribui��o, Instala��o, Utiliza��o e Manuten��o.
D) Migra��o, Defini��o, Opera��o e Retirada.
(7) - Estabelece quais fun��es s�o requeridas pelo sistema e as restri��es sobre a
opera��o e o desenvolvimento do sistema. Objetiva fornecer m�todos para compreender
a natureza de um problema e estabelecer com exatid�o o que um sistema deve fazer.
Estamos falando do:
A) Estudo de Viabilidade.
B) Levantamento de Requisitos.
C) (x) Gerenciamento de Requisitos.
D) Requisito.
(10) - A maior parte dos requisitos de software para sistemas de informa��o s�o
escritos utilizando-se linguagem natural. Esta falta de formalidade na captura dos
requisitos implica em uma s�rie de potenciais problemas.
Dentre os problemas que podemos encontrar temos a Ambiguidade, que ocorre nas
seguintes situa��es:
A) Requisitos que deixam de fora parte da informa��o necess�ria � sua compreens�o.
B) (x) Falta de clareza ou duplo sentido de frases ou express�es na descri��o o do
requisito. Este tipo de requisito leva a interpreta��es erradas ou inconsistentes
das necessidades reais dos usu�rios.
C) Requisitos que n�o estabelecem claramente qual deve ser a a��o do sistema frente
a uma dada situa��o. De modo geral cont�m palavras do tipo: mas, com exce��o,
apesar e quando.
D) Requisitos que concatenam v�rios requisitos em um s�. Estes requisitos devem ser
separados para facilitar a tarefa de prioriza��o e ger�ncia de mudan�as.
Software
INSTRU��ES: que quando executadas produzem a fun��o e o desempenho desejados.
DOCUMENTOS: que descrevem a opera��o e o uso dos programas.
ESTRUTURAS DE DADOS: que possibilitam que os programas manipulem adequadamente a
informa��o.
Caracter�sticas do Software
- Desenvolvido ou projetado por engenharia, n�o manufaturado no sentido cl�ssico.
- N�o se desgasta mas se deteriora.
- A maioria � feita sob medida em vez de ser montada a partir de componentes
existentes.
Aplica��es do software
- B�SICO cole��o de programas escritos para dar apoio a outros programas.
- DE TEMPO REAL que monitora, analisa e controla eventos do mundo real
- COMERCIAL sistemas de opera��es comerciais e tomadas de decis�es.
- CIENT�FICO E DE ENGENHARIA caracterizado por algoritmos de processamento de
n�meros.
Engenharia de Software
O termo Engenharia de Software surgiu em uma confer�ncia no final da d�cada de 60.
A proposta inicial era a sistematiza��o do desenvolvimento de software, que deveria
ser tratado com engenharia e n�o como arte. Desta forma, a ideia foi propor a
utiliza��o de m�todos, ferramentas e t�cnicas para a produ��o de software
confi�vel, correto e entregue respeitando os prazos e custos definidos.
Metodologias
Instrumentos
- representa��o do software durante seu desenvolvimento;
- Nota��es
- Linguagens
- Crit�rios de Qualidade: Como avaliar o desenvolvimento;
- Exemplos: UML, An�lise estruturada, Analise Essencial;
Ferramentas
Suporte autom�tico aos m�todos
- CASE - Computer Aided Software Engineering;
Ambientes de desenvolvimento:
- ferramentas integradas
- hardware + Software (de suporte) + Banco de Dados
Engenharia de Requisitos
"Estabelecer quais fun��es s�o requeridas pelo sistema e as restri��es sobre a
opera��o e o desenvolvimento do sistema". Sommerville p. 46.
Objetivos
- Descrever as principais atividades da engenharia de requisitos;
- Descrever Documento de Vis�o;
- Estrutura do Documento de Vis�o;
- Criar e manter um documento de requisitos.
Possui 4 subprocessos
- Estudo de viabilidade;
- Elicita��o e an�lise de requisitos;
- Especifica��o;
- Valida��o de requisitos.
Estudo de viabilidade
- Atividade breve para responder:
* Em que o sistema contribui?
* Pode ser implementado na tecnologia atual?
* Restri��es de prazo e custos
* Pode ser integrado com outros sistemas?
Tipos de Requisitos
O que s�o requisitos?
Uma senten�a identificando uma capacidade, uma caracter�stica f�sica ou um fator de
qualidade que limita um produto ou um processo (IEEE 1220-1994).
Requisitos do usu�rios
� algum comportamento ou caracter�stica que o usu�rio deseja do software ou o
sistema como um todo.
S�o escritos pelo pr�prio usu�rio ou levantados por analistas de sistemas.
Requisito da informa��o:
- Representa a informa��o que o cliente deseja obter do sistema. S�o as respostas
fundamentais do sistema.
Em Casos de Uso
- O objetivo de listar os casos de uso � ter informa��es de como o sistema interage
e quais consultas e transforma��es s�o necess�rias.
Estudo de Viabilidade
- Estudo que indica se o esfor�o em desenvolver a id�ia vale a pena e visa tanto a
tomada de decis�o como a sugest�o de poss�veis alternativas de solu��o.
- Deve oferecer informa��es para ajudar na decis�o.
- Se o projeto pode ou n�o ser feito.
- Se o produto final ir� ou n�o beneficiar os usu�rios interessados.
- Escolha das poss�veis solu��es
- Deve oferecer informa��es para ajudar na decis�o.
- Se o projeto pode ou n�o ser feito.
- Se o produto final ir� ou n�o beneficiar os usu�rios interessados.
- Poss�veis solu��es.
Elicita��o de Requisitos
- Tamb�m denominada de descoberta de requisitos.
- Envolve pessoal para descobrir o dom�nio da aplica��o, servi�os que devem ser
fornecidos bem como restri��es.
- Deve envolver usu�rios finais, gerentes, pessoal envolvido na manuten��o,
especialistas no dom�nio, etc...(Stakeholders).
Casos de Uso
- Discuta com o cliente o que o sistema far�;
- Identique quem interage com o sistema;
- Identique que interfaces o sistema ter�.
Resumindo:
- Sistemas de software s�o reconhecidamente importantes ativos estrat�gicos para
diversas organiza��es.
- Os sistemas t�m papel vital no apoio aos processos de neg�cio, ent�o �
fundamental que os sistemas funcionem de acordo com os requisitos estabelecidos.
- Neste contexto, uma importante tarefa no desenvolvimento de software � a
identifica��o e o entendimento dos requisitos dos neg�cios que os sistemas v�o
apoiar.
O Sucesso
Clientes satisfeitos
Eles est�o satisfeitos quando voc�:
- atende �s expectativas
- entrega no prazo
- entrega tudo dentro do or�amento
3- Ger�ncia de requisitos
- Especifique os requisitos completamente
- Gerencie expectativas, mudan�as e erros
- Controle o aumento do escopo
- Defina a equipe e a mantenha informada
Gerenciamento de Requisitos
- � o processo de controlar as mudan�as dos requisitos durante o processo da
engenharia de requisitos e do desenvolvimento do sistema;
Estudo de Viabilidade
- Estudo que indica se o esfor�o em desenvolver a ideia vale a pena e que visa
tanto � tomada de decis�o quanto � sugest�o de poss�veis alternativas de solu��o;
- Deve oferecer informa��es para ajudar na decis�o;
*- Se o projeto pode ou n�o ser feito
*- Se o produto final pode ou n�o beneficiar usu�rios
*- Escolher poss�veis solu��es
- Requisitos s�o inevitavelmente incompletos e inconsistentes
Rastreamento
- Respons�vel por depend�ncias entre requisitos, suas origens e o projeto do
sistema
Rastreamento � Tipos
Rastreamento de origem
- Associa��o entre requisitos e stakeholders que propuseram tais requisitos
Rastreamento de requisitos
- Associa��o entre requisitos dependentes
Rastreamento de projeto
- Associa��o dos requisitos com o projeto
Levantamento e An�lise
- �s vezes conhecidos como levantamento de requisitos ou descoberta de requisitos
- A equipe t�cnica trabalha com o cliente e com os usu�rios para descobrir mais
informa��es sobre o dom�nio da aplica��o, servi�os do novo sistema, desempenho e
restri��es operacionais
- Pode envolver usu�rios finais, gerentes, engenheiros envolvidos em manuten��o,
especialistas no dom�nio etc. (chamados stakeholders do sistema)
Atividades do Processo
- Entendimento do dom�nio
- Coleta dos requisitos
- Classifica��o
- Resolver conflitos
- Definir prioridades
- Verificar os requisitos
Revis�o de Requisitos
- Revis�es regulares devem ocorrer durante a formula��o da defini��o dos requisitos
- Cliente e equipe devem estar envolvidos nas revis�es
- As revis�es podem ser formais (com documentos completos) ou informais
- Boa comunica��o entre os clientes, os usu�rios e a equipe pode resolver problemas
em est�gios iniciais
Rastreamento de Requisitos
- O rastreamento de requisitos � um item de qualidade na produ��o de software
- � utilizado para prover relacionamentos entre requisitos, arquitetura e
implementa��o final do sistema
- A rastreabilidade pode ser vista como a habilidade de acompanhare de descrever a
vida de um requisito
T�cnicas e Ferramentas
Poss�vel classifica��o para t�cnicas de rastreabilidade mais comuns
- Podemos relacionar a refer�ncia cruzada de documentos
- Uma das ferramentas mais comuns que podemos utilizar � a matriz de
rastreabilidade
Engenharia de Requisitos
Algumas possibilidades de se fazer engenharia de requisitos em projetos de software
- Usar t�cnica de Casos de Uso
- Usar t�cnicas de An�lise Essencial:
*- Diagrama de Contexto, DFD, DER, pseudoc�digo
*- entrevistas
Estudo de Viabilidade
O que estudar?
- Sistema organizacional apresentado
- Problemas com o sistema apresentado
- Objetivos e outros requisitos para o novo sistema
- Restri��es
- Alternativas poss�veis
- Sistema atual � geralmente uma das alternativas
- Vantagens e desvantagens das alternativas
Casos de Uso
- Discuta com o cliente o que o sistema far�
- Identifique quem interage com o sistema
- Identifique que interfaces o sistema ter�
Pontos-Chaves
O processo de engenharia de requisitos inclui diversos itens
- Estudo de viabilidade
- Levantamento e a an�lise de requisitos
- Especifica��o de requisitos
- Valida��o de requisitos
- Gerenciamento de requisitos
Resumindo
- O processo de engenharia de requisitos agrega qualidade ao processo de
desenvolvimento e manuten��o de software
E para isso acontecer precisamos estar auxiliados por uma boa metodologia e
ferramentas CASE!!
UML
UML (Unified Modeling Language) � Linguagem de Modelagem Unificada
� uma linguagem de modelagem (visual), n�o uma linguagem de programa��o.
Permite a utiliza��o de diagramas padronizados para especifica��o e visualiza��o de
um sistema.
� uma linguagem de modelagem n�o propriet�ria.
UML - Historico
Surgiu da uni�o de tr�s metodologias de modelagem:
- M�todo de Booch, de Grady Booch;
- M�todo OMT (Object Modeling Technique) de Ivar Jacobson.
- M�todo OOSE (Object Oriented Software Engineering) de James Rumbaugh.
A primeira vers�o foi lan�ada em 1996 e em 1997 a UML foi adotada pela a OMG
(Object Management Group � Grupo de gerenciamento de Objetos) como padr�o em
modelagem.
UML � Modelagem
Modelos Proporcionam:
- Visualiza��o do sistema.
- Especifica��o da estrutura ou comportamento do sistema.
Guia para a constru��o do sistema.
Documenta��o das decis�es tomadas.
UML � Diagramas
Representa��o Gr�fica de um conjunto de e lementos.
A UML conforme a modelagem possuem alguns diagramas.
Estrutural (Est�tica):
- Diagrama de Classes.
- Diagramas de Objetos.
- Diagrama de Caso de Uso.
- Diagrama de Componentes.
Din�mico (Comportamental):
- Diagrama de Estados.
- Diagrama de Atividades.
- Diagrama de Colabora��o.
- Diagrama de Seq��ncia.
Diagramas
Os documentos gerados em um processo de desenvolvimento s�o chamados de artefatos
na UML.
Os artefatos comp�e as vis�es do sistema.
A UML define 15 diagramas.
Esta quantidade de diagramas � justificada pela necessidade de analisar o sistema
por meio de diferentes perspectivas.
Cada diagrama fornece uma perspectiva parcial do sistema.
Ferramentas CASE auxiliam na constru��o e gerenciamento dos diagramas UML.
Ferramentas CASE
Ferramenta que oferece conjunto de servi�os, relacionados, para apoiar uma ou mais
atividades do processo de desenvolvimento de software.
Estudar ferramentas CASE � estudar:
Como construir:
- Defini��o de requisitos e arquitetura.
Como usar:
- processo de ado��o, avaliar e sele��o.
Tamb�m podem ser classificadas de acordo com os servi�os que oferecem, dentre as
quais, cita-se:
- Gerenciamento de configura��o.
- Controle de Qualidade.
- Programa��o.
- Documenta��o.
- An�lise e Projeto.
Diagrama de Objetos:
- Representam inst�ncias est�ticas de elementos dos diagramas de classes.
- Os diagramas de objetos s�o �teis para a modelagem de estruturas de dados
complexas.
Diagrama de Sequencia:
- Mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem ser
enviadas entre eles.
Diagrama de Colabora��o:
- Mostra conjuntos de objetos, seus relacionamentos e as mensagens que enfatizam a
organiza��o dos objetos que trocam mensagens.
Diagrama de Estados:
- Mostra uma m�quina contendo estados, transi��es, eventos e atividades.
- Estes diagramas s�o usados para modelar o comportamento de objetos (com
comportamento complexo).
Diagrama de Atividades:
- Destaca a l�gica de realiza��o de uma tarefa.
- Mostra o fluxo entre atividades.
Diagrama de Componentes:
- Mostra os componentes de hardware e software de uma aplica��o e os
relacionamentos entre eles.
- � usado para modelar o aspecto f�sico de um sistema.
Ferramentas CASE
O processo de ado��o:
- Prover um n�vel apropriado de suporte tecnol�gico para os processos de
desenvolvimento e manuten��o de software.
- Impactar positivamente sobre: produtividade, qualidade, padroniza��o,
documenta��o.
- Induzir o uso geral e cont�nuo de ferramentas na organiza��o e seus grupos.
Passos:
- Defini��o da necessidade.
- Avalia��o e sele��o de ferramentas.
- Condu��o de um esfor�o piloto.
- Tornar rotineiro o uso das ferramentas.
Pontos chaves
- Orienta��o a objetos apesar de antiga n�o era utilizada por falta de pessoas
treinadas e ferramentas adequadas.
- Mas hoje tal modelagem tornou-se uma abordagem poderosa e pr�tica para o
desenvolvimento de software.
- A UML � uma linguagem de modelagem (visual) que permite a padroniza��o de
especifica��o e visualiza��o de um sistema.
- E temos as Ferramentas CASE, que apoiam a Modelagem em todas as suas fases
trazendo mais qualidade ao desenvolvimento de software.
APOL 4 (corrigido)
(1) - Uma das atividades primordiais do processo de desenvolvimento de software em
geral - e da An�lise de Sistemas em particular - diz respeito � especifica��o de
Requisitos do software, conforme apresentado na aula 04.
Com rela��o a requisistos � correto afirmar que:
A) S�o descri��es dos principais recursos de um produto de software, seu fluxo de
informa��es, comportamento e atributos.
B) Fornecem uma estrutura b�sica para o desenvolvimento de um produto de software.
C) Estabelecem quais fun��es s�o requeridas pelo sistema e as restri��es sobre a
opera��o e o desenvolvimento do sistema.
D) (x) As alternativas A e B est�o corretas
(8) - Foi apresentada em 1996 como a melhor candidata para ser a linguagem
unificadora de nota��es. Foi aprovada como padr�o pela OMG e desde ent�o tem tido
grande aceita��o. Atualmente est� na vers�o 2.0.
Trata-se da:
A) An�lise Essencial.
B) (x) Unified Modeling Language - UML.
C) An�lise Estruturada.
D) An�lise Orientada a Objeto.
(10) - A Unified Modeling Language - UML faz uso de diversos tipos de diagramas,
gr�ficos com o objetivo de apresentar e facilitar a compreens�o do software.
S�o tipos de diagramas da UML:
A) DFD, Fluxogramas e Diagrama de Caso de Uso.
B) DFD, Diagrama de Caso de Uso ,Fluxogramas e Diagrama de Sequencia.
C) (x) Diagrama de Caso de Uso, Diagrama de Objetos e Diagrama de Classe.
D) Diagrama de Caso de Uso, Diagrama de Objetos, Diagrama de Classe e DFD.
APOL 5 (corrigido)
(1) - Uma ferramenta CASE deve ser flex�vel, com arquitetura modular para facilitar
sua configura��o para diferentes prop�sitos.
A arquitetura deve ser baseada em:
A) Componentes Distribu�dos.
B) Componentes: que representam os subsistemas principais e objetos da ferramenta.
C) Mecanismos de intera��o (tecnologia de integra��o) que representam a forma como
os componentes interagem, trocam informa��es e afetam uns aos outros.
D) (x) As alternativas B e C est�o corretas.
(2) - Uma ferramenta CASE deve ser flex�vel, com arquitetura modular para facilitar
sua configura��o para diferentes prop�sitos.
Quanto � sua composi��o as ferramentas CASE podem ser:
A) Horizontais: oferecem servi�os utilizados durante todo o processo de software.
B) Verticais: utilizadas em fases espec�ficas do processo de software.
C) Candidatas: quando n�o identificadas em um processo de avalia��o pr�vio.
D) (x) As alternativas A e B est�o corretas.
(6) - Uso obrigat�rio: Toda vez que o caso de uso A for executado, obrigatoriamente
o caso de uso B tamb�m deve ser executado.
Esta afirma��o, no que tange a casos de uso, refere-se a:
A) Extends.
B) Associa��o e Extends.
C) Associa��o e Include.
D) (x) Include.
Diagrama de Classe
Diagramas de Classe mostram as diferentes classes que fazem um sistema e como elas
se relacionam. Os Diagramas de Classe s�o chamados diagramas "est�ticos" porque
mostram as classes, com seus m�todos e atributos bem como os relacionamentos
est�ticos entre elas: quais classes �conhecem� ou quais classes "s�o parte" de
outras classes, mas n�o mostram a troca de mensagens entre elas.
Componentes
a) Classe
b) Relacionamentos
- Associa��o : S�o relacionamentos estruturais entre inst�ncias e especificam que
objetos de uma classe est�o ligados a objetos de outras classes.
- Generaliza��o (heran�a: simples ou composta) - Relacionamento entre um elemento
mais geral e um mais espec�fico. Onde o elemento mais espec�fico herda as
propriedades e m�todos do elemento mais geral.
- Depend�ncia - S�o relacionamentos de utiliza��o no qual uma mudan�a na
especifica��o de um elemento pode alterar a especifica��o do elemento dependente. A
depend�ncia entre classes indica que os objetos de uma classe usam servi�os dos
objetos de outra classe.
- Agrega��o Regular - tipo de associa��o (� parte de, todo/parte) onde o objeto
parte � um atributo do todo; onde os objetos partes somente s�o criados se o todo
ao qual est�o agregados seja criado. Pedidos � composto por itens de pedidos.
- Composi��o - Relacionamento entre um elemento (o todo) e outros elementos (as
partes) onde as partes s� podem pertencer ao todo e s�o criadas e destru�das com
ele.
c) Atributos
Na UML, atributos s�o mostrados com pelo menos seu nome, e podem tamb�m mostrar seu
tipo, valor inicial e outras propriedades. Atributos podem tamb�m ser exibidos com
sua visibilidade:
+ indica atributos p�blicos
# indica atributos protegidos
- indica atributos privados
d) Opera��es
Opera��es (m�todos) tamb�m s�o exibidos com pelo menos seu nome, e podem tamb�m
mostrar seus par�metros e valores de retorno. Opera��es podem, como os Atributos,
mostras sua visibilidade:
+ indica opera��es p�blicas
# indica opera��es protegidas
- indica opera��es privadas
Diagrama de Sequencia
Descreve as intera��es entre as classes atrav�s das trocas de mensagens ao logo do
tempo. Mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem
ser enviadas entre eles. Diagrama de sequ�ncia d� �nfase � sequ�ncia de mensagens.
Componentes
a) Objetos: Representa uma inst�ncia de uma determinada classe.
b) Mensagens: Representa troca de mensagens entre os objetos.
c) Tipos de mensagens: Quando um objeto envia uma mensagem para outro objeto, o
objeto que recebe a mensagem pode enviar outras mensagens e assim por diante,
formando uma sequ�ncia de mensagens. O sequenciamento pode ser procedural, com
aninhamento (mensagens s�ncronas) ou plano, sem aninhamento (mensagens
ass�ncronas).
Diagrama de Estados
Mostra uma m�quina contendo estados, transi��es, eventos e atividades. Estes
diagramas s�o usados para modelar o comportamento de objetos (com comportamento
complexo). Nestes diagramas s�o modelados os estados em que um objeto pode estar e
os eventos que fazem o objeto passar de um estado para outro.
Componentes
- Estado inicial.
- Estado final.
- Estado intermedi�rio.
S�ntese
O surgimento de sistemas de software complexos resultou na necessidade de reavaliar
a forma de desenvolver sistemas. As t�cnicas t�m evolu�do de forma impressionante,
notavelmente no que tange � modelagem de sistemas. Um modelo pode ser visto como
uma representa��o idealizada de um sistema a ser constru�do. Maquetes de edif�cios
e de avi�es e plantas de circuitos eletr�nicos s�o apenas alguns exemplos de
modelos. Uma simplifica��o da realidade que nos ajuda a entender um problema
complexo.
Ent�o a modelagem de sistemas de software consiste na utiliza��o de nota��es
gr�ficas e textuais com o objetivo de construir modelos que representam as partes
essenciais de um sistema, considerando-se diversas perspectivas diferentes e
complementares. E a UML nos fornece v�rios diagramas entre os quais os vistos nessa
aula onde podemos de forma segura, com qualidade e padronizada documentar e modelar
os sistemas e softwares que iremos desenvolver.
*******************************************************************
Scope (escopo)
Abrange a solicita��o de extrato de conta corrente atrav�s da Internet, com op��o
para extrato di�rio,
semanal, mensal e por per�odo.
Preconditions (pr�-condi��es)
Este use case pode iniciar somente se:
1 Cliente for autorizado no Internet Banking.
2 Tela T0010 Menu Principal aberta.
Trigger (gatilho)
Este use case deve come�ar quando o Cliente posicionar o cursor na
op��o Conta Corrente, na tela T0010 Menu Principal e selecionar.
A5: Imprimir
1-O Sistema abre a tela correspondente ao servi�o de impress�o do
Sistema Operacional.
2-O Cliente solicita a impress�o.
A9: Fechar
1- O Sistema fecha a tela T0025
2- O Sistema retorna para a tela anterior, que cont�m as
informa��es do extrato.
pelo sistema.
Related information
Data Views ()
Os seguintes conjuntos de dados s�o utilizados neste use case:
Hist�rico de Lan�amentos dos �ltimos 30 dias
Cadastro de Clientes
Scenarios
Scenario 1: Impress�o de Extrato Di�rio
************************************************
*************************************
O Dicion�rio de Dados
Proposto como gram�tica quase formal
para descrever o conte�do de objetos
definidos durante a
an�lise estruturada.
********************************************************
******************************************************
Um sistema de controle de
hospital. A atendente pode
acionar a emerg�ncia.
Existem dois tipos de
emerg�ncia:
card�aca e pulmonar.
********************************************
Diagrama de Atividades
Ilustram a natureza din�mica
de um sistema modelando o
fluxo de controle de uma
atividade para outra.
*****************************************
Diagrama de Classes
Diagrama mais utilizado da UML.
Serve de apoio para a maioria
dos outros diagramas.
*****************************************
A arte de coordenar o
desenvolvimento de
software
para minimizar a
confus�o �
denominada
Gerenciamento de
Configura��o.
O Gerenciamento de
Configura��o do Software � um
importante elemento
da garantia da
qualidade de
software.
*****************************************
Prova discursiva
ME CE MR
|enviar --> |
| |eFax ----> |
| | |
| |<---- msgOk|
|<---- msgOk|
|
X
|Automovel |
|Marca |
|Modelo |
|Cor |
|Matricula |
|Motor |
|Numero |
|XPTO |
|Audi |
|A6 TDi |
|Vermelho |
|99-99-AA |
|1900cc |
|9999 |
|Marta |
|Ferrari |
|F40 |
|Vermelho |
|66-66-FF |
|null |
|null |
5 - Na imagem abaixo que mostra um diagrama de atividades, qual o nome dos simbolos
indicados pelas setas em vermelho?
Fork, join
***********************************************************************
4 - Qual � a nota��o da UML para um caso de uso? Qual � a nota��o da UML para um
ator? Qual a nota��o utilizada na UML para o relacionamento de generaliza��o entre
casos de uso?