Você está na página 1de 20

1

91

APNDICE A ATIVIDADES E REGRAS DEFINIDAS NO MECANISMO


Fase 1: Requisitos
a) Identificao de requisitos
- Entrevista com o solicitante do produto.
R1. Se (domnio da aplicao=Alto) ento Seleciona
R2. Se (rea de negcio Baixo) ento Seleciona
R3. Se (paradigmas de desenvolvimento Baixo) ento Seleciona
R4. Se (identificao de stakeholders Baixo) ento Seleciona
- Elaborao de questionrio.
R1. Se (domnio da aplicao Baixo) ento Seleciona
R2. Se (rea de negcio=Alto) ento Seleciona
R3. Se (questionrio Baixo) ento Seleciona
- Aplicao do questionrio.
R1. Se (domnio da aplicao Baixo) ento Seleciona
R2. Se (questionrio=Alto) ento Seleciona
- Avaliao das informaes levantadas.
R1. Se (domnio da aplicao Baixo) ento Seleciona
R2. Se (questionrio=Alto) ento Seleciona
- Identificao dos requisitos do usurio.
R1. Se (domnio da aplicao Baixo) ento Seleciona
R2. Se (levantamento de requisitos=Alto) ento Seleciona
- Identificao dos requisitos do sistema.
R1. Se (domnio da aplicao Baixo) ento Seleciona
R2. Se (identificao de requisitos=Alto) ento Seleciona
R3. Se (desenvolvimento de sistemas Baixo) ento Seleciona
b) Elaborao dos modelos.
- Definir modelo de negcio.
R1. Se (UML Baixo) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (rea de negcio=Alto) ento Seleciona
- Definir modelo de domnio.
R1. Se (UML Baixo) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (domnio da aplicao=Alto) ento Seleciona
c) Definio dos requisitos.
- Definio dos requisitos funcionais (funcionalidades do sistema).
R1. Se (levantamento de requisitos Baixo) ento Seleciona
R2. Se (funcionalidades=Alto) ento Seleciona
R3. Se (domnio da aplicao=Alto) ento Seleciona
R4. Se (descrio textual Baixo) ento Seleciona

92

- Definio dos requisitos no-funcionais (paralelismo, concorrncia, linguagem de


programao,...).
R1. Se (levantamento de requisitos Baixo) ento Seleciona
R2. Se (requisitos no-funcionais=Alto) ento Seleciona
R3. Se (descrio textual Baixo) ento Seleciona
- Descrio textual dos requisitos funcionais e no-funcionais.
R1. Se (paradigmas e modelos Baixo) ento Seleciona
R2. Se (desenvolvimento Baixo) ento Seleciona
R3. Se (descrio textual=Alto) ento Seleciona
- Descrio dos grupos ou pessoas que interagiro com o sistema.
R1. Se (identificao stakeholders =Alto) ento Seleciona
R2. Se (descrio textual=Alto) ento Seleciona
d) Identificao de diagramas.
- Identificao dos candidatos a casos de uso e atores do sistema.
R1. Se (UML=Alto) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (subdiviso de sistemas=Alto) ento Seleciona
R4. Se (domnio da aplicao=Alto) ento Seleciona
- Elaborao da primeira verso do diagrama de casos de uso.
R1. Se (UML=Alto) ento Seleciona
R2. Se (modelagem=Alto) ento Seleciona
R3. Se (subdiviso de sistemas Baixo) ento Seleciona
- Elaborao do diagrama de interao (colaborao).
R1. Se (UML=Alto) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (subdiviso de sistemas Baixo) ento Seleciona
e) Estudo da viabilidade do projeto.
R1. Se (domnio=Alto) ento Seleciona
R2. Se (rea de negcio=Alto) ento Seleciona
R3. Se (desenvolvimento Baixo) ento Seleciona
R4. Se (cronograma=Alto) ento Seleciona
Fase 2: Anlise
a) Anlise dos requisitos.
- Verificar requisitos mais importantes e eliminar inconsistncias e redundncias.
R1. Se (levantamento de requisitos Baixo) ento Seleciona
R2. Se (domnio da aplicao=Alto) ento Seleciona
R3. Se (descrio textual Baixo) ento Seleciona
R4. Se (requisitos no-funcionais Baixo) ento Seleciona
R5. Se (sistemas distribudos Baixo) ento Seleciona
- Formular as funcionalidades atravs dos requisitos levantados.
R1. Se (levantamento de requisitos Baixo) ento Seleciona

93

R2. Se (domnio da aplicao=Alto) ento Seleciona


