Você está na página 1de 11

ATIVIDADES PRTICAS SUPERVISIONADAS

3 Srie Engenharia de Software e Anlise de Projeto de Sistemas


A atividade prtica supervisionada (ATPS) um procedimento metodolgico de ensino-aprendizagem desenvolvido por meio de um conjunto de etapas programadas e supervisionadas e que tem por objetivos: Favorecer a aprendizagem. Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e eficaz. Promover o estudo, a convivncia e o trabalho em grupo. Desenvolver os estudos independentes, sistemticos e o autoaprendizado. Oferecer diferentes ambientes de aprendizagem. Auxiliar no desenvolvimento das competncias requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduao. Promover a aplicao da teoria e conceitos para a soluo de problemas prticos relativos profisso. Direcionar o estudante para a busca do raciocnio crtico e a emancipao intelectual. Para atingir estes objetivos a ATPS prope um desafio e indica os passos a serem percorridos ao longo do semestre para a sua soluo. A sua participao nesta proposta essencial para que adquira as competncias e habilidades requeridas na sua atuao profissional. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional.

Cincia da Computao

AUTORIA: Fernando Salles Claro


Faculdade Anhanguera de Taubat

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 2 de 11

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir. Iniciar, projetar, desenvolver, validar e gerenciar qualquer projeto de software. Avaliar prazos e custos. Utilizar princpios e ferramentas que otimizem o processo de desenvolvimento e implementao de um projeto. Identificar, analisar, documentar e solucionar problemas e necessidades passveis de soluo via computao.

Produo Acadmica
Relatrios parciais, com os resultados das pesquisas e atividades realizadas em cada etapa do processo de desenvolvimento do projeto. Proposta de elaborao de desenvolvimento duma soluo computacional. Estudo de caractersticas, vantagens e desvantagens das diversas metodologias de desenvolvimento de software. Documentos de requisitos funcionais e no-funcionais. Documentos de nveis de acesso aos mdulos do sistema. Elaborao de documentos do desenvolvimento das interfaces grficas do projeto. Casos de testes para testes de integridade do projeto. Diagramas de casos de uso, de classes, de sequncia e de atividades do projeto.

Participao
Esta atividade ser, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo grupo. Para tanto, os alunos devero: Organizar-se em equipes de participantes conforme orientao do professor. Entregar seus nomes, RAs e e-mails ao professor da disciplina. Observar, no decorrer das etapas, as indicaes: Aluno e Equipe.

Padronizao
O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNT1, com o seguinte padro: Em papel branco, formato A4. Com margens esquerda e superior de 3cm, direita e inferior de 2cm. Fonte Times New Roman tamanho 12, cor preta. Espaamento de 1,5 entre linhas. Se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaamento simples entre linhas. Com capa, contendo: Nome de sua Unidade de Ensino, Curso e Disciplina. Nome e RA de cada participante. Ttulo da atividade. Nome do professor da disciplina. Cidade e data da entrega, apresentao ou publicao.
1

Consulte o Manual para Elaborao de Trabalhos Acadmicos. Unianhanguera. Disponvel em: <http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.html>.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 3 de 11

DESAFIO
Desenvolver softwares com qualidade, eficincia, que atenda aos anseios dos usurios, sem se esquecer dos custos e prazos acordados so um dos maiores desafios dentro da rea da computao. Engenharia de Software um ramo da cincia da computao que determina a metodologia de desenvolvimento e de manuteno de sistemas. Quando se pensa em desenvolver uma soluo computacional o profissional deve aplicar diversos conhecimentos que vo desde quais metodologias de desenvolvimento sero escolhidas para o projeto, passando pela elaborao dos requisitos, anlise, codificao, testes, implementao e manuteno do produto desenvolvido. Quando se pensa em escolher uma metodologia que seja a mais indicada para um determinado projeto, devem-se aplicar os conhecimentos adquiridos em relao s diversas tcnicas de desenvolvimento. Alm de se escolher a melhor metodologia, a equipe deve levar em considerao as melhores prticas para se realizar a etapa da codificao e teste do produto. Neste campo, tambm existem algumas opes como a anlise estruturada e a orientada a objetos. O plano de testes outro ponto muito importante que no pode ser deixado de lado. Em muitos cenrios pode-se observar que a equipe de desenvolvimento acaba relegando em segundo plano os testes do produto. E, por causa desta viso, o produto final pode apresentar srios problemas a ponto de ser rejeitado pelo usurio por no atender s suas expectativas. O nosso desafio consiste em desenvolvermos um projeto envolvendo as etapas referentes engenharia de software e anlise de sistemas. Para tanto, deve-se montar uma equipe de 3 a 5 alunos para que a troca de conhecimentos e experincias propicie, ao final desta atividade, uma proposta de desenvolvimento de software coerente e concisa como soluo ao problema proposto. Considere que a equipe foi contratada por uma clinica veterinria, cujo nome fantasia CLIVET, que deseja instalar uma soluo computacional para melhorar os controles das informaes referentes aos clientes, servios, produtos e financeiro da empresa. Com vista a atingir o objetivo proposto a equipe dever desenvolver, durante o semestre, as atividades estipuladas em cada etapa descrita a seguir.

