Click here to load reader

Apsi 001 Visao Geral

  • View
    222

  • Download
    2

Embed Size (px)

DESCRIPTION

Analise e projetos de sistemas de informação.

Text of Apsi 001 Visao Geral

  • Instituto Federal de Educao, Cincia e Tecnologia IFALBacharelado em Sistemas de Informao

    Anlise e Projeto de Sistemas

    Prof. MSc. Ricardo R NunesRicardo (arroba) ifal.edu.br

  • Agenda Desenvolvimento de Sistemas OO UML Processo de desenvolvimento Processo Unificado (UP) e suas atividades Anlise e Projeto de Sistemas Design Patterns

    2

  • Objetivo Apresentar um conjunto de informaes

    prticas que possibilite a compreenso e utilizao da orientao a objetos de forma consciente e eficaz em processos de anlise e projeto de sistemas

    Compreenso dos conceitos de anlise e projeto de sistemas, processo de desenvolvimento e UML

    3

  • Desenvolvimento de Sistemas Orientados a Objetos

    Como desenvolver OO?

    Utilizar linguagem OO? Utilizar parte de um processo OO? Utilizar classes. Como foram desenvolvidos os

    mtodos? Utilizar ferramentas CASE para criar diagramas

    UML?

    4

  • Desenvolvimento de Sistemas Orientados a Objetos (2)

    Comprar um martelo no transforma voc em um

    arquiteto; pode ser necessrio, mas no

    suficiente

    5

  • Desenvolvimento de Sistemas Orientados a Objetos (3)

    O uso de diagramas no vai melhorar necessariamente a

    qualidade do software produzido

    6

  • Desenvolvimento de Sistemas Orientados a Objetos (4)

    O que preciso para desenvolver OO? Conhecer as tcnicas de delegao e

    distribuio de responsabilidades e desenvolver cdigo reusvel e baixo acoplamento, de acordo com padres de projeto

    7

  • Desenvolvimento de Sistemas Orientados a Objetos (5)

    Componentes do desenvolvimento de software Anlise e projeto OO Linguagem de modelagem (UML?) Processo de desenvolvimento Padres de projeto (Design patterns) Linguagem de programao (Java, Python?)

    8

  • UML O que UML?

    Metodologia?

    Unified Modeling Language (Linguagem de Modelagem Unificada)

    9

  • UML (2) Conhecer a linguagem X Criar bons artefatos

    Escrever bons projetos como escrever poesia. No basta conhecer a linguagem. preciso

    dominar certas tcnicas de escrita.

    10

  • UML (3) Breve histrico da UML

    1994 James Rumbaugh e Grady Booch criaram a Rational

    1995 Unificaram suas linguagens de diagramas

    1996 Ivar Jacobson adicionou casos de uso e outras notaes ao sistema de

    diagramas

    11

  • UML (4) Famlias de diagramas

    Diagramas estruturais diagramas de pacotes, classes, objetos, estrutura

    composta, componentes e distribuio. Diagramas comportamentais

    diagramas de casos de uso, atividades e mquina de estados.

    Diagramas de interao diagramas de comunicao, sequncia, tempo e viso

    geral de integrao. Quais diagramas utilizar?

    12

  • Processo de Desenvolvimento

    Um processo um conjunto de passos que define quem est fazendo o que, quando e como para alcanar determinado objetivo

    13

  • Exemplo 01

    14

  • Exemplo 02

    15

  • Processo de Desenvolvimento de Software (1)

    Uma linguagem de modelagem no suficiente

    Precisamos tambm de um processo de desenvolvimento Linguagem de modelagem + processo de

    desenvolvimento = mtodo (ou metodologia) de desenvolvimento

    No objetivo da disciplina estudar processos de desenvolvimento

    16

  • Processo de Desenvolvimento de Software (2)

    Fases

    Anlise

    Projeto

    Implementao

    Teste

    17

  • Anlise (1) Enfatiza a investigao do problema

    Objetivo de levar o analista a investigar e a descobrir

    Para que esta etapa seja realizada em menos tempo e de forma mais precisa, deve-se ter um bom mtodo de trabalho

    18

  • Anlise (2) A qualidade do processo de anlise

    importante porque um erro de concepo resolvido na fase de anlise tem um custo menor do que se resolvido em qualquer outra fase

    19

  • Anlise (3)

    20

  • Projeto Enfatiza a proposta de uma soluo que

    atenda os requisitos da anlise

    Ento, se a analise uma investigao para tentar descobrir o que o cliente quer, o projeto consiste em propor uma soluo com base no conhecimento adquirido na anlise

    21

  • Implementao A utilizao de tcnicas sistemticas nas

    fases de anlise e projeto faz com que o processo de gerao de cdigo possa ser automatizado

    Neste caso, cabe ao programador dominar as caractersticas especficas das linguagens, ferramentas, frameworks e estruturas de dados para adaptar o cdigo gerado aos requisitos indicados quando necessrio

    22

  • Testes (1) Envolve

    Testes de unidade, feitos pelo programador, para verificar se os componentes gerados atendem especificao do projetista

    Testes de caso de uso, normalmente efetuados por um analista experiente, que visam verificar a adequao do sistema aos requisitos inicialmente levantados

    23

  • Testes (2)

    24

  • Processo de Desenvolvimento de Software (3)

    25

  • Processo Unificado - UP Proposto por Grady Booch, James Rumbaugh e Ivar

    Jacobson (1999) Valores

    dirigido por casos de uso planejamento feito em funo dos casos de uso identificados,

    tratando-se prioritariamente os mais complexos centrado na arquitetura

    desenvolvimento prioriza a construo de uma arquitetura de sistema que permita a realizao dos requisitos

    Baseia-se na identificao de uma estrutura de classes, produzida a partir de um modelo conceitual

    iterativo e incremental a cada ciclo de trabalho realizado, novas caractersticas so

    adicionadas arquitetura do sistema, deixando-a mais completa e mais prxima do sistema final

    26

  • Dirigido por casos de uso

    27

  • UP Centrado na Arquitetura (1)

    28

  • UP Centrado na Arquitetura (1)

    29

  • Iterativo X Incremental

    30

  • Processo Unificado UP (2) Fases

    Concepo, elaborao, construo e transio

    31

  • Processo Unificado UP (2) Concepo, elaborao, construo e

    transio

    32

  • Processo Unificado UP (3) Fases

    Concepo: incorpora o estudo de viabilidade, o levantamento dos requisitos e uma parte da sua anlise

    Elaborao: incorpora o detalhamento da anlise de requisitos, a modelagem de domnio e o projeto

    Construo: corresponde programao e testes Transio: consiste na instalao do sistema e

    migrao de dados

    33

  • Processo Unificado UP (4) Concepo:

    Inception, em ingls Realiza-se o levantamento dos requisitos e

    compreende-se o sistema de forma abrangente Resultados

    Documento de requisitos e riscos Listagem de casos de uso de alto nvel Cronograma de desenvolvimento baseado nesses

    casos de uso

    34

  • Processo Unificado UP (5) Elaborao e construo

    Ocorrem em ciclos iterativos Elaborao incorpora a maior parte da anlise e

    projeto Construo incorpora a maior parte da

    implementao e testes Durante os ciclos iterativos propriamente ditos

    que acontece a anlise detalhada do sistema, a modelagem de domnio e o projeto do sistema usando os padres de projeto

    35

  • Processo Unificado UP (6) Transio

    depois de pronto, o sistema ser implantado substituindo o sistema atual

    36

  • Processo Unificado UP (6) O UP como um processo gil

    poucos artefatos e burocracia, permitindo o desenvolvimento de software de forma eficiente

    o cliente deseja o software pronto e no uma pilha de documentos

    documentao deve ser dirigida produo do software

    Atividade realizadas com objetivo claro e utilizao precisa, visando produo de cdigo que atenda aos requisitos da melhor forma possvel no menor tempo

    37

  • As Atividades de APno Contexto do UP

    As diferentes nfases das atividades de desenvolvimento ao longo das quatro fases do Processo Unificado (fonte: IBM).

    38

  • Retomando a discusso sobre Anlise e Projeto...

    ...para se chegar em Anlise e Projeto OO

  • O que so Anlise e Projeto? Primeira alternativa:

    A anlise modela o problema e consiste das atividades necessrias para entender o domnio do problema (o que deve ser feito). uma atividade de investigao.

    O projeto modela a soluo e consiste das atividades de criao (como pode ser feito)

    40

  • O que so Anlise e Projeto?

    41

  • O que so Anlise e Projeto? Segunda alternativa:

    A anlise consiste de todas as atividades feitas com ou para o conhecimento do cliente. A informao produzida aquela que o cliente deve discutir e aprovar

    O projeto inclui as atividades que resultam em informao que interessa apenas ao programador

    Com essa definio, a anlise invade um pouco o "lado da soluo", pois o cliente deve discutir alguns tipos de interaes que ocorrero na interface do usurio, etc.

    42

  • O que so Anlise e Projeto?

    43

  • O que so Anlise e Projeto? Observe, portanto, que no h definio binria que

    isole "anlise" de "projeto" Nesta disciplina, adotaremos a segunda alternativa,

    pois queremos associar as palavras "anlise" e "projeto" aos artefatos entregues no final de cada fase Um modelo de anlise deve ser aprovado pelo cliente e

    pode incluir alguma (pequena) discusso da soluo, principalmente no que diz respeito interface com usurio, etc.

    44

  • O que Anlise e Projeto Orientados a Objeto (APOO)?

    A perspectiva empregada de objetos (coisas, conceitos ou entidades)

    Durante a Anlise OO, a nfase est em achar e descrever objetos (ou conceitos) no domnio do problema Por exemplo, num sistema de informao