Вы находитесь на странице: 1из 74

Anlise e Projeto de Sistemas

Antnio da Mota Moura Jnior jmoura.unibh@gmail.com

Introduo a Conceitos de Sistemas


Anlise e Projeto de Sistemas

Parte 01

Contedo
Definio de sistema Classificao dos sistemas Princpio geral dos sistemas

APS

Introduo
a anlise [de sistemas] frustrante, repleta de relacionamentos entre pessoas, indefinida e difcil. Resumindo, fascinante. Depois que voc fisgado, os velhos e fceis prazeres da construo de sistemas nunca mais sero suficientes para satisfaz-lo. Tom DeMarco
APS 4

Sistemas
...vivemos em um mundo de sistemas - e de sistemas dentro de outros sistemas, que so componentes de sistemas ainda maiores. Assim, tudo que fazemos em nossa vida pessoal e profissional tem impacto (muitas vezes imprevisto ou inesperado) nos diversos sistemas de que somos parte. Edward Yourdon
APS 5

Definies de Sistema
um grupo de itens que interagem entre si ou que sejam interdependentes, formando um todo unificado. Ex.: sistema numrico; gravitacional; digestivo; sistema de processamento de dados. um conjunto organizado de doutrinas, idias ou princpios, habitualmente previsto para explicar a organizao ou o funcionamento de um conjunto sistmico. Ex.: sistema da mecnica newtoniana um procedimento organizado ou estabelecido. Ex: sistema de toques de digitao uma maneira de classificar, simbolizar ou esquematizar. Ex.: sistema taxonmico, sistema decimal organizao harmoniosa ou modelo: ORDEM sociedade organizada ou situao social vista como indesejvel
APS 6

Definio de Sistema
(para o desenvolvimento de software)
Um sistema pode ser entendido como um mecanismo composto por um conjunto de partes interrelacionadas, onde cada parte est sempre relacionada a, pelo menos, uma das outras partes. S. Pompilho
APS 7

Classificao dos Sistemas


Sistemas Naturais
Sistemas fsicos (sistemas estelares, geolgicos, moleculares etc.) Sistemas vivos (envolvem animais, plantas e seres humanos)

Sistemas feitos pelo Homem



APS

Sistemas sociais (organizao de leis, doutrinas, costumes etc.) coleo organizada e disciplinada de idias (organizao de livros) Sistemas de transporte (redes rodovirias, linhas areas etc.) Sistemas de comunicaes (telefone, sinais de fumaa/manuais...) Sistemas de manufatura (fbrica, linhas de montagem etc.) Sistemas financeiros (contabilidade, inventrio, livro-razo etc.) Sistemas automatizados (Sistemas de Informao)
8

Sistemas Automatizados
Sistemas feitos pelo homem, que interagem com ou so controlados por um ou mais computadores. Composto por: hardware de computadores, softwares, pessoas, dados, procedimentos Classificao:
Sistemas on-line (sistema de processamento de transaes) Sistema de tempo-real (variao dos sistemas on-line) Sistemas de apoio deciso e planejamento estratgico Sistemas baseados no conhecimento (sistemas especialistas, sistemas inteligentes)
9

APS

Sistema de Informao
Em muitos casos um tipo de sistema automatizado. Um SI uma combinao de pessoas, dados, processos, interfaces, redes de comunicao e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negcio de uma organizao com relao s informaes. Vantagens do ponto de vista competitivo. Objetivo principal e final da construo de um SI: adio de valor organizao. Eduardo Bezerra
APS 10

Sistemas de Informao
So sistemas que, atravs de processamento de coleta e tratamento de dados, geram e disseminam as informaes necessrias aos diversos nveis e processos organizacionais.

APS

11

Conceitos
Dados: seqncias ordenadas de smbolos das quais se pode extrair informao mas que, isoladamente, no contm nenhum significado. Informaes: dados tratados capazes de transmitir algum conhecimento ao receptor.

APS

12

Tecnologia da Informao
Para a construo de um SI utilizamos a tecnologia da informao. Diz respeito a tudo o que pode ser feito com a informao Ciclo do Processo Informativo:
Especificao (identificao de necessidades e requisitos) Obteno (origem e captura) Armazenamento (classificao, estruturao, armazenamento e recuperao) Manipulao (tratamento, formatao e apresentao) Distribuio (identificao do destino e transmisso) Uso (anlise e uso)

