MODELAGEM DE SOFTWAREhdam.pro.br/ti-prs/eslaides/projeto-de-sistemas...da UML. O software é...

10
MODELAGEM DE SOFTWARE Sistemas de média e grande complexidade necessitam de uma metodologia destinada a facilitar o seu desenvolvimento; Esta metodologia corresponde a uma visão, uma abstração do sistema físico, focando somente nos aspectos de interesse, por meio da criação de um modelo; Um modelo é uma abstração de algo com a finalidade de entendê- lo antes de construí-lo; O modelo determina o que deve ser incluído na solução final, descrevendo completamente os aspectos do sistema físico que são importantes para a criação da aplicação. IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli 1

Transcript of MODELAGEM DE SOFTWAREhdam.pro.br/ti-prs/eslaides/projeto-de-sistemas...da UML. O software é...

  • MODELAGEM DE SOFTWARE

    • Sistemas de média e grande complexidade necessitam de uma metodologia destinada a facilitar o seu desenvolvimento;

    • Esta metodologia corresponde a uma visão, uma abstração do sistema físico, focando somente nos aspectos de interesse, por meio da criação de um modelo;

    • Um modelo é uma abstração de algo com a finalidade de entendê-lo antes de construí-lo;

    • O modelo determina o que deve ser incluído na solução final, descrevendo completamente os aspectos do sistema físico que são importantes para a criação da aplicação.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli1

  • FASES NO PROCESSO DE DESENVOLVIMENTO DE SISTEMAS

    1. Levantamento de requisitos – tenta determinar "o que" o software deve fazer (foca no usuário e suas necessidades em relação ao projeto). Aqui aparecem noções de requisitos funcionais, não-funcionais e regras de negócio.

    2. Análise de requisitos – define se as necessidades do projeto foram bem entendidas e completamente especificadas junto do usuário. Ocupa-se do domínio do problema. Propicia a possibilidade de o engenheiro de software modificar a forma como as informações são geridas dentro da empresa, com o intuito de melhorar o processo.

    3. Projeto do sistema – ocupa-se do domínio da solução. Estabelece "como" o sistema fará tudo o que foi proposto na fase anterior. Nesta etapa, faz-se uso intensivo da modelagem de software. Aqui, são de extrema relevância:

    a) Definir os recursos tecnológicos necessários ao sistema;

    b) Definir o banco de dados a ser utilizado;

    c) Escolher a linguagem de programação mais adequada à implementação.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli2

  • FASES NO PROCESSO DE DESENVOLVIMENTO DE SISTEMAS (CONTIN.)

    4. Codificação – etapa onde toda a codificação do sistema é elaborada, de acordo com a linguagem de programação escolhida.

    5. Testes – verifica se existem falhas que invalidam os resultados do projeto. Esta fase inclui uma rotina que especifique:

    a) O que deve ser testado;

    b) Que conjunto de dados devem ser inseridos;

    c) O perfil do indivíduo que irá conduzir os testes.

    6. Implantação do sistema – o mesmo é colocado em produção. Pode implicar em movimentação ou mudança de software, hardware, causando impactos na rotina da instituição. Pode necessitar o treinamento de pessoal para uso do sistema.

    7. Manutenção – etapa final do processo de desenvolvimento, mas que não acaba. É permanente. Visa adequar e adaptar o sistema, de acordo com as necessidades da empresa, que mudam com o passar do tempo. Um fator essencial na manutenção é a documentação do sistema.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli3

  • A LINGUAGEM UML

    • UML – Unified Modeling Language ou Linguagem de Modelagem Unificada;

    • Não é uma linguagem de programação;

    • É uma ferramenta visual utilizada para criar modelos de software baseados na orientação a objetos;

    • Constitui-se de uma notação para facilitar a definição das características do sistema, tais como:

    a) Os seus requisitos;

    b) Seu comportamento;

    c) Sua estrutura lógica;

    d) Necessidades físicas para o seu funcionamento.

    • A UML utiliza diagramas como forma de oferecer múltiplas visões do sistema a ser modelado, permitindo que falhas sejam detectadas. Cada diagrama se relaciona com os demais e os complementam.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli4

  • RESUMO DOS PRINCIPAIS DIAGRAMAS DA UML

    • Diagrama de caso de uso – utilizado na fase de análise do projeto. Dá ao usuário uma ideia geral de como o sistema irá se comportar. Indica os atores que utilizarão o software (usuários, hardware especial, outros softwares) e as funcionalidades que o sistema ofertará.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli5

  • RESUMO DOS PRINCIPAIS DIAGRAMAS DA UML (CONTIN.)

    • Diagrama de classes – é o mais utilizado e um dos mais importantes da UML. Define a estrutura das classes utilizadas pelo sistema, por meio de seus métodos e atributos. Estabelece a forma como as classes se comunicam e trocam informações entre si.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli6

  • RESUMO DOS PRINCIPAIS DIAGRAMAS DA UML (CONTIN.)

    • Diagrama de objetos – está intimamente associado ao diagrama de classes. Fornece uma visão dos valores armazenados pelos objetos em um determinado momento da execução do software.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli7

  • RESUMO DOS PRINCIPAIS DIAGRAMAS DA UML (CONTIN.)

    • Diagrama de sequência – mostra a ordem temporal em que as mensagens são trocadas entre os objetos de um sistema. Identifica o evento que gera o início do processo e o ator responsável pelo evento. Determina quais métodos serão chamados para efetuar a troca de mensagem entre os objetos.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli8

  • RESUMO DOS PRINCIPAIS DIAGRAMAS DA UML (CONTIN.)

    • Diagrama de atividade –Espécie de fluxograma que se preocupa em descrever os passos a serem percorridos para a conclusão de umaatividade específica do sistema. Enfatiza o controle do fluxode execução.

    IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli9

  • FERRAMENTAS CASE BASEADAS NA UML

    • São softwares que, de alguma maneira, colaboram para a execução de uma ou mais atividades relacionadas à análise ou projeto de um sistema. Podemos destacar:

    1. Enterprise Architect – uma das melhores ferramentas nesta área. De fácil utilização, possui muitos recursos voltados ao uso da UML. O software é proprietário. Somente para Windows.

    2. StarUML 2 – software proprietário, disponível tanto para sistemas Windows quanto Linux. Permite a instalação de extensões, a validação do modelo criado e suporta a maioria das novas características da versão 2 da UML.

    3. Astah – desenvolvido para a linguagem Java, oferece versões tanto gratuitas quanto pagas, para Linux e Windows. Compatível com a versão 2 da linguagem UML;

    4. Ferramentas online – Cacoo, disponível em cacoo.com; GenMyModel, em genmymodel.com; Grapholite, em grapholite.com e LucidChart, que você encontrará em lucidchart.comIFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli10