Você está na página 1de 37

WBA0446_v1.

CASE
As principais ferramentas
no ciclo de
desenvolvimento de
softwares
Introdução às
ferramentas para o
desenvolvimento de
software
Bloco 1
André Olímpio
Ciclo do desenvolvimento de software

Levantamento e
1
análise de requisitos.
4 Testes.

2 Modelagem. 5 Implantação.

3 Implementação. 6 Manutenção.
Levantamento e análise de requisitos

• Efetuar a coleta de dados.

• Analisar se todos os dados coletados são aceitáveis.

• Identificar todas as necessidades dos usuários no


sistema de software a ser desenvolvido.
• Elaborar uma proposta de solução.
Modelagem

• Transformar os resultados, obtidos na etapa anterior, em


documentos capazes de serem interpretados pelos
profissionais envolvidos no processo de desenvolvimento.

• Nesta etapa, que toda a estruturação do software é


realizada.

• Engloba a modelagem do sistema e também do banco de


dados.
Modelagem

• Modelagem do banco de dados. Figura 1 - UML

• Modelagem do sistema de software


(desenvolvimento dos diagramas da UML).

• Documentação do software.

• Manual do usuário.

• Help do sistema. Fonte: alexmillos/iStock.com.

• Definição do cronograma de implementação.


Implementação

• Codificação por meio de uma linguagem de programação


escolhida pela equipe de desenvolvimento.

• Codificar de forma rigorosamente igual a modelada.

• O desenvolvedor deve ter a iniciativa de sempre buscar


respostas para seus desafios.

• Criar códigos reaproveitáveis.


Testes

• É a investigação do software, a fim de fornecer


informações sobre sua qualidade em relação ao contexto
em que este deve operar.

• Encontrar seus defeitos (bugs) e corrigi-los antes da


entrega definitiva do software.

• Os testes finais devem ser realizados pelos usuários do


sistema e não pelos desenvolvedores.
Implantação

• Deve ser gradativa e o acompanhamento por parte dos


desenvolvedores deve ser rigoroso.

• Não existe implantação sem treinamento.

• Deve trabalhar a mudança de paradigma.

• Não pode causar traumas aos usuários.

• O novo software deve substituir o já existente.


Manutenção

• Entrega da versão definitiva do software.


• Deve ser realizada obrigatoriamente pela equipe de
desenvolvimento.
• Existem dois tipos de manutenção:
 Corretiva: para corrigir possíveis erros.
 Agregativa: para agregar novos recursos ao
sistema atual.
Arquitetura de um sistema de software
Figura 2 – Arquitetura

APLICAÇÃO SGBD

Fonte: elaborada pelo autor.


Arquitetura de um sistema de software

• Composta por:

 Hardware: dispositivos necessários que permitem a


interação humana com a arquitetura.
 Software: SGBD e a aplicação.
 Peopleware: usuário final, DBA e desenvolvedor.
Ferramentas CASE para
levantamento de requisitos do
sistema
Bloco 2
André Olímpio
ALM

• Em inglês: Application Lifecycle Management.

• Em português: gerenciamento do ciclo de vida de um


sistema de software.

• Inicia-se na concepção do sistema.

• Finaliza quando houver a descontinuidade deste


software.
Requisitos

• É um descritivo formal de cada necessidade que o cliente


tenha e que deva ser resolvida por meio de uma
funcionalidade do sistema.

• Classificado em duas categorias:


 Funcional.
 Não funcional.
Entendendo os requisitos
Figura 3 - Requisitos

Domínio do
problema. Requisitos de negócio
Necessidades:
(necessidades do cliente).

Características: Recursos e comportamentos


Domínio (necessidades do sistema).
da
solução.
• Funcionais -> regras de negócio.
Requisitos:
• Não funcionais -> qualidade.

Fonte: elaborada pelo autor.


Ferramenta CASE: RE-Tools
• Open source.

• Captura por meio de múltiplas referências:


 Modelagem de requisitos não funcionais.
 Modelagem orientada a agentes.
 Modelagem de processo de negócios.
 Suporte a UML.
Ferramenta CASE: JIRA

• Identificação e mapeamento de requisitos.

• Visualização da ligação entre requisitos de negócio e o


problema do mundo real.

• Criação e visualização de uma hierarquia de requisitos.