APS

13

Classificao dos Sistemas de Informao


Os Sistemas de Informao podem ser classificados pelo tipo de informao gerado pelo sistema e qual o perfil de usurio que utiliza ou necessita daquelas informaes.

Estratgico Ttico (Mdia Gerncia)

Sistema Inf. Executivas (EIS) Sistema Suporte Deciso (DSS) Sistema Inf. Gerenciais (MIS) Sistema Planej. e Cont. Operac.

Ttico (Superviso)

Operacional

Sistema Proc. Transaes

APS

14

Sistema de Software
Um dos componentes de um SI denominado sistema de software. Compreende os mdulos funcionais computadorizados que interagem entre si para proporcionar a automatizao de diversas tarefas. Caracterstica intrnseca do desenvolvimento de sistemas de software: complexidade (cresce com o tamanho do software).
APS 15

Princpios Gerais de Sistemas


Quanto mais especializado um sistema, menos capaz ele de se adaptar a circunstncias diferentes. Quanto maior for um sistema, maior o nmero de seus recursos que sero destinados manuteno diria. Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores. Os sistemas crescem.
APS 16

Desenvolvimento de Sistemas
Anlise e Projeto de Sistemas

Parte 02

Contedo
Introduo ao desenvolvimento de sistemas Participantes do desenvolvimento de sistemas Problemas tpicos do desenvolvimento de sistemas Modelagem de sistemas

APS

18

Desenvolvimento de Sistemas
Complexidade X Tamanho

APS

19

Desenvolvimento de Sistemas
Resumidamente, podemos afirmar que para desenvolvermos sistemas de software de uma maneira controlada e organizada, que reduza os problemas tpicos desta atividade, necessrio obedecermos a uma metodologia, baseada em processo de software, que define atividades e papis dos participantes; e utilizarmos ferramentas para a confeco dos modelos que representaro o software a ser construdo.
APS 20

Anlise e Projeto de Sistemas I

Participantes do Desenvolvimento de Sistemas

Participantes no Desenvolvimento de Sistemas


Usurios Gerentes Auditores, pessoal do controle de qualidade e mantenedores dos padres Analistas de sistemas Projetistas de sistemas Programadores Operadores
APS 22

Classificao dos Usurios


Por funo:
operativos supervisores executivos

Por nvel de experincia com processamento de dados:


amadores novatos peritos
APS 23

Participao do Usurio
A participao do usurio durante o desenvolvimento de um sistemas extremamente importante.
Histria de um Desenvolvimento

O que o usurio pediu

Como o analista viu

Como foi projetado

Como foi programado

O que o usurio queria

Como funciona de fato

APS

24

Tarefas do Analista de Sistemas


... analisar ou estudar o sistema para determinar-lhe a essncia: seu comportamento exigido independentemente da tecnologia utilizada em sua implementao. Na maioria dos casos, s estaremos em situao de decidir se faz sentido usar um computador para executar as funes do sistema depois de modelarmos seu comportamento. (Edward Yourdon) ... o papel do analista de sistemas especificar quais so os requisitos do sistema do ponto de vista da eficcia, ou seja, garantir que o sistema alcance os objetivos globais da empresa. Trata-se de certificar-se de que o sistema far o que precisa ser feito, far o que certo ser feito, independentemente da instrumentao que ser usada para se chegar a esse objetivo.
(S.Pompilho)
APS 25

Habilidades do Analista de Sistemas


... [o analista de sistemas] dever ter maiores habilitaes que um programador: alm do conhecimento do hardware e do software do computador, [ele] deve ser capaz de se comunicar com pessoas leigas em computao e estar familiarizado com as aplicaes comerciais dessas pessoas. (Edward Yourdon) Habilidades:

APS

Comunicao Capacidade de anlise Conhecimento da rea usuria Capacidade de negociao Administrao de projetos Conhecimento tcnico
26

Tarefas do Projetista de Sistemas


... transformar uma lista isenta de tecnologia dos requisitos do usurio em um projeto arquitetural de alto-nvel que fornecer a estrutura com a qual os programadores podero trabalhar.
(Edward Yourdon)

... o projetista [de sistemas] tem um papel voltado para a eficincia, isto , voltado para obteno do melhor desempenho individual dos componentes do sistema.
(S.Pompilho)

...(1) avaliar as alternativas de soluo (da definio) do problema resultante da anlise e (2) gerar a especificao de uma soluo computacional detalhada (Eduardo Bezerra)

APS

27

Habilidades do Projetista de Sistemas


Habilidades:
Comunicao Conhecimento do ambiente tecnolgico da rea usuria Capacidade de negociao Conhecimento tcnico

H vrios tipos de projetistas: de interface, de rede, de banco de dados etc.

APS

28

Analista X Projetista
... importante para o analista e o projetista de sistemas permanecerem em estreito contato durante todo o projeto.
(Edward Youdon)

Em muitos casos, o analista de sistemas e o projetista so a mesma pessoa. Em outros casos, parte das atividades do projetista so executadas pelo analista e parte pelo programador.

APS

29

Anlise e Projeto de Sistemas I

Problemas Tpicos do Desenvolvimento de Sistemas

Problemas no Processo de Desenvolvimento de Sistemas


M qualidade (sistemas) dos produtos gerados

Baixa produtividade dos processos responsveis pelas atividades de desenvolvimento e manuteno de sistemas.
APS 31

Exemplos de Problemas
Problemas de qualidade dos produtos:
Sistemas que no contribuem para os objetivos da organizao Sistemas no-confiveis Sistemas ineficientes Sistemas de manuteno constante, difcil e onerosa

Problemas na Produtividade do Processo:



APS

Prazos no cumpridos Custos acima da previso Perdas de oportunidades Aumento do backlog documentado e invisvel
32

Causa dos Problemas


Ausncia de planejamento. Falta de integrao do planejamento de sistemas com o planejamento estratgico da empresa. No utilizao de mtodos e tcnicas formais de desenvolvimento de sistemas. Adoo de metodologias no-ambientadas realidade da empresa. No utilizao de ferramentas de produtividade. Falta de definio precisa dos objetivos e requisitos do sistema. Dificuldade de comunicao e/ou falta de entrosamento entre os envolvidos no processo (tcnicos e usurios). Falta de preciso e clareza dos textos narrativos utilizados na APS 33 especificao dos sistemas.

Como Reduzir os Problemas


Aplicao de teorias, metodologias, tcnicas, mtodos e ferramentas visando minimizar os problemas e tornar os projetos de sistemas menos artesanais, mais prximos da engenharia.

Modelagem de Sistemas
APS 34

Anlise e Projeto de Sistemas I

Modelagem de Sistemas

O que significa Modelar


Criar uma linguagem para comunicar decises que no so bvias ou que no podem ser inferidas. Prover uma semntica rica o suficiente para capturar o que importante a nvel ttico e estratgico. Na atividade de modelagem construmos modelos que representam um sistema.
APS 36

Modelo de Software
Na construo de sistemas de software, assim como na construo de sistemas habitacionais, h uma gradao de complexidade.
A construo desses sistemas necessita de um planejamento inicial.

Um modelo pode ser visto como uma representao idealizada de um sistema que se planeja construir. Maquetes de edifcios e de avies e plantas de circuitos eletrnicos so apenas alguns exemplos de modelos.

APS

37

Modelo de Software
E. Yourdon apresenta construo de modelos: trs motivos para

para focalizar caractersticas importantes de sistemas deixando de lado as menos importantes; para discutir alteraes e correes nos requisitos do usurio a baixo custo e mnimo risco; para confirmar que entendemos o ambiente do usurio e o documentamos de uma tal forma que os projetistas de sistemas e programadores podem construir o sistema.
APS 38

Ferramentas de Modelagem
Para construirmos modelos utilizamos de ferramentas (diagramas). Para Yourdon uma ferramenta deve ter as seguintes caractersticas:
ela deve ser grfica, com adequado detalhamento textual de apoio; ela deve permitir que o sistema possa ser visualizado de forma subdividida, na modalidade top-down; ela deve ter mnima redundncia; ela deve ajudar o leitor a prognosticar o comportamento do sistema; ela deve ser transparente para o leitor.
APS 39

