Vous êtes sur la page 1sur 10

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

Projeto Prtico
Engenharia de Software e Anlise de Projeto de Sistemas
Objetivos: Favorecer a aprendizagem. Estimular a co-responsabilidade 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 diferenciados 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 relativos profisso. Direcionar o estudante para a emancipao intelectual.

Para atingir estes objetivos as atividades foram organizadas na forma de um desafio, que ser solucionado por etapas ao longo do semestre letivo. Participar ativamente deste desafio essencial para o desenvolvimento das competncias e habilidades requeridas na sua atuao no mercado de trabalho. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional.

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio voc ter desenvolvido as competncias e habilidades descritas a seguir. Capacidade de, com base nos conceitos adquiridos, iniciar, projetar, desenvolver, validar e gerenciar qualquer projeto de software. Capacidade para avaliar prazos e custos. Competncia e compromisso com a utilizao de princpios e ferramentas que otimizem o processo de desenvolvimento e implementao de um projeto. Competncia para identificar, analisar, documentar e solucionar problemas e necessidades passveis de soluo via computao.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

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 a 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.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

ETAPA 1 - 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.

PASSO 1
Fazer uma reunio inicial com os integrantes para determinar as necessidades da CLIVET. 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
A equipe dever 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
A equipe dever 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 apresentada a seguir, deve ser utilizada para produzir a comparao das metodologias escolhidas.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

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 outra tabela a ser utilizada diz respeito s vantagens e desvantagens das metodologias. Segue o layout que deve ser utilizado. Vantagens Metodologia X Metodologia Y Metodologia Z A tabela anterior 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. Desvantagens

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

ETAPA 2 - Aula tema: Requisitos de Software e 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.

PASSO 1
A equipe deve 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 atravs 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 atravs do cdigo do cliente.

PASSO 2
Aps concluir a elaborao dos requisitos funcionais, a equipe deve 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 Leve 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.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

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
O passo seguinte a ser desenvolvido pela equipe, ser a elaborao de uma tabela de definio das prioridades dos requisitos funcionais identificados no PASSO 1 desta etapa, utilizando os seguintes graus de prioridades. Prioridade Grau Alto 1 Mdio 2 Baixo 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. Requisito funcional Prioridade descrio do requisito funcional 1 1 descrio do requisito funcional 2 3 descrio do requisito funcional 3 1 descrio do requisito funcional 4 2 descrio do requisito funcional 5 3

PASSO 4
Neste passo, utilizando a entrevista realizada com o cliente, a equipe deve 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 de nveis de acesso que se dever elaborar.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

Usurio Financeiro Secretria Secretria

Requisito funcional descrio do requisito funcional 1 descrio do requisito funcional 2 descrio do requisito funcional 3

Aes Pode incluir, alterar, excluir e consultar Pode incluir, alterar, excluir e consultar Pode consultar

PASSO 5
Na ltima parte da elaborao do documento de requisito necessrio 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 que deve ser utilizada para a elaborao do glossrio. Termo Descrio Sinnimos Backup Cpia de segurana ou cpia de salvaguarda Categoria de animal Categorias nas quais os animais so divididos, como por exemplo co, gato, ave, etc Categoria do animal

PASSO 6
Por fim, deve ser elaborado 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 onde 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: o Ttulos: Times New Roman, tamanho 14, negrito, alinhamento pela esquerda o Texto: Times New Roman, tamanho 12, normal, alinhamento justificado, primeira linha com espaamento 1,27 cm. N mnimo de pginas: 5

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

ETAPA 3 - Aula tema: Prototipao e Teste de Software.


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.

PASSO 1
Neste passo, a equipe dever 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
Para cada interface grfica, um plano de testes funcionais deve ser desenvolvido pois servir de base para a equipe de desenvolvimento. A seguir h um exemplo da estrutura do formulrio do caso de teste que se deve utilizar. CASO DE TESTE Caso de Teste Pr-condies Procedimentos

Resultado Esperado Dados de entrada Critrios especiais Ambiente Implementao Iterao

CT 10 - Buscar para alterao - boto visualizar o calendrio da agenda de consultas Ter clicado no boto buscar para alterao na tela de agendamento de consultas. 1. O ator clica no visualizar o calendrio da agenda de consultas representado pelo segundo cone da esquerda para a direita na parte esquerda da descrio do nome do animal. 2. O sistema exibe um calendrio destacando os dias disponveis para agendamento. Carregar o calendrio de dias disponveis No se aplica Manual 1 iterao

PASSO 3
Como ltimo passo desta etapa, a equipe dever elaborar um relatrio que ser apresentado ao cliente, mostrando as interfaces grficas modeladas e os respectivos casos de testes elaborados. Para cada interface grfica criada, deve-se acompanhar os casos de testes correspondentes com as respectivas explicaes e justificativas.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

ETAPA 4 - Aula tema: Modelagem UML. Diagramas de Casos de Uso.


Diagramas de Classes. 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.

PASSO 1
A equipe deve 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.

Ver Anexo 1 PASSO 2


O prximo documento que deve ser desenvolvido o 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 estabelecer como as classes se relacionam e trocam informaes entre si.

PASSO 3
Construir o diagrama de seqncia, 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.

PASSO 4
Dever ser construdo 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 5
Neste ltimo passo, a equipe deve elaborar para apresentar ao cliente um relatrio contendo os diagramas desenvolvidos, explicando as funcionalidades dos diagramas dentro do contexto do projeto.

Engenharia de Software

Prof. Esp. Luis Claudinei de Moraes

Anexo 1
Id do Caso de Uso Requisitos(s) Nome do Caso de Uso: Criado por Data da Criao Atores Descrio UC035 RF023 Manter cadastro do animal Jos da Silva Atualizado por: Mrcio Antnio 01/12/2009 Data da Atualizao: 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. Alta Alta Alta Alto 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. 1. 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

Pr-condies Ps-condies: Prioridade Frequncia de uso Complexidade Risco Fluxo de Eventos

Requisitos no funcional: Diagrama de atividades Interface grfica GUI

10

Vous aimerez peut-être aussi