Baixe o app para aproveitar ainda mais
Prévia do material em texto
DISCIPLINA: ANÁLISE E PROJETO DE SOFTWARE TEMA 1: Conceitos Básicos de Análise e Projeto REFORÇANDO A APRENDIZAGEM PONTOS PRINCIPAIS O que é um Projeto de Software? O que é Projeto de Software? “Um modelo é uma simplificação da realidade que nos ajuda a entender um problema grande e complexo que não pode ser compreendido como um todo.” Phillipe Krutchen, 2000 Sistemas de Informação • Combinação de pessoas, dados, processos, interfaces, redes de comunicação e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negócio de uma organização com relação às “informações”. – Objetivo: adição de valor ao negócio! Sistemas de Software • Componente de um Sistema de Informação. – São módulos funcionais computadorizados que interagem entre si para automatizar tarefas. – Característica básica: complexidade. Complexidade do Software • Na construção de sistemas de software, assim como na construção de sistemas habitacionais, também há uma gradação de complexidade. • A construção desses sistemas necessita de um planejamento inicial. Modelos • Trata-se de 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 de outras engenharias. Modelos • Porque tê-los? Alguns motivos: – Gerenciar a complexidade inerente ao desenvolvimento de software – Comunicação e disseminação de informações. – Eliminação do retrabalho pela escolha de soluções mais adequadas • Redução dos custos, prazo de entrega, etc. – Predição do comportamento futuro do software Diagramas • Desenhos gráficos que seguem padrão lógico. • Elementos gráficos que possuem um significado predefinido, dependendo da linguagem diagramática. Diagramas • Diagramas fornecem uma representação concisa do sistema. “uma figura vale por mil palavras”. • No entanto, modelos também são compostos de informações textuais. • Dado um modelo de uma das perspectivas de um sistema, diz- se que o seu diagrama, juntamente com a informação textual associada, formam a documentação deste modelo. Modelagem de Software 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. Modelagem no processo de desenvolvimento de software Foco do curso • Levantamento de requisitos • Análise • Projeto • Implementação • Testes • Implantação Princípios da Análise e Projeto • Modelos (e o problema) são particionados, de maneira que revele os detalhes em forma de camadas (ou hierarquicamente) (para reduzir a complexidade) • Análise => mover-se da informação essencial para os detalhes de implementação Princípios da Análise e Projeto • Análise X Projeto de Sistemas – As atividades de Análise concentram-se na identificação, especificação e descrição dos requisitos do sistema de software » Ênfase no problema a ser solucionado! – As atividades de Projeto (Design) concentram-se na identificação de uma solução para o problema apresentado. » Ênfase na definição dos objetos e como esses objetos colaboram para satisfazer os requisitos! Tipos de Modelagem de Software • Divididos portanto a modelagem de software em 2 tipos: 1. Modelo de Análise 2. Modelo de Projeto Modelagem de Análise: Princípios básicos I. “O domínio da informação de um problema precisa ser representado e entendido” II. “As funções a serem desenvolvidas pelo software devem ser definidas” III. “O comportamento do software precisa ser representado” IV. “Os modelos que mostram informação, função e comportamento devem ser particionados de um modo que revele detalhes em forma de camadas (ou hierarquia)” V. “A tarefa de análise deve ir da informação essencial até os detalhes de implementação” I. “O projeto deve estar relacionado ao modelo de análise” II. “Sempre considere a arquitetura do sistema a ser construído” III. “O projeto dos dados é tão importante quanto o projeto de funções” IV. “As interfaces internas e externas precisam ser projetadas com cuidado.” V. “O projeto de interface do usuário deve estar sintonizado com as necessidades do usuário, sempre enfatizando a facilidade de uso.” Modelagem de Projeto: Princípios básicos VI. “O projeto em nível de componente deve ser funcionalmente independente” VII. “Os componentes devem ser fracamente acoplados uns aos outros e ao ambiente externo” VIII. “Representações de projeto devem ser facilmente compreensíveis” IX. “O projeto deve ser desenvolvido iterativamente. A cada iteração o projetista deve lutar por maior simplicidade.” Modelagem de Projeto: Princípios básicos UML: Linguagem Unificada de Modelagem • Necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. • Alguns esforços nesse sentido de padronização, o principal liderado pelo “três amigos”. • Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora” de notações. UML: Linguagem Unificada de Modelagem • Em 1997, a UML é aprovada como padrão pelo OMG. • Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas. • É uma linguagem ainda em desenvolvimento. • Atualmente na versão 2.5 UML: Linguagem Unificada de Modelagem • UML é... – uma linguagem visual. – independente de linguagem de programação. – independente de processo de desenvolvimento. • UML não é... – uma linguagem programação. – uma técnica de modelagem. UML: Linguagem Unificada de Modelagem UML: Linguagem Unificada de Modelagem • Diagramas Estruturais – Tratam o aspecto estrutural tanto do ponto de vista do sistema quanto das classes. – Existem para visualizar, especificar, construir e documentar os aspectos estáticos de um sistema, ou seja, a representação de seu esqueleto e estruturas “relativamente estáveis”. – Os aspectos estáticos de um sistema de software abrangem a existência e a colocação de itens como classes, interfaces, colaborações, componentes. UML: Linguagem Unificada de Modelagem • Diagramas Comportamentais – Utilizado para visualizar, especificar, construir e documentar aspectos dinâmicos de um sistema. – Detalha o funcionamento (comportamento) de partes de um sistema ou processos de negócio relacionados a tal aplicação.
Compartilhar