Objetivo do Desafio
Elaborar um projeto de Engenharia de Software que permite o desenvolvimento de um software a ser utilizado em uma clnica veterinria para a administrao das rotinas dirias de uma empresa.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 4 de 11

ETAPA 1(tempo para realizao: 4 horas)


Aula tema: Conceitos da Engenharia de Software. Processos de Desenvolvimento de Softwares Clssicos e geis. Esta atividade importante para que voc possa desenvolver as suas competncias e habilidades na identificao, anlise, e documentao das necessidades dos usurios tendo em vista a elaborao de uma proposta de desenvolvimento de um sistema computacional. Esta etapa, a ser realizada pela equipe, visa discutir a situao problema do desafio cuja meta estudar as caractersticas dos processos de desenvolvimento de softwares clssicos e geis. Com essa base ser possvel escolher qual ser utilizado durante o desenvolvimento do projeto. Para realiz-la importante seguir os passos descritos.

PASSOS
Passo 1 (Aluno) Fazer uma reunio inicial com os integrantes para determinar as necessidades da CLIVET. O professor da disciplina dever participar desta etapa assumindo o papel do dono da empresa. A equipe dever fazer uma srie de perguntas ao proprietrio da CLIVET para identificar as necessidades e conhecer melhor o negcio do cliente. Conhecido o escopo inicial, devero identificar quais metodologias de processos que poderiam ser utilizadas, levando-se em considerao suas caractersticas, vantagens e desvantagens. Passo 2 (Equipe) Elaborar e apresentar ao cliente trs opes de metodologias de processo, mostrando suas caractersticas, vantagens e desvantagens na aplicao para o sistema solicitado. Para isso, devero construir uma tabela com as opes de metodologias e pelo menos 5 caractersticas principais, e desejveis nesse tipo de ferramenta. Por fim, a equipe dever fazer uma anlise apresentando claramente ao cliente as vantagens e desvantagens (no mnimo 5 de cada uma) de empregar cada ferramenta, indicando qual a mais vivel. Passo 3 (Equipe) Entregar ao cliente (professor) um relatrio contendo uma tabela com as caractersticas das metodologias, suas vantagens e desvantagens, e a justificativa pela metodologia escolhida. A tabela 1 apresentada a seguir, deve ser utilizada para produzir a comparao das metodologias escolhidas.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 5 de 11

Tabela 1 Tabela para comparao de metodologias.

Metodologia X Caracterstica 1 Caracterstica 2 Caracterstica 3 Caracterstica 4 Caracterstica 5

Metodologia Y

Metodologia Z

Para preencher a tabela deve ser utilizada a seguinte simbologia: P para possui. NP para no possui. PP possui parcialmente. NA para no se aplica. A tabela 2 apresentada a ser utilizada diz respeito s vantagens e desvantagens das metodologias. Segue o layout que deve ser utilizado.
Tabela 2 Vantagens e desvantagens das metodologias.

Vantagens Metodologia X Metodologia Y Metodologia Z

Desvantagens

A tabela 2 dever conter a descrio de cada metodologia, sendo apresentadas as vantagens e as desvantagens diante da proposta de utiliz-las para desenvolver a soluo para o cliente.

ETAPA 2 (tempo para realizao: 4 horas)