Diagramas e Documentao
No contexto de desenvolvimento de software, diagramas correspondem a desenhos grficos que seguem algum padro lgico. Podemos tambm dizer que um diagrama uma apresentao de uma coleo de elementos grficos que possuem um significado predefinido. Diagramas normalmente so construdos de acordo com regras de notao bem definidas.
Ou seja, cada forma grfica utilizada em um diagrama de modelagem tem um significado especfico.
APS 40

Diagramas e Documentao
Diagramas permitem a construo de uma representao concisa de um sistema a ser construdo.
uma figura vale por mil palavras

No entanto, modelos tambm so compostos de informaes textuais. Dado um modelo de uma das perspectivas de um sistema, diz-se que o seu diagrama, juntamente com a informao textual associada, formam a documentao deste modelo.
APS 41

Modelagem de Software
A modelagem de sistemas de software consiste na utilizao de notaes grficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares.
(Eduardo Bezerra)

APS

42

Objetivos da Modelagem de Sistemas


Capturar os processos de negcio. Facilitar a comunicao entre as partes envolvidas (especialistas e analistas). Facilitar a gerncia da complexidade do domnio permitindo exibir vrias vises dos elementos do modelo. Definir a arquitetura lgica independente das possveis implementaes. Permitir a reutilizao de esforos.
APS 43

Importncia/Vantagens da Modelagem
Ajuda a visualizar um sistema como ele , ou como se deseja que ele seja (predio do comportamento futuro do sistema). Auxilia no entendimento e definio do problema. Permite especificar o comportamento e a estrutura de um sistema, ou seja, a sua arquitetura. Oferece uma representao que serve como guia de construo do sistema. Documenta as decises tomadas pela avaliao das alternativas propostas. Auxilia no gerenciamento do projeto e na avaliao de risco. Propicia a reduo dos custos do desenvolvimento.
APS 44

Consideraes sobre a Modelagem de Sistemas


A princpio, podemos ver a construo de modelos como uma atividade que atrasa o desenvolvimento do software propriamente dito. Mas essa atividade propicia alcanar as vantagens citadas anteriormente. Entretanto, note o fator complexidade como condicionante dessas vantagens.

APS

45

Ciclo de Vida, Processo e Metodologia


Anlise e Projeto de Sistemas

Parte 03

Contedo
Modelos de Ciclo de Vida Processo/Metodologia de Desenvolvimento de Sistemas Histrico das Tcnicas de Desenvolvimento de Sistemas

APS

47

Anlise e Projeto de Sistemas I

Modelos de Ciclo de Vida


APS 48

Ciclo de Vida do Desenvolvimento de Sistema


o encadeamento das fases para a construo de um sistema. Exemplo de modelos de ciclo de vida:
modelo em cascata modelo iterativo e incremental.

APS

49

Fases Tpicas
Anlise: fase na qual se determinaro quais os requisistos do sistema, o que o sistema deve fazer, em termos essenciais. Tem por objetivo interpretar e definir uma estrutura para um problema ainda no estruturado. Diz respeito a eficcia do sistema, ainda sem preocupaes de performance. Projeto: fase na qual se determinar como o sistema funcionar para atender aos requisitos especificados na fase de anlise. Diz respeito eficincia do sistemas, j com preocupaes de performance. O objetivo modelar o sistema de modo a implementar a soluo idealizada na fase de anlise, mas de acordo com os recursos tecnolgicos disponveis.
APS 50

Fases Tpicas (cont.)


Implementao: fase na qual ser efetuada a construo do sistema de acordo com o modelo de funcionamento especificado na fase de projeto. Faz uso dos recursos tecnolgicos disponveis para atividades como a programao de computadores.

APS

51

Modelo em Cascata
Esse modelo apresenta uma tendncia para a progresso seqencial entre uma fase e a seguinte.

APS

52

Modelo Cascata
Projetos reais raramente seguem um fluxo seqencial. Assume que possvel declarar detalhadamente todos os requisitos antes do incio das demais fases do desenvolvimento.
propagao de erros pelas as fases do processo.