R3. Se (requisitos no-funcionais Baixo) ento Seleciona
R4. Se (sistemas distribudos Baixo) ento Seleciona
b) Elaborao do prottipo (validao dos requisitos).
R1. Se (linguagem de programao Baixo) ento Seleciona
R2. Se (desenvolvimento OO=Alto) ento Seleciona
R3. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
R4. Se (sistemas distribudos Baixo) ento Seleciona
R5. Se (domnio da aplicao Baixo) ento Seleciona
R6. Se (subdiviso de sistemas Baixo) ento Seleciona
c) Definio do diagrama de classes.
- Definio de classes, atributos e operaes.
R1. Se (desenvolvimento OO Baixo) ento Seleciona
R2. Se (domnio=Alto) ento Seleciona
R3. Se (modelagem Baixo) ento Seleciona
R4. Se (UML=Alto) ento Seleciona
- Refinar o diagrama de casos de uso de acordo com a definio de classes.
R1. Se (domnio=Alto) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (UML=Alto) ento Seleciona
- Verificar nas classes os requisitos no-funcionais (distribuio, paralelismo).
R1. Se (sistemas distribudos=Alto) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (desenvolvimento OO=Alto) ento Seleciona
- Elaborar o diagrama de classes.
R1. Se (UML Baixo) ento Seleciona
R2. Se (desenvolvimento OO=Alto) ento Seleciona
d) Refinamento do diagrama de casos de uso (consistncia de classes).
R1. Se (domnio=Alto) ento Seleciona
R2. Se (modelagem Baixo) ento Seleciona
R3. Se (UML=Alto) ento Seleciona
e) Verificar e realizar modificaes relacionadas a inconsistncias nas classes identificadas.
R1. Se (domnio=Alto) ento Seleciona
R2. Se (UML Baixo) ento Seleciona
R3. Se (desenvolvimento OO=Alto) ento Seleciona
R4. Se (modelagem Baixo) ento Seleciona
R5. Se (descrio textual Baixo) ento Seleciona
f) Definio do diagrama de pacotes.
- Identificao dos pacotes (agrupamento de classes).
R1. Se (domnio=Alto) ento Seleciona
R2. Se (desenvolvimento OO Baixo) ento Seleciona
R3. Se (bibliotecas/componentes/pacotes=Alto) ento seleciona

94

R4. Se (arquitetura de software Baixo) ento Seleciona


- Identificao de aspectos de paralelismo, distribuio e sincronizao entre pacotes.
R1. Se (sistemas distribudos=Alto) ento Seleciona
R2. Se (desenvolvimento OO Baixo) ento Seleciona
R3. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
R4. Se (arquitetura de software=Alto) ento Seleciona
- Descrio textual dos pacotes e dos relacionamentos entre eles.
R1. Se (sistemas distribudos Baixo) ento Seleciona
R2. Se (desenvolvimento OO=Alto) ento Seleciona
R3. Se (bibliotecas/componentes/pacotes=Alto) ento Seleciona
R4. Se (domnio da aplicao Baixo) ento Seleciona
R5. Se (descrio textual Baixo) ento Seleciona
R6. Se (arquitetura de software Baixo) ento Seleciona
- Elaborao do diagrama de pacotes.
R1. Se (arquitetura de software Baixo) ento Seleciona
R2. Se (UML Baixo) ento Seleciona
Fase 3: Projeto
a) Verificao dos requisitos no-funcionais levantados anteriormente.
- Verificao dos requisitos descritos no documento de anlise (reuso, linguagem de
programao,...).
R1. Se (levantamento de requisitos Baixo) ento Seleciona
- Verificar localizao de casos de uso e atores nos subsistemas (concorrncia,
paralelismo,...).
R1. Se (sistemas distribudos=Alto) ento Seleciona
R2. Se (UML Baixo) ento Seleciona
R3. Se (levantamento de requisitos Baixo) ento Seleciona
R4. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
R5. Se (domnio da aplicao Baixo) ento Seleciona
R6. Se (arquitetura de software=Alto) ento Seleciona
b) Analisar o diagrama de classes (concorrncia e localizao de mtodos e classes).
R1. Se (sistemas distribudos Baixo) ento Seleciona
R2. Se (UML=Alto) ento Seleciona
R3. Se (levantamento de requisitos Baixo) ento Seleciona
R4. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
R5. Se (OO=Alto) ento Seleciona
R6. Se (arquitetura de software Baixo) ento Seleciona
R7. Se (desenvolvimento OO=Alto) ento Seleciona
c) Definio dos modelos de projeto.
- Definio de modelos de projeto, diagramas utilizados (seqncia comunicao entre
mtodos).
R1. Se (UML=Alto) ento Seleciona

95

R2. Se (arquitetura de software Baixo) ento Seleciona


