• Nenhum resultado encontrado

Engenharia de Software I

N/A
N/A
Protected

Academic year: 2021

Share "Engenharia de Software I"

Copied!
19
0
0

Texto

(1)

Engenharia de Software I

Curso de Sistemas de Informação

Karla Donato Fook

[email protected]

DESU / DComp 2017

(2)

Ferramentas

Computer-Aided Software Engineering – CASE

Engenharia de Software Auxiliada

por Computador

(3)

5

Computer-Aided Software Engineering – CASE

Nome dado ao software usado para apoiar as atividades de processo de software, como engenharia de requisitos,

projeto, desenvolvimento de programas e testes

6

Como acontece esse apoio?

(4)

7

Quais atividades podem ser automatizadas?

O desenvolvimento dos modelos gráficos de sistema como parte da especificação de requisitos ou do projeto de software

A compreensão de um projeto por meio de um dicionário de dados

A geração de interfaces com o usuário com base em uma descrição de interface gráfica

Quais atividades podem ser automatizadas?

O debugging do programa por meio do fornecimento de informações sobre o programa em execução

A tradução automática de programas a partir de uma versão antiga de uma linguagem de programação, como COBOL, para uma versão mais recente

(5)

9

Quais atividades podem ser automatizadas

por quais ferramentas?

Documentação

Tratamento de Requisitos

Projeto e Análise

Implementação

Ferramentas de Revisão e Testes

Documentação

Aplicações em XML (eXtensible Markup Language)

 Tem se tornado um padrão para armazenamento de

informações, em especial quando se faz a gerência de conteúdo

LibreOffice

 São integrados de forma a trocar dados entre si

• Planilhas eletrônicas • Bancos de dados • Software de apresentação 10

Documentação

Documentação

(6)

Documentação

Wiki

 Passam a ser utilizadas para a gerência de grandes

quantidades de informação

 Mais conhecida: Wikipedia

 Permite a criação de um Website, uma intranet, por

exemplo

 Os dados podem ser mantidos em um banco de dados,

como o MySQL, por exemplo

 Caráter colaborativo 11

Documentação

Documentação

Tratamento de Requisitos

Armazenagem e gerenciamento

 Permite registrar artefatos de diversos tipos, como

diagramas UML, casos de teste ou documentos

 Exemplos

• Astah

• IBM Rational Rose Pro • Borland Caliber RM

(7)

Tratamento de Requisitos

Descrições textuais e formais

 Exemplos de ferramentas para verificação formal de

requisitos especificados por métodos formais

• Atelier-B (comercial) e B4free (uso restrito acadêmico)

• Suportam a linguagem B para formalização de

requisitos • Zeta

• Ferramenta gratuita que suporta a notação Z

13

Tratamento de Requisitos

Descrições textuais e formais

 Redes de Petri

 Linguagem natural  Ferramentas experimentais

• ARM Automated Requirement Measurement (NASA): o software analisa textos escritos em inglês e identifica neles elementos como listas de itens, exemplos ou frases cuja interpretação possa ser ambígua

• Matafor (MIT): traduz especificações em código

Tratamento de Requisitos

14

(8)

Projeto e Análise

Interfaces e Protótipos

 O Eclipse, com extensão para o Visual Editor ou BIRT  Teresa, do ISTI, na Itália

• Suporta metodologia para o projeto e avaliação de interfaces com base em organização de tarefas

15

Projeto e Análise

Projeto e Análise

Arquitetura  Utilizando UML • JDeveloper, da Oracle • Sun Java Studio Enterprise • Astah

• StarUML

• Com extensão para SIGs (UFV)

• AgoUML

(9)

Projeto e Análise

Arquitetura Astah  http://astah.change-vision.com/en/product/astah-community.html  https://members.change-vision.com/members/files/astah_community 17

Projeto e Análise

Projeto

Implementação

Documentação de Código  Doxigen  JavaDoc 18

Implementação

(10)

Implementação

Controle de Versões

 GIT Hub

 CVS (Concurrent Version System)

• Gratuito • Código aberto

• http://www.cvshome.com

• Projeto base para outros sistemas de controle de versão

 TortoiseCVS, emhttp://www.tortoisecvs.org  TortoiseSVN, emhttp://tortoisesvn.tigris.org

 JediCVS 19

Implementação

Ferramentas de Revisão e Testes

As revisões e testes são instrumentos de controle de qualidade de um projeto

Uma relação de ferramentas para teste de software pode ser encontrada emhttp://opensourcetesting.org

As ferramentas têm aplicação diversa

 Testes de desempenho

Interfaces gráficas (GUI)

(11)

Apoio a Metodologias

Ferramentas que podem auxiliar na aplicação de metodologias ágeis, em particular a XP

VersionOne XPlanner (gratuita) XPMT (gratuita) 21

Apoio a Metodologias