Aula tema: Requisitos de Software. Processos de Engenharia de Requisitos. Esta atividade importante para que voc tenha condies de iniciar, analisar, projetar, documentar utilizando ferramentas que otimizem o processo de desenvolvimento de um projeto. Esta atividade auxiliar os alunos a compreenderem as etapas de elaborao de um documento de requisito bem como o do processo de engenharia de requisitos. Definido o escopo do projeto e tambm o ciclo de desenvolvimento de software que ser utilizado pela equipe, deve-se elaborar o documento de requisitos adequado para solucionar os problemas da CLIVET. Para realiz-la importante seguir os passos descritos.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 6 de 11

PASSOS
Passo 1 (Equipe) Identificar e documentar para cada mdulo do projeto proposto todos os requisitos funcionais necessrios e que sero utilizados nas etapas de anlise de sistemas. Nos mdulo do projeto, os requisitos funcionais devem ter uma descrio detalhada de cada atividade a ser implementada futuramente pela equipe de desenvolvedores. Alm disso, a relao entre as informaes e os dados utilizados em cada mdulo deve ser apresentada. Um exemplo de descrio a ser utilizada apresentada a seguir. 1. O sistema deve permitir incluir, alterar, excluir os dados cdigo, nome, endereo completo, telefone, sexo, e-mail, data de nascimento e profisso por meio de uma tela de cadastramento. 2. O sistema deve permitir a alterao dos dados do cliente com exceo do cdigo do cliente que gerado automaticamente pelo sistema. 3. O sistema deve permitir a impresso de um relatrio de clientes com os dados do cdigo, nome, telefone e e-mail, ordenando os registros por meio do cdigo do cliente. Passo 2 (Equipe) Concluir a elaborao dos requisitos funcionais e desenvolver os requisitos no funcionais do projeto, levando-se em considerao os seguintes itens: 1. Manutenibilidade Esta caracterstica determina o grau de facilidade de manuteno que o sistema deve ter. 2. Eficincia Levem em considerao qual o tempo, em segundos, o sistema deve processar uma determinada informao de forma que os resultados sejam obtidos o mais rpido possvel. 3. Segurana Quais so os critrios que devem ser levados em considerao para que no acontea acesso indevido aos dados por usurios no autorizados. 4. Confiabilidade Qual devem ser as caractersticas desejveis que o sistema deve ter quando ocorrer falhas de funcionamentos 5. Portabilidade Descrever quais caractersticas o sistema ter de forma que o mesmo possa ser utilizado em vrias plataformas. Seguem alguns exemplos de textos descritivos das caractersticas solicitadas para que a equipe possa fazer as descries dos requisitos no funcionais que podem ser vistos a seguir. Confiabilidade - O sistema deve ter capacidade para recuperar os dados perdidos da ltima operao que realizou em caso de falha. Eficincia - O sistema deve iniciar a impresso de relatrios solicitados dentro de no mximo 20 segundos aps sua requisio. Portabilidade - O sistema deve ser executado em computadores Pentium 200mHz ou superior, com sistema operacional mnimo Windows 98. Passo 3 (Equipe) Elaborar uma tabela de definio das prioridades dos requisitos funcionais identificados no passo 1 desta etapa, utilizando os seguintes graus de prioridades (tabela 3)

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 7 de 11

Tabela 3 Graus de prioridades.

Prioridade Alto Mdio Baixo

Grau 1 2 3

Segue o exemplo da tabela que se deve desenvolver. Ao definir o grau de prioridade, se deve levar em considerao a importncia que um determinado requisito funcional tm dentro do sistema. Por isso, os requisitos de maiores importncias devem ter um grau de prioridade maior do que os requisitos de menor importncia. Para cada requisito funcional, deve-se apresentar para o cliente pelo menos 2 aspectos que mostre sua prioridade sobre as demais.
Tabela 4 Prioridades de requisitos funcionais.

Requisito funcional Descrio do requisito funcional 1 Descrio do requisito funcional 2 Descrio do requisito funcional 3 Descrio do requisito funcional 4 Descrio do requisito funcional 5

Prioridade 1 3 1 2 3

ETAPA 3 (tempo para realizao: 4 horas)