R3. Se (desenvolvimento OO=Alto) ento Seleciona
R4. Se (modelagem=Alto) ento Seleciona
- Definio e descrio dos requisitos no-funcionais que sero adotados.
R1. Se (desenvolvimento OO=Alto) ento Seleciona
R2. Se (arquitetura de software Baixo) ento Seleciona
R3. Se (sistemas distribudos=Alto) ento Seleciona
R4. Se (descrio textual=Alto) ento Seleciona
- Definio de interfaces do sistema com o usurio.
R1. Se (projeto de interface=Alto) ento Seleciona
R2. Se (linguagem de programao Baixo) ento Seleciona
- Definio da diviso do sistema em camadas (aplicao, middleware,...).
R1. Se (arquitetura de software=Alto) ento Seleciona
R2. Se (desenvolvimento OO Baixo) ento Seleciona
d) Detalhamento dos algoritmos de implementao (mtodos).
R1. Se (descrio textual=Alto) ento Seleciona
R2. Se (projeto e anlise de algoritmos Baixo) ento Seleciona
R3. Se (UML=Alto) ento Seleciona
Fase 4: Implementao
a) Verificao dos aspectos levantados nas fases anteriores.
- Verificar aspectos arquiteturais para implementao.
R1. Se (linguagem de implementao=Alto) ento Seleciona
R2. Se (desenvolvimento OO Baixo) ento Seleciona
R3. Se (arquitetura de software=Alto) ento Seleciona
R4. Se (sistemas distribudos=Alto) ento Seleciona
- Verificar a diviso de subsistemas.
R1. Se (bibliotecas/componentes/pacotes=Alto) ento Seleciona
R2. Se (arquitetura de software=Alto) ento Seleciona
R3. Se (subdiviso de sistemas=Alto) ento Seleciona
- Verificar aspectos como linguagem de programao, gerao de cdigo e reuso, descritos
nas fases anteriores.
R1. Se (linguagem de programao Baixo) ento Seleciona
R2. Se (UML=Alto) ento Seleciona
R3. Se (arquitetura Baixo) ento Seleciona
R4. Se (desenvolvimento OO Baixo) ento Seleciona
- Definio das interfaces entre os subsistemas.
R1. Se (linguagem de programao Baixo) ento Seleciona
R2. Se (UML Baixo) ento Seleciona
R3. Se (arquitetura Baixo) ento Seleciona
R4. Se (desenvolvimento OO Baixo) ento Seleciona
R5. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona

96

b) Implementao do sistema.
- Implementao das classes e mtodos do sistema seguindo-se as definies do projeto.
R1. Se (linguagem de programao=Alto) ento Seleciona
R2. Se (UML Baixo) ento Seleciona
R3. Se (projeto e anlise de algoritmos Baixo) ento Seleciona
R4. Se (desenvolvimento OO=Alto) ento Seleciona
R5. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
- Definio dos mecanismos de sincronizao e balanceamento de carga entre ns de
processamento.
R1. Se (linguagem de programao=Alto) ento Seleciona
R2. Se (desenvolvimento OO Baixo) ento Seleciona
R3. Se (sistemas distribudos=Alto) ento Seleciona
- Implementao das interfaces do sistema com os subsistemas associados.
R1. Se (linguagem de programao=Alto) ento Seleciona
R2. Se (desenvolvimento OO=Alto) ento Seleciona
R3. Se (arquitetura de software=Alto) ento Seleciona
R4. Se (bibliotecas/componentes/pacotes=Alto) ento Seleciona
Fase 5: Testes
a) Planejamento de verificao e validao do sistema (plano de teste).
R1. Se (verificao e validao=Alto) ento Seleciona
R2. Se (domnio Baixo) ento Seleciona
R3. Se (cronograma=Alto) ento Seleciona
R4. Se (infra-estrutura Baixo) ento Seleciona
R5. Se (paradigmas e modelos Baixo) ento Seleciona
R6. Se (desenvolvimento OO=Alto) ento Seleciona
b) Execuo da inspeo do sistema.
- Inspeo de programa.
R1. Se (inspeo=Alto) ento Seleciona
R2. Se (afinidade=Alto) ento Seleciona
R3. Se (desenvolvimento OO Baixo) ento Seleciona
R4. Se (verificao e validao Baixo) ento Seleciona
R5. Se (linguagem de programao=Alto) ento Seleciona
- Anlises de cdigo-fonte automatizadas.
R1. Se (automatizao e anlise Baixo) ento Seleciona
R2. Se (linguagem de programao Baixo) ento Seleciona
R3. Se (projeto e anlise de algoritmos=Alto) ento Seleciona
R4. Se (bibliotecas/componentes/pacotes Baixo) ento Seleciona
R5. Se (depurao=Alto) ento Seleciona
c) Execuo de testes no sistema.
- Realizao de testes para a deteco de defeitos (caixa preta, partio de equivalncia,...).
R1. Se (verificao e validao Baixo) ento Seleciona

97

R2. Se (depurao Baixo) ento Seleciona


- Realizao de testes de integrao (top-down e bottom-up, interface, estresse,...).
R1. Se (verificao e validao=Alto) ento Seleciona
R2. Se (depurao Baixo) ento Seleciona
- Realizao de testes orientados a objetos (classes, integrao de objetos,...).
R1. Se (verificao e validao Baixo) ento Seleciona
R2. Se (depurao=Alto) ento Seleciona

98

APNDICE B - QUESTIONRIOS
Cadastro Pessoal
Nmero de identificao: ___________
Dados Pessoais
Nome: _________________________________Telefone de contato: _________________
Endereo eletrnico (e-mail): _________________________________________________
Formao
( ) Anlise de Sistemas
( ) Cincia da Computao
( ) Processamento de Dados
Nvel:
( ) Curso Tcnico
( ) Terceiro Grau
Instituio de Formao: _____________________________________________________
Especializao: ____________________________________________________________
Ps-Graduao (mestrado, doutorado e ps-doutorado): ____________________________
_________________________________________________________________________
Quanto tempo de experincia na rea de desenvolvimento voc tem? __________________
Organizacional
Organizao em que trabalha: _________________________________________________
Se terceirizado, por: _________________________________________________________
Setor: ____________________________________________________________________
Cargo de Contratao: _______________________________________________________
Valor horrio (salrio/hora): __________________________________________________
Quanto tempo de experincia voc tem nesta organizao? __________________________
A organizao adota algum paradigma de desenvolvimento especfico? Qual? __________
_________________________________________________________________________
Perodos de Trabalho
De: _______ At: _______
De: _______ At: _______
De: _______ At: _______
Realiza horas extras? Indique a freqncia ou como so realizadas: ___________________
_________________________________________________________________________

PROJETOS
Complexidade do projeto (para o caso da programao estruturada, consideramos que uma
classe possui cerca de cinco funes).
( ) Projetos de tamanho grande (grande porte/mais de 80 classes).
=> Categoria A
( ) Projetos de tamanho mdio (mdio porte/de 30 a 80 classes).
=> Categoria B
( ) Projetos de tamanho pequeno (pequeno porte/menos de 30 classes). => Categoria C
Nmero de identificao: ___________
Nome do Projeto: ____________________________________________________________
Estado do projeto:
( ) Planejamento
( ) Iniciado
( ) Suspenso
( ) Finalizado
( ) Em Manuteno
Perodo de execuo (incio/trmino): ____________________________________________

99

Domnio/rea de negcio: ______________________________________________________


___________________________________________________________________________
Descrio: __________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Restries: __________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Processo (paradigma) de desenvolvimento: ________________________________________
Mtricas aplicadas (medidas de produo, cronogramas, melhoria de pessoal,...)
Tipo da mtrica:
( ) Produto
( ) Processo
( ) Individual
Descrio: __________________________________________________________________
Perodo incio: ____________________
Perodo fim: ______________________
Recursos utilizados (limitaes)
Nome do recurso: _____________________ Recurso requerido: ______________________
Descrio (verso, fabricante, configurao): ______________________________________
___________________________________________________________________________
Se Compartilhado:
( ) Disponvel
( ) Indisponvel
( ) Com Defeito
Se exclusivo:
( ) Disponvel
( ) Indisponvel
( ) Com Defeito

LINGUAGEM DE PROGRAMAO/PROTOTIPAGEM
Nmero de identificao: ___________
Linguagem de programao: __________________________________________________
1-) Aponte nas questes que seguem, como voc teve contato com essa linguagem.
Se voc realizou algum tipo de treinamento dessa linguagem, indique o tipo de treinamento
realizado.
( ) at 20 horas
( ) de 20 a 80 horas
( ) acima de 80 horas
Descreva como o treinamento foi realizado (aulas durante sua formao profissional, cursos
que voc freqentou, workshops...). ______________________
___________________________________________________________________
Caso tenham sido realizados exerccios prticos com a linguagem de programao, indique o
assunto que eles abordavam.
( ) Tipos de dados
( ) Elaborao de funes
( ) Tratamento com bancos de dados
( ) Conexes com a WEB
2-) Quantos projetos voc realizou utilizando esta linguagem? Utilizar a complexidade
descrita abaixo.
( )A
( )B
( )C

100