Uma verso de produo do sistema no estar pronta at que o ciclo do projeto de desenvolvimento chegue ao final.

APS

53

Modelo Iterativo e Incremental


Desenvolvimento em mini-cascatas.

APS

54

Modelo Iterativo e Incremental


Divide o desenvolvimento de um produto de software em ciclos. Em cada ciclo de desenvolvimento, podem ser identificadas as fases de anlise, projeto, implementao e testes. Cada ciclo considera um subconjunto de requisitos. Esta caracterstica contrasta com a abordagem clssica, na qual as fases so realizadas uma nica vez.

APS

55

Modelo Iterativo e Incremental


Iterativo: o sistema de software desenvolvido em vrios passos similares. Incremental: Em cada passo, o sistema estendido com mais funcionalidades.

APS

56

Modelo Iterativo e Incremental


- Vantagens e Desvantagens Incentiva a participao do usurio. Riscos do desenvolvimento podem ser mais bem gerenciados. Um risco de projeto a possibilidade de ocorrncia de algum evento que cause prejuzo ao processo de desenvolvimento, juntamente com as conseqncias desse prejuzo. Influncias: custos do projeto,cronograma, qualidade do produto, satisfao do cliente, etc. Mais difcil de gerenciar
APS 57

Ataque os riscos
Se voc no atacar os riscos [do projeto] ativamente, ento estes iro ativamente atacar voc. (Tom Gilb).
A maioria dos Processos de Desenvolvimento de Software que seguem o modelo iterativo e incremental aconselha que as partes mais arriscadas sejam consideradas inicialmente.

Riscos no gerenciados

PDS
APS 58

Ciclo de Vida do Sistema


O ciclo de atividades que inclui, alm das fases de desenvolvimento, a operao e a manuteno de um sistema.

APS

59

Viso Geral do Ciclo de Vida de um Sistema


Usurios
Informaes Situao Atual Informaes Estratgicas Necessidades Sistema

1 Planejam.

Plano Sistemas

2 Desenv.

Usurios
Resultados Sistema Sistema

Alta Administ.

3
Evoluo (Aval./ Manut.)
Solicitaes (Alteraes / Otimizaes)

Verso Atualizada do Sistema

Usurios

APS

60

Processo Desenvolvimento
Alta Adm./ Gerncia
Solicit./ Autoriz. Desenv. Estimat. Requis. Prazos/ Bsicos/ Custos/ Restries Benef. Especif. Amb. Operac. (HW / SW) Modelo Essencial (Lgico)

rea Tcnica

Usurios
Sistema

1 Estudo Prelim.

Modelo Preliminar

2 Anlise

3 Projeto (Design)

Modelo Implement. (Fsico)

4 Implement.

* * Programao,
Simulao e Implantao.

Requis. Gerais Sistema

Usurios

Requis. Detalhados Sistema

APS

61

Benefcio da Modelagem associado s fases do Ciclo de Vida do Sistema


Custo de Alterao Custo

Fase
Estudo Anlise Preliminar Sistema ImpleImplantado mentao Quanto mais tarde se detecta um erro ou se identifica uma necessidade de mudana, mais difcil e cara a alterao. Projeto (Design)

APS

62

Anlise e Projeto de Sistemas I

Processo/Metodologia de Desenvolvimento de Sistemas


APS 63

Introduo
Tentativas de lidar com a complexidade e de minimizar os problemas envolvidos no desenvolvimento de software envolvem a definio de processos (ou metodologias) de desenvolvimento de software. O uso de metodologias que proponham a modelagem dos sistemas a melhor maneira de se resolver os problemas da atividade de desenvolvimento. (S.Pompilho)
Obs.: Edward. Yourdon utiliza o termo ciclo de vida do projeto.
APS 64

Conceitos
Um processo de desenvolvimento de software (PDS) compreende todas as atividades necessrias para definir, desenvolver, testar e manter um produto de software.
(Eduardo Bezerra)
processo de desenvolvimento de software

... o ciclo de vida do projeto documentado oferece um modo simples para qualquer pessoa da organizao de desenvolvimento de sistemas entrosar-se com a atividade de desenvolvimento de um sistema de processamento.
(Edward Yourdon)
APS 65