Aula tema: Requisitos de Software. Processos de Engenharia de Requisitos. Esta atividade importante para que voc d continuidade aos processos de analisar, projetar e documentar o desenvolvimento de um projeto. Para realiz-la importante seguir os passos descritos. Passo 1 (Equipe) Utilizar a entrevista realizada com o cliente e descrever os usurios (personagens) que iro interagir com o sistema, bem como os nveis de acesso e o que estes podero fazer (aes). A equipe deve identificar ao menos 4 personagens. Segue o padro da tabela 5 de nveis de acesso que se dever elaborar.
Tabela 5 Nveis de acesso

Usurio Financeiro Secretria Secretria

Requisito funcional

Aes

Descrio do requisito funcional 1 Pode incluir, alterar, excluir e consultar Descrio do requisito funcional 2 Pode incluir, alterar, excluir e consultar Descrio do requisito funcional 3 Pode consultar

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 8 de 11

Passo 2 (Equipe) Gerar um glossrio com pelo menos 15 termos que poderiam gerar dvidas de interpretao por parte do cliente ou da equipe. Para cada termo, deve-se elaborar uma descrio do seu significado e tambm, quando for o caso, quais os sinnimos relacionados ao mesmo. A seguir apresentado o padro da tabela 6 que deve ser utilizada para a elaborao do glossrio.
Tabela 6 Glossrio.

Termo Backup Categoria de animal

Descrio Cpia de segurana ou cpia de salvaguarda

Sinnimos

Categorias nas quais os animais so divididos, Categoria do animal como por exemplo co, gato, ave etc.

Passo 3 (Equipe) Elaborar um relatrio a ser entregue ao cliente contendo todos os levantamentos e definies estudados nesta etapa. Este relatrio deve ter a seguinte estrutura: Capa - Contendo o logotipo da instituio, o nome da matria, ttulo do trabalho, os nomes completos e RA dos integrantes e data do projeto. Sumrio - Contendo os ttulos e n das pginas em que se encontram os mesmos. Introduo - Contendo um texto explicando claramente os objetivos do documento Entrevista - Contendo o texto com as perguntas e respostas que foram realizadas entre a equipe e o cliente. Documento de Requisitos - Contendo as informaes elaboradas dos passos 1 a 5 (requisitos funcionais, requisitos no funcionais, tabela de prioridades, tabela de nveis de acessos e glossrio). Para elaborar este documento, a equipe deve utilizar as seguintes formataes: Folha: A4. Margens: esquerda=3 cm, direita=2,5 cm, superior=2 cm, inferior=2 cm. Letras: Ttulos: Times New Roman, tamanho 14, negrito, alinhamento pela esquerda Texto: Times New Roman, tamanho 12, normal, alinhamento justificado, primeira linha com espaamento 1,27 cm. N mnimo de pginas: 5.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 9 de 11

ETAPA 4 (tempo para realizao: 4 horas)


Aula tema: Prototipao de software. Teste de Software Conceitos e critrios funcionais e estruturais. Esta atividade importante para que voc adquira a experincia necessria para desenvolver prottipos de softwares, bem como elaborar planos de testes visando garantir a qualidade dos softwares desenvolvidos. Para realiz-la importante seguir os passos descritos.

PASSOS
Passo 1 (Equipe) Elaborar para cada requisito funcional desenvolvido na etapa anterior as interfaces grficas do projeto utilizando, para isto, o software Netbeans utilizado em aulas de programao orientada a objetos. Passo 2 (Equipe) Desenvolver para cada interface grfica, um plano de testes funcionais que serviro de base para a equipe de desenvolvimento. A seguir h um exemplo da estrutura do formulrio do caso de teste que se deve utilizar.
Tabela 7 Formulrio do caso de teste.

CASO DE TESTE CT 10 - Buscar para alterao - boto visualizar o calendrio da agenda Caso de Teste de consultas Ter clicado no boto buscar para alterao na tela de agendamento de Pr-condies consultas. 1. O ator clica no visualizar o calendrio da agenda de consultas representado pelo segundo cone da esquerda para a direita na parte Procedimentos esquerda da descrio do nome do animal. 2. O sistema exibe um calendrio destacando os dias disponveis para agendamento. Resultado Esperado Carregar o calendrio de dias disponveis Dados de entrada Critrios especiais No se aplica Ambiente Implementao Manual Iterao 1 iterao Passo 3 (Equipe) Elaborar um relatrio que ser apresentado ao cliente, mostrando as interfaces grficas modeladas e os respectivos casos de testes elaborados.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 10 de 11