3-) Durante esses projetos, suas atividades de implementao correspondiam a qual/quais das
alternativas?
( ) Manipulao de classes (atributos e mtodos) de dados. No caso de prototipagem, para
interface com o usurio.
( ) Manipulao de bancos de dados. No caso de prototipagem, com exemplos de
persistncia.
( ) Manipulao de componentes. No caso de prototipagem, para demonstrar conexo com a
WEB.
( ) Manipulao de componentes. No caso de prototipagem, para demonstrar arquiteturas
distribudas como cliente/servidor.
( ) Otimizao da programao do sistema.
4-) Caso voc j tenha ministrado treinamento sobre esta linguagem de programao,
responda aos itens abaixo.
a-) Indique o tipo de treinamento realizado.
( ) at 20 horas
( ) de 20 a 80 horas
( ) acima de 80 horas
Descreva como o treinamento foi realizado (aulas para curso de graduao, mini-cursos em
workshops...). _______________________________________________
___________________________________________________________________
Voc realizou exerccios prticos com os alunos? Se sua resposta for afirmativa, indique o
assunto que eles abordavam (tipos de dados, elaborao de funes, conexes e tratamento
com bancos de dados...)._____________________________
___________________________________________________________________

CONHECIMENTOS
As respostas para as questes abaixo devem ser baseadas na experincia de todos os projetos
de desenvolvimento de software de que voc participa ou j participou. Na frente de cada
opo (( )A/B/C), indique o nmero de projetos desenvolvidos para o respectivo caso.
Complexidade do projeto (para o caso da programao estruturada, considera-se que uma
classe possui cerca de cinco funes).
Projetos de tamanho grande (grande porte/mais de 80 classes).
=> Categoria A
Projetos de tamanho mdio (mdio porte/de 30 a 80 classes).
=> Categoria B
Projetos de tamanho pequeno (pequeno porte/menos de 30 classes).
=> Categoria C
* Para projetos estruturados considerar a relao de 1/5 (classes/funes).
1-) Projeto de interface.
Voc j realizou um projeto de interface para os desenvolvimentos de que participou?
( ) Sim ( ) No. Se a resposta for afirmativa, indique os passos que voc realizou para
desenvolv-lo: _____________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

101

___________________________________________________________________________
___________________________________________________________________
Em quantos desenvolvimentos voc realizou o projeto da interface?
( )A
( )B

( )C

2-) Desenvolvimento de software.


Paradigmas
Voc conhece os paradigmas de desenvolvimento de software? Se sua resposta for afirmativa,
assinale as alternativas correspondentes ao seu conhecimento nesse assunto, indicando o
nmero de projetos que voc aplicou.
Anlise estruturada:
( )A
( )B
( )C
Orientao a objetos:
( )A
( )B
( )C
Componentes:
( )A
( )B
( )C
3-) Orientao a Objetos
Voc realizou algum tipo de treinamento em orientao a objetos. Se sua resposta for
afirmativa, indique o tipo de treinamento realizado.
( ) at 20 horas
( ) de 20 a 80 horas
( ) acima de 80 horas
Como o treinamento foi realizado (aulas durante sua formao profissional, cursos que voc
freqentou, workshops...)? ______________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________
Nesse treinamento foram realizados exerccios prticos com os conceitos de orientao a
objetos? Se sua resposta for sim, indique o assunto que eles abordavam (classes,
encapsulamento, herana, polimorfismo,...). ________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________
Indique, quais os tipos e quantos foram os projetos nos quais voc aplicou esses conceitos.
Classes:
( )A
( )B
( )C
Passagem de mensagem:
( )A
( )B
( )C
Encapsulamento:
( )A
( )B
( )C
Herana:
( )A
( )B
( )C
Polimorfismo:
( )A
( )B
( )C
Dos projetos orientados a objetos que voc participou quais tiveram algum tipo de ajuste para
que a implementao no fosse prejudicada ou se tornasse excessivamente complexa com o
paradigma de orientao a objeto adotado? _________________________________
___________________________________________________________________________
_______________________________________________________________________
4-) Linguagem de modelagem
Voc conhece ou teve contato com UML (Unified Model Language)? Se a resposta for
afirmativa, indique como foi esse contato.
Voc realizou algum tipo de treinamento de UML. Se sua resposta for afirmativa, indique o
tipo de treinamento realizado.
( ) at 20 horas
( ) de 20 a 80 horas
( ) acima de 80 horas

102

Indique como o treinamento foi realizado (aulas durante sua formao profissional, cursos que
voc freqentou, workshops...). ________________________________
___________________________________________________________________________
___________________________________________________________
Indique quais contedos e diagramas voc desenvolveu em seus projetos.
Diag. de casos de uso:
( )A
( )B
(
Diag. de classes:
( )A
( )B
(
Diag. de interao:
( )A
( )B
(
Diag. de seqncia:
( )A
( )B
(
Diag. de colaborao:
( )A
( )B
(
Diag. de estados:
( )A
( )B
(
Diag. de componentes:
( )A
( )B
(
Diag. arquitetural:
( )A
( )B
(

)C
)C
)C
)C
)C
)C
)C
)C