Objetivos de um PDS
Definir quais as atividades a serem executadas ao longo do desenvolvimento: definir quais as fases de trabalho previstas no desenvolvimento de sistemas, ou seja, qual o modelo de ciclo de vida no qual se baseia; para cada fase, quais as tcnicas adotadas (Anlise Estruturada, Anlise Essencial, Projeto Estruturado etc.); para cada tcnica adotada definir as ferramentas a serem utilizadas
(Diagrama de Fluxo de Dados, Diagrama Entidade-Relacionamento, Diagrama de Transio de Estado etc.);

definir quais os modelos que as ferramentas iro produzir (Modelo Funcional, Modelo Conceitual de Dados, Modelo de Controle etc.). Definir quando, como e por quem tais atividades sero executadas. Prover pontos de controle para verificar o andamento do desenvolvimento. Padronizar a forma de desenvolver software em uma organizao.
APS 66

Atividades Tpicas de um PDS



APS

Estudo (Levantamento de requisitos) Anlise Projeto Implementao Testes Implantao


67

Processo X Metodologia de DS
Como vimos at aqui, os termos metodologia e processo de desenvolvimento de sistemas, muitas vezes, so utilizados indistintamente na literatura. Contudo, h quem diferencie tais termos com as seguintes definies:
Processo de Desenvolvimento de Sistemas corresponde aos conceitos que verificamos nas transparncias anteriores. Porm, apresenta-se como uma referncia, em um nvel quase conceitual. Metodologia de Desenvolvimento de Sistemas a adequao (um filtro, um subconjunto) de um determinado PDS realidade de uma determinada equipe ou empresa de desenvolvimento de sistemas.
APS 68

Anlise e Projeto de Sistemas I

Histrico das Tcnicas de Desenvolvimento de Sistemas


APS 69

Evoluo do Software
O rpido crescimento da capacidade computacional das mquinas resultou na demanda por sistemas de software cada vez mais complexos. O surgimento de sistemas de software mais complexos resultou na necessidade de reavaliao da forma de se desenvolver sistemas. Consequentemente as tcnicas utilizadas para a construo de sistemas computacionais tm evoludo de forma impressionante, notavelmente no que tange modelagem de sistemas.
APS 70

Evoluo das Tcnicas de Modelagem de Sistemas


Perodo Dcadas de 1950/60 Dcada de 1970 Tcnica Abordagem Anlise tradicional / Funcional tcnicas simples Anlise Estruturada Funcional Dados Projeto Estruturado Anlise Essencial Funcional Dados Anlise Estruturada Controle Moderna Caractersticas - Sistemas simples - Desenvolvimento ad hoc - Surgem sistemas mais complexos - Surge a programao estruturada - Interfaces homem-mquina mais sofisticadas - Necessidades de sistemas mais complexos Ferramentas Textos Fluxogramas Diagramas de Mdulos Diagrama de Fluxo de Dados Diagrama de Estrutura de Dados Miniespecificaes Normalizao Dicionrio de Dados Tabela de Eventos Diagrama de Fluxo de Dados Diagrama Entidade-Relacionamento Diagrama de Transio de Estado Diagrama de Estrutura de Dados Miniespecificaes Normalizao Dicionrio de Dados Vrias iniciativas propondo ferramentas

Dcada de 1980

Incio da dcada de 1990

Anlise Orientada a Orientada a Objetos - OO apresenta-se em setores Objetos pontuais - Pouca maturidade da abordagem OO - Vrias propostas tcnicas de modelagem OO Fim da Anlise e Projeto Orientada a Objetos - Maturidade do paradigma OO dcada de Orientados a 1990 / 2000 Objetos

Unified Modeling Language (UML)

APS

71

Evoluo da Anlise Estruturada


1977 a 1979: Anlise Estruturada (clssica) (Tom DeMarco) / (Chris Gane e Trish Sarson) 1984: Anlise Essencial (McMenamim e Palmer) 1989: Anlise Estruturada Moderna (Edward Yourdon)
APS 72

Evoluo da UML

APS

73

Evoluo da UML

APS

74

Вам также может понравиться