Para cada interface grfica criada, deve-se acompanhar os casos de testes correspondentes com as respectivas explicaes e justificativas.

ETAPA 5 (tempo para realizao: 4 horas)


Aula tema: Modelagem de objetos. Diagramas de Casos de Uso. Modelagem de objetos e classes. Diagramas de Classes. Modelagem de operaes. Diagramas de Sequncia e Diagrama de Atividades. Esta atividade importante para que voc tenha condies de elaborar os principais diagramas UML utilizados como parte do desenvolvimento de um projeto computacional. Para realiz-la importante seguir os passos descritos.

PASSOS
Passo 1 (Equipe) Elaborar, utilizando uma ferramenta UML, os diagramas de Casos de Uso necessrios para refletir o cenrio do projeto. Acompanhando os diagramas de Casos de Uso, devem-se desenvolver as fichas de documentao dos mesmos. A seguir, temos o padro de ficha do caso de uso que deve ser utilizado.
Tabela 8 Ficha para caso de uso.

Id do Caso de Uso:
Requisitos(s): Nome do Caso de Uso: Criado por: Data da Criao: Atores: Descrio: Pr-condies: Ps-condies: Prioridade: Freqncia de uso: Complexidade: Risco: Alta Alta Alta Alto RF023 Manter cadastro do animal Jos da Silva 01/12/2009

UC035

Atualizado por: Data da Atualizao:

Mrcio Antnio 12/12/09

Atendente, Veterinrio Este caso de uso responsvel por exibir e gravar os dados dos animais que foram atendidos na clinica veterinria. O dono do animal deve ter preenchido uma ficha com os dados necessrios para o cadastramento.

Fernando Salles Claro

Cincia da Computao 3 Srie Engenharia de Software e Anlise de Projeto de Sistemas

Pg. 11 de 11

Fluxo de Eventos:

Fluxo Normal: 1. O usurio seleciona a opo Cadastrar um novo animal no menu do sistema. 2. O sistema exibe a tela de cadastramento de animais. 3. O usurio preenche todos os campos e depois clica no boto salvar dados desta animal. 4. O sistema verifica se todos os dados importantes foram inseridos corretamente. 5. Se os todos os dados estiverem corretos: 1. O sistema grava-os no banco de dados. 2. O sistema pergunta ao usurio se deseja cadastrar um novo animal. 3. Se o usurio responder SIM o sistema volta para o passo 3. 6. O caso de uso termina. Fluxo Alternativo - (Dados incorretos) 5. Se os dados no estiverem corretos, o sistema emite uma mensagem informando quais campos devem ser corrigidos e posiciona o cursor no primeiro campo incorreto. Depois volta para o passo 4 do fluxo normal. O sistema no pode demorar mais de 3 segundos para gravar os dados no banco de dados. DA-010 - Cadastramento de Animais CAD_ANIMAL.class

Requisitos no funcional: Diagrama de Atividades: Interface grfica GUI:

Passo 2 (Equipe) Fazer as seguintes atividades: 1. Desenvolver o documento do Diagrama de Classes. O Diagrama de Classe utilizado para definir a estrutura das classes utilizadas pelo sistema, determinando os atributos e os mtodos possudos por cada classe, alm de estabelecerem como as classes se relacionam e trocam informaes entre si. 2. Construir o Diagrama de Sequncia, que descreve a ordem temporal em que as mensagens so trocadas entre os objetos envolvidos em um determinado processo. Como base para a elaborao destes diagramas, se deve utilizar o Diagrama de Classes desenvolvido no passo anterior j devidamente validado. 3. Construir o Diagrama de Atividades do projeto, o qual apresentar a descrio dos passos a serem percorridos para a concluso de uma atividade especfica por exemplo, a descrio dos passos existentes dentro dos mtodos das classes do projeto. Passo 3 (Equipe) Elaborar para apresentar ao cliente um relatrio contendo os diagramas desenvolvidos, explicando as funcionalidades dos diagramas dentro do contexto do projeto

Livro Texto da Disciplina


SOMMERVILLE, Ian. Engenharia de Software. 8 ed. So Paulo: Addison Wesley, 2008.
Fernando Salles Claro