Se voc j utilizou a gerao de cdigo-fonte automtica oferecida por ferramentas de


modelagem, como Rose e Together, indique em quantos projetos isso ocorreu.
( )A
( )B
( )C
Caso voc j tenha ministrado treinamento sobre esse tipo de ferramenta, responda aos itens
abaixo.
a-) Indique o tipo de treinamento realizado.
( ) at 20 horas
( ) de 20 a 80 horas
( ) acima de 80 horas
Descreva como o treinamento foi realizado (aulas para curso de graduao, minicursos em
workshops...). _______________________________________________
___________________________________________________________________
Voc realizou exerccios prticos com os alunos? Se sua resposta for afirmativa, indique o
assunto que eles abordavam (tipos de dados, elaborao de funes, conexes e tratamento
com bancos de dados...)._____________________________
___________________________________________________________________
5-) Modelos de ciclo de vida do software
Dentre os modelos de ciclo de vida do software, indique quais tipos e o nmero de projetos
em que voc j os aplicou.
Cascata:
( )A
( )B
( )C
Prototipao:
( )A
( )B
( )C
Espiral:
( )A
( )B
( )C
Outros:
( )A
( )B
( )C
Se voc assinalou outros, indique quais so eles com uma breve especificao ao lado de cada
um. _________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
_____________________________________________________________________
6-) Quais os processos de capacitao ou melhoria que voc conhece.
( ) PSP (Personal Software Process)
( ) TSP (Team Software Process)
( ) PCMM (Personal Capability Maturity Model)
( ) CMM (Capability Maturity Model)
( ) SPICE (Software Process Improvement and Capability Determination)

103

( ) Normas ISO de produto ou processo (9128, 9000,...).


( ) Outros. Descreva: ________________________________________________
__________________________________________________________________
Assinale os processos que voc j utilizou/aplicou em seus projetos? Indique nos parnteses a
quantidade de projetos dos tamanhos indicados.
PSP:
( )A
( )B
( )C
TSP:
( )A
( )B
( )C
PCMM:
( )A
( )B
( )C
CMM:
( )A
( )B
( )C
SPICE:
( )A
( )B
( )C
Normas ISO:
( )A
( )B
( )C
Outros:
( )A
( )B
( )C
7-) Depurao, verificao e validao de sistemas.
Voc realiza teste de mesa (depurao) em suas implementaes? Se voc o realiza, indique,
brevemente, como e quando o faz? _____________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
Que tipos de erros voc mais encontra durante os testes de mesa? _____________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
_________________________________________________________________
Indique, dentre os outros tipos de teste (deteco de defeitos, integrao e orientao a
objetos), com qual freqncia voc os utilizou em seus projetos de desenvolvimento.
Deteco de defeitos:
( )A
( )B
( )C
Descreva, brevemente, como foi o processo de aplicao do teste. _____________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
Integrao:
( )A
( )B
( )C
Descreva, brevemente, como foi o processo de aplicao do teste. _____________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
Orientao a objetos:
( )A
( )B
( )C
Descreva, brevemente, como foi o processo de aplicao do teste. _____________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________

104

A verificao de software refere-se ao conjunto diferente de atividades que garante que o


software implemente corretamente uma funo especfica.
A validao indica um conjunto diferente de atividades que garante que o software que
construdo rastrevel s exigncias do cliente.
Se voc j aplicou verificao e validao em seus projetos, indique a quantidade e o tipo dos
projetos em que voc aplicou e descreva como realizou o processo.
( )A
( )B
( )C
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
_____________________________________________________________
Qual(is) domnio(s) ou rea(s) de negcio voc pde ter contato em projetos de que no
participou mas que teve experincia com as restries ou problemas que a execuo do
projeto implicaria.____________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
8-) Levantamento de requisitos.
Do processo de levantamento de requisitos, indique quais passos voc faz e com qual
freqncia foi realizado nos projetos que voc participou.
Entrevista cliente:
( )A
( )B
( )C
Elabora questionrio:
( )A
( )B
( )C
Entrevista usurios finais:
( )A
( )B
( )C
Defini atores do sistema:
( )A
( )B
( )C
Elabora casos de uso:
( )A
( )B
( )C
Refinamento do diagrama de casos de uso:
( )A
( )B
( )C
Se voc no utiliza os passos acima, descreva como voc realiza o processo de levantamento
de requisitos em seus projetos: __________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Voc j realizou pesquisa de campo (com questionrios e entrevistas com os usurios), os
resultados da pesquisa foram satisfatrios? Ou seja, voc conseguiu obter as respostas que
desejava?
( ) Completamente
( ) Parcialmente
( ) Uma pequena parcela.
9-) Identificao dos stakeholders do sistema.
Como so construdos ou identificados os atores e participantes (chamados stakeholders) dos
projetos que voc desenvolve? __________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Indique em quantos e quais tipos de projetos voc realizou essa atividade.
( )A
( )B
( )C