• Licença paga.
Ferramenta CASE: Visure Requirement
• Licença paga.
• Muito utilizado em ambiente regulamentado:
 Setor automotivo.
 Setor aeroespacial.
 Dispositivos médicos.
 Gerência de energia elétrica.
• Integração com outras ferramentas deste segmento e pacote
Microsoft Office.
Ferramentas CASE para
desenvolvimento de sistema
de software
Bloco 3
André Olímpio
Ferramenta CASE: DB-Main

• Ferramenta freeware.

• Análise de requisitos em modelos de BD.

• Estrutura modelo entidade-relacionamento.


• Normalização, integração e otimização de esquemas de
dados.
• Geração de códigos em linguagem SQL, a partir dos
modelos.
Ferramenta CASE: BrModelo
• Licença freeware.

• Gerenciamento de toda estrutura de modelagem de um banco


de dados relacional.

• Permite criar todos os modelos ER (Entidade-Relacionamento):


 Lógico.
 Conceitual.

• Permite criar automaticamente um modelo a partir do outro.


Ferramenta CASE: DB Design

• Open source.

• Multiplataforma.

• Permite modelar, criar e fazer a manutenção de um sistema


de banco de dados em um único ambiente.

• Permite compatibilidade direta com SGBD como o MySQL.


Ferramenta CASE: ERwin

• Licença paga.

• Gera um modelo prático de fácil implementação.

• Conectividade direta com SGBD.

• Permite modelar banco de dados de grande porte


(Datawarehouse).
UX
• Em inglês: User eXperience.

• Em português: experiência do usuário.

• Ferramenta para criar um protótipo da interface com o


usuário final da aplicação.

• Esse protótipo também é chamado de wireframe.

• Definir de forma antecipada toda a estrutura dos


componentes da interface.
Ferramenta CASE: Axure
• Muito popular neste segmento.

• Licença paga.

• Permite a criação de wireframes clicáveis e interativos.

• Permite criação de protótipos para diferentes situações e


níveis de abstração.

• Compartilhamento em nuvem do projeto.


Ferramenta CASE: Sketch

• Licença paga.

• Direcionado para usuário do MacOS.

• Interface muito intuitiva.

• Vasta lista de plug-ins.

• Sketch Mirror: pré-visualizador da interface.


Programação orientada a objetos
• Trata-se um conjunto de classes que definirão os
objetos presentes em um sistema de software.

• Cada classe determina:

 Comportamento (definido nos métodos).


 Estados possíveis (atributos) de um objeto.
 Relacionamento deste com outros objetos.
Principais conceitos da
orientação a objetos:
Abstração.
Atributo.
Classe.
Encapsulamento.
Evento.
Herança.
Método.
Objeto (instância de uma classe).
Polimorfismo.
Ferramenta CASE: Visual Paradigm

• Licença paga.

• Possui versão gratuita mais enxuta, chamada community.

• Geração automática de códigos em POO, a partir do


diagrama de classes da UML.

• Possibilidade de engenharia reversa.


Teoria em Prática
Bloco 4
André Olímpio
Sistema: parquímetro

• Gerenciamento de estacionamento em
vias públicas.

• Uma cidade de 300 mil habitantes, que


apresenta uma frota aproximada de 100
mil carros.

• Creditar valores para serem utilizados


com pagamento.

• Integração para pagamentos via cartões


de crédito.
Norte para solução...

• Identificar os requisitos funcionais e não


funcionais.

• Quais são as ferramentas CASE para auxiliar


na modelagem e estruturação de software?

• Vale lembrar que este software fará


integrações com outros sistemas por meio de
API’s.

• Descrever a infraestrutura de back end e de


front end do sistema.
Dica do Professor
Bloco 5
André Olímpio
Outra Ferramenta CASE (ASTAH)

• Inicialmente, chamada de JUDE.

• É um software para modelagem de


sistemas por meio da construção de
diagramas da UML.

• Portabilidade para outras plataformas


que possuam máquina virtual Java
instalada.

• Muito utilizado pelos desenvolvedores.


Referências

• SOMMERVILLE, I. Engenharia de Software. 10. ed. São


Paulo: Pearson Education do Brasil, 2018.

• PRESSMAN, R. S. Engenharia de Software: uma abordagem


profissional. 8. ed. Porto Alegre: AMGH, 2016.
Bons estudos!

Você também pode gostar