Apoio a Metodologias

22

Quais são os fatores que limitam o

aprimoramento pelo uso de CASE?

Os sistemas CASE existentes automatizam as atividades rotineiras, mas as tentativas de aproveitar a tecnologia de inteligência artificial para apoiar o projeto não foram bem-sucedidas

(12)

23

Quais são os fatores que limitam o

aprimoramento pelo uso de CASE?

Na maioria das organizações, a engenharia de software é uma atividade de equipe e os engenheiros de software passam boa parte do tempo interagindo com outros

membros da equipe

A tecnologia CASE não pode ajudar muito nesse caso

Perspectivas da classificação CASE

Perspectiva Funcional

 São classificadas de acordo com suas funções específicas Perspectiva de Processo

 São classificadas de acordo as atividades de apoio que fornecem Perspectiva de Integração

(13)

25

Classificação funcional das ferramentas CASE

26

Classificação sob a perspectiva de processo das

ferramentas CASE

Specification Design Implementation Verification and Re-eng ineering tools

Testing tools Debugg ing tools Prog ram analysis tools Language-processing tools

Method suppor t tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools

(14)

Ferramentas CASE para Gerenciamento

de Configuração

Gerenciamento de Configuração de Software (SCM

-Software Configuration Management)

Desenvolvimento e uso de padrões e procedimentos para o gerenciamento de sistemas de software

(15)

29

Gerenciamento de Configuração

Controla a evolução do sistema de software, gerenciando versões dos componentes de software e seus relacionamentos

O propósito é identificar todos os componentes do software e controlar sua evolução através das várias fases no ciclo de vida de desenvolvimento

30

Gerenciamento de Configuração

É uma disciplina que pode ser aplicada para atividades incluindo

 desenvolvimento de software  controle de documentação  problemas de rastreamento

(16)

31

Gerenciamento de Configuração

Os procedimentos de gerenciamento de configuração definem

 como registrar e processar mudanças de sistema  como relacioná-las aos componentes de sistema e

 os métodos usados para identificar diferentes versões dele É considerado como parte do gerenciamento de qualidade do

software

Gerenciamento de Configuração

Ferramentas de gerenciamento de configurações são usadas para armazenar versões de componentes do sistema e rastrear releases das versões do sistema

(17)

33

Gerenciamento de Configuração

Exemplos

 Construção de sistemas

• make (Feldman, 1979; Oram e Talbott, 1991) • imake (DuBois, 1996)  Rastreamento de defeitos • Bugzilla  Gerenciamento de versões • RCS (Tichy, 1985) • CVS (Berliner, 1990) 34

Gerenciamento de Configuração

Apoio para gerenciamento de mudanças

(18)

35

GC - Apoio para gerenciamento de mudanças

Recursos

 Editor de formulários  Sistema de workflow

• Permite à equipe de GC definir quem deve processar o formulário de solicitação de mudança e a ordem de processamento.

• Encaminha automaticamente os formulários para as pessoas corretas no tempo certo

 Banco de dados de mudança

• Usado no gerenciamento de todas as propostas de mudanças

 Sistema de relato de mudanças

• Gera relatórios sobre a situação das mudanças

GC - Apoio para gerenciamento de versões

Recursos

 Identificação de versões e releases  Gerenciamento de armazenamento

• Visa reduzir o espaço de armazenamento para as versões

 Registro de histórico de mudanças

• Mudanças de executadas no código são registradas e listadas

 Desenvolvimento independente

(19)

37

Lembrando de ferramentas CASE

Incluem

 Editores de diagramas  Dicionário de dados  Compiladores  Debuggers

 Ferramentas de construção de sistemas  ...

Referências

Documentos relacionados

insights into the effects of small obstacles on riverine habitat and fish community structure of two Iberian streams with different levels of impact from the

Este questionário tem o objetivo de conhecer sua opinião sobre o processo de codificação no preenchimento do RP1. Nossa intenção é conhecer a sua visão sobre as dificuldades e

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

Segundo Cheng (2007) a casa da qualidade (planejamento do produto) é utilizada para traduzir a qualidade demandada pelos clientes em requisitos técnicos do produto

A presente investigação teve como objetivo geral o estudo dos fatores de risco e de proteção internos e externos utilizados perante a violência social, nomeadamente o bullying

No âmbito da Década da Educação para o Desenvolvimento Sustentável (2005-2014) ambiciona-se uma escola renovada, capaz de direccionar a humanidade para um caminho

Soneto Dormindo vi a cândida Poesia Testemunhos impressos – Obras de Domingos dos Reis Quita, chamado entre os da Arcadia Lusitana Alcino Micenio, segunda edição correcta, e

Posteriormente, em Junho de 1999, ingressei no grupo Efacec, onde fui responsável pela elaboração de projetos e propostas para a construção de Estações de Tratamento