105

10-) Definio de funcionalidades do sistema.


Como voc realiza a definio das funcionalidades nos seus projetos de desenvolvimento, ou
seja, por onde voc comea? Como descobre as funcionalidades que o sistema ter?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Com que freqncia voc realiza a descrio textual dos algoritmos que implementa.
( ) Sempre
( ) Na maior parte
( ) Na menor parte
( ) Nunca
11-) Definio de requisitos no-funcionais.
Como voc realizou a definio dos requisitos no-funcionais nos projetos em que participou?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Indique em quantos e quais tipos de projetos voc realizou essa atividade.
( )A
( )B
( )C
12-) Reutilizao de software (bibliotecas, componentes e pacotes).
Voc adota, de alguma forma, as prticas de reutilizao nos desenvolvimentos de que
participa, ou seja, desenvolve pensando que uma classe ou componente pode ser
reaproveitado em outros projetos? Faz a formao de bibliotecas particulares?
( ) Sim
( ) No
Indique o nmero de projetos nos quais voc utilizou bibliotecas, componentes e pacotes de
software.
Bibliotecas:
( )A
( )B
( )C
Componentes:
( )A
( )B
( )C
Pacotes:
( )A
( )B
( )C
Indique o nmero de projetos (caso tenha ocorrido) em que voc desenvolveu bibliotecas,
componentes e pacotes de software.
Bibliotecas:
( )A
( )B
( )C
Componentes:
( )A
( )B
( )C
Pacotes:
( )A
( )B
( )C
Como voc faz a integrao entre os componentes ou entre os subsistemas e seus pacotes?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
13-) Projeto e anlise de algoritmos.
Se voc cursou alguma disciplina, cujo contedo inclua anlise de algoritmos, indique que
tipos de algoritmos voc implementou ou conheceu realmente o funcionamento e a
implicao que h na implementao e uso de cada um deles.
( ) Algoritmos recursivos.
=>
( ) Implementao
( ) Funcionamento

106

( ) Busca e ordenao.
=>
( ) Implementao
( ) Funcionamento
( ) Grafos ou rvores.
=>
( ) Implementao
( ) Funcionamento
( ) Ordenao de rvores.
=>
( ) Implementao
( ) Funcionamento
Indique as cinco principais disciplinas envolvendo lgica de programao que voc cursou
durante a sua formao profissional? _____________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
14-) Arquitetura de software.
Quais os tipos de arquitetura de software voc conhece? ______________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Descreva o que consiste para voc um software multicamadas: _________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Indique a utilizao da arquitetura de software nos projetos de que voc participou.
Arquitetura cliente/servidor:
( )A
( )B
( )C
Arquitetura em camadas:
( )A
( )B
( )C
15-) Sistemas distribudos.
D um exemplo de um sistema distribudo e explique por que voc o considera distribudo.
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Assinale o que voc considera como caractersticas de um sistema distribudo.
( ) Concorrncia - atender a mais de um cliente que esteja utilizando determinado recurso ao
mesmo tempo.
( ) Transparncia - ocultar de usurios finais, o tratamento de independncias e a utilizao
dos componentes distribudos.
( ) Segurana - existem alguns requisitos que devem ser atendidos para que a segurana (das
informaes e acessos) de um sistema seja estabelecida.
( ) Heterogeneidade - a variedade dos elementos (redes, hardware,desenvolvedores)
presentes nos sistemas distribudos.
( ) Abertura - o grau de abertura de um sistema representado pela capacidade de novos
servios serem adicionados.
( ) Escalabilidade - a possibilidade do sistema manter-se efetivo, mesmo com aumento
significante dos recursos e de usurios;
( ) Tratamento de falhas so recursos utilizados para que na ocorrncia de uma falha, a
operacionalidade do sistema distribudo no seja afetada.
Indique, a seguir, a quantidade e os tipos de projetos de sistemas distribudos de que voc
participou. ( ) A
( )B
( )C
16-) Desenvolvimento de cronograma de projeto.

107

Voc poderia definir o que um cronograma de projeto e qual ferramenta de auxlio na


elaborao de cronogramas voc conhece? _______________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________
Em quantos projetos voc foi o responsvel pelo desenvolvimento do cronograma?
( )A
( )B
( )C
Dos cronogramas que voc desenvolveu, em quantos deles mais de 80 por cento das
atividades foram cumpridas no tempo determinado previamente?
( )A
( )B
( )C
17-) Processo de inspeo de software.
Qual desses tipos de inspeo de software voc conhece?
( ) Inspeo de cdigo.
( ) Processo de inspeo do sistema.
Caso sua resposta seja processo de inspeo do sistema, indique, se houver, o nmero e os
tipos de projetos em que voc participou?
( )A
( )B
( )C
Assinale, qual(is) dos papis voc realizou durante o processo?
( ) Relator
( ) Corretor
( ) Outros
18-) Ferramentas de automatizao da anlise de cdigo fonte.
Voc conhece ferramentas de anlise de cdigo fonte? Se sua resposta for afirmativa,
descreva como voc teve contato com elas (projetos, curso, treinamento, outros). Voc e sua
equipe ficaram satisfeitos com os resultados obtidos? ______________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
Indique em quantos e quais tipos de projetos voc realizou essa atividade.
( )A
( )B
( )C
19-) Infra-estrutura disponvel.
Voc conhece a infra-estrutura e recursos (necessrios para o desenvolvimento de software)
disponveis na instituio em que trabalha?
( ) Sim
( ) No
Em uma situao de risco e necessidade de conseguir recursos para projetos, voc teria o
conhecimento de quais recursos poderiam ser alocados e quais deveriam ser adquiridos?
( ) Sim
( ) No
Caso essa situao ocorresse, saberia a quem recorrer para a busca ou aquisio dos recursos?
( ) Sim
( ) No
20-) Afinidades (indique dois integrantes da sua equipe com os quais voc tem mais afinidade
para trabalhar e o porqu)
Nome do indivduo: _________________________________________________________
Nome do indivduo: _________________________________________________________
SUGESTES

APNDICE C DIAGRAMA DE CLASSES (ATIVIDADES, PROJETOS, ARTEFATOS E RECURSOS)

Projeto
Funcao
Treinamento

nomehabilidade
descricao
idhabilidade

nometreinamento
descricao
treinamentoanterior
idtreinamento
datainicio
datafim
nivel
1
1..*

descri cao
id func ao
nomefuncao
subordinacao
qualif icac oes

Habilidade

1.. *

1.. *
At orFuncao

At orHab il ida de
idhabilidade
idator
nivel

AtorTreinamento

idf uncao
idat or
da taini cio
da tafi m
se tor

1..*

idator
idtreinamento
estado

AtorGrupo
1..*

1.. *

AtorAcesso
idat or
idacesso

1
Grupo
idgrupo
n ome gru po
d escri cao
coordena dor

idfase
idprocesso

1..*

Cronograma

Ag enda

1..*

estado
datainicio
datafim
datafimprevista
idator
1..* idatividade
1..*
datainicioprevista
idagenda
esforcohora

1
Acesso
nomeacesso
idacesso
tipoacesso

1..*
AtorConhecimento
idator
nivel
idconhecimento
observacao

1.. *

AtorAfinidade
nivel
idator1
idator2
idafinidade

1..*
RecCompartilhado
estado
custo
custounidade
Recurso

Atividade
nomeatividade
idatividade
idator
1 descricao
atividadesanteriores
idfase
1

AtividadeRecurso
idatividade
1..* idrecurso

Artefatos
idartefato
nome
1
descricao
versao
tipo

1.. *
AtividadeArtefato
1..* idartefato
idatividade

1..*

1
1..*

estado
datafim
datainicioprevista
datafimprevista
datainicio
idprojeto
1..* idatividade
esforcohora

idf ase
no me fase
idprocesso
de scri cao

nomeator
email
1 custohora
formacao
1 idator
1
idacesso
1 organizacao
1..*
cargo
2

1
Fase

idator
idperiodo

1..*

nomeprocesso
descricao
versao
idprocesso

1..*

1..*

1..*

Processo
ProcessoFase

AtorPeriodo

At or

idgrupo
idator

Pe riodo
de
ate
idperiodo
nomeperiodo
descricao

1..*
1

nomeprojeto
descricao
datainicio
datafim
datafimprevista
restricoes
objetivos
1..*
idprocesso
met ricas
estimati vas
estado
1 idprojeto
datainicioprevista

1..* Si tu acao
idsituacao
idatividade
dataexecucao
horainicio
horafim
idproblema

idrecurso
no merecurso
de scricao
fabricante
1 versao
configu racao
recrequ erido
tip orecurso

Probl ema
1

idp robl em a
1..* ti poprobl ema
descri cao
solucao

Re cExclusivo
estado
cust o
reservas
cust ounidade

RecConsumi vel
estado
quanttotal
quantutilizada
custounidade
unidade

APNDICE D TELA DE RELATRIO COM RESULTADOS

Figura 18 Tela representativa do relatrio de resultados.