You are on page 1of 36

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

1. OBJETIVOS
Visualizar, na prtica, os principais conceitos estudados nas unidades anteriores, por meio do desenvolvimento de um estudo de caso sobre um sistema de controle de alunos para uma universidade. Conhecer a ferramenta de modelagem UML Astah Community.

2. CONTEDOS
Apresentao do desenvolvimento de um sistema para controle de alunos de uma universidade. Descrio do sistema. Apresentao dos requisitos. Apresentao das regras de negcio. Definio e descrio dos principais Casos de Uso. Elaborao do glossrio. Identificao das classes de anlise. Construo do diagrama de classes de anlise. Construo dos principais diagramas de sequncia. Construo do Diagrama de Classes de projeto. Construo do Diagrama de Atividades.

EAD

196

Anlise e Projeto de Sistemas

3. ORIENTAES PARA O ESTUDO DA UNIDADE


Por se tratar da ltima unidade de estudo, recomendvel, nesta etapa, que voc esteja bem familiarizado com os assuntos estudados at o momento, pois faremos um estudo de caso que permitir uma breve reviso do contedo e o acompanhamento das etapas mais importantes do levantamento de requisitos e da modelagem de software. Veja a seguir, os tpicos que devem ser objeto de estudo para esta unidade. 1) Entender bem o que e quais so os propsitos da Linguagem de Modelagem Unificada (UML Unified Modeling Language). 2) Durante o decorrer do estudo desta unidade importante que voc compreenda o que so os requisitos para um sistema e com que finalidade eles so classificados em funcionais e no funcionais, importante tambm, que saiba como diferenci-los. 3) Compreender o que so as regras de negcio e a sua importncia para o desenvolvimento do software tambm ser uma tarefa que voc ter nesta unidade. 4) Lembre-se de que para ter um bom aproveitamento dos seus estudos fundamental que conhea e coloque em prtica as tcnicas de levantamento de requisitos. importante que voc compreenda essa etapa do desenvolvimento, e saiba avaliar as consequncias para um sistema de software quando essa tarefa no devidamente realizada. 5) importante entender o que so os artefatos de software e quais so os artefatos produzidos nas diferentes etapas do desenvolvimento de um software. 6) Entender o que so os casos de uso e saber a finalidade que eles so criados imprescindvel para o seu aprendizado, por isso fique atento a estes conceitos. 7) Durante o estudo desta unidade, fundamental que compreenda que existem ferramentas que so abertas e podem ser copiadas para o seu computador. Sugerimos o Astah Community. No entanto, nada o impede de utilizar outra que j possua ou conhea. O importante saber que essas ferramentas nos auxiliam na elaborao dos desenhos, podem gerar algum tipo de cdigo, imprimem maior qualidade ao projeto etc.

4. INTRODUO UNIDADE
Para que voc possa rever os conceitos estudados na unidade anterior, de forma prtica, esta unidade tem por objetivo apresentar um sistema para controle de alunos de uma universidade. Acreditamos, com isso, que voc ter seus conhecimentos consolidados. Com certeza, sabemos que para desempenhar bem as tarefas de desenvolvedor de software voc precisa agregar muitas coisas. O conhecimento fundamental, mas ele precisa ser colocado em prtica. Voc viu, nos estudos das unidades iniciais, quais so as caractersticas desejveis ao perfil do desenvolvedor de software. E, viu tambm, que a participao do usurio perante o desenvolvedor de grande importncia, pois enquanto o desenvolvedor tem conhecimento da rea tcnica, o usurio tem o conhecimento sobre o domnio de negcio. Portanto, alm dos conhecimentos tcnicos, para que um sistema alcance o sucesso desejado, de extrema importncia a presena do especialista do domnio de negcio, e ningum melhor que o cliente/usurio para isso. Nesta unidade faremos uma reviso breve de cada conceito antes de coloc-lo em prtica para que voc possa compreender bem cada etapa. E, fica a nossa sugesto: procure revisar cada tpico, tentando elaborar uma soluo melhor que a apresentada.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

197

interessante colocar em prtica seus conhecimentos procurando sempre conhecer novas tcnicas. No esquea que um mesmo problema pode apresentar solues diferentes, e as mais simples podem ser, muitas vezes, as melhores. O desenvolvimento de software requer tambm criatividade do desenvolvedor. Vamos, ento, comear nossa ltima etapa. Bons estudos a todos!

5. DESCRIO DO SISTEMA
Trata-se de um sistema para controle de alunos de uma universidade. Um sistema acadmico para uma universidade bastante extenso. Nosso foco ser apenas nos processos relacionados mais diretamente aos alunos, ou seja, cadastro de alunos, matrcula, publicao das notas. Para isso, consideremos uma universidade que oferece diversos cursos. Um aluno pode cursar mais que um curso, tanto ao mesmo tempo quanto em pocas diferentes. Ao ingressar na universidade, um cadastro do aluno feito, com suas informaes pessoais. O aluno admitido e, no momento da matrcula, realizado seu cadastro. Isso acontece apenas na primeira matrcula do aluno. Os cursos so semestrais. Assim, o aluno faz nova matrcula a cada semestre, ou quando ingressa em um novo curso. Existe um cadastro com todas as disciplinas, e tambm um com as disciplinas oferecidas por semestre, para cada curso. Para cada semestre, o aluno faz uma matrcula nas disciplinas que ele deseja cursar, e turmas so oferecidas para cada disciplina. Um professor pode ministrar aulas em diversas disciplinas, e em cursos diferentes. Para cada turma, designada uma sala de aula ou laboratrio, que podem ser utilizados por diversas turmas. Disciplinas podem ter ou ser pr-requisito para/de outra disciplina. Um aluno somente se matricula em determinada disciplina caso no haja qualquer tipo de impedimento para isso.

6. REQUISITOS DO SISTEMA
O levantamento de requisitos uma fase em que se busca, com usurios, informaes sobre as funes e restries impostas ao sistema que ser desenvolvido. As formas de obteno dessas informaes, conforme j estudado, so as entrevistas com os usurios, a observao de sua rotina de trabalho, a anlise de documentos e os sistemas utilizados nas atividades atuais do usurio. Lembramos que os requisitos podem sofrer alteraes durante todo o tempo de desenvolvimento do sistema, podendo aumentar ou diminuir o nmero de requisitos do sistema. No nosso exemplo, como se trata de um sistema fictcio (no temos realmente um cliente que possa solicitar alteraes nos requisitos), os requisitos levantados no sofrero alteraes no decorrer do desenvolvimento do projeto do sistema. Os requisitos so classificados em requisitos funcionais e requisitos no funcionais. Os requisitos funcionais correspondem a todas as funcionalidades do sistema, ou seja, a tudo o que o sistema deve fazer. E, os requisitos no funcionais correspondem s restries sobre como o sistema deve realizar os requisitos funcionais. Portanto, com base na descrio do sistema, em relao s funcionalidades que o sistema de controle de alunos de uma universidade deve ter, podemos listar os seguintes requisitos funcionais:

198

Anlise e Projeto de Sistemas

Requisitos funcionais Sistema de Controle de Alunos de uma Universidade a) RF1. O Sistema deve manter informaes cadastrais sobre as disciplinas oferecidas nos diversos cursos. b) RF2.O Sistema deve manter informaes cadastrais sobre os Professores/Coordenadores. c) RF3. O Sistema deve manter informaes cadastrais sobre as turmas abertas para cada disciplina. d) RF4.O Sistema deve manter informaes cadastrais sobre as salas e os laboratrios disponveis para cada turma. e) RF5. O Sistema deve manter informaes cadastrais sobre os Alunos. f) RF6. O Sistema deve permitir que Alunos faam matrcula em disciplina. g) RF7. O Sistema deve permitir que Professores lancem as notas e faltas dos Alunos. h) RF8. O Sistema deve permitir que Alunos visualizem as notas obtidas durante o semestre, assim como o nmero de faltas. i) RF9. O Sistema deve manter as informaes sobre os histricos escolares dos Alunos. j) RF10.O Sistema deve permitir que o Aluno tranque ou cancele sua matrcula a qualquer momento, desde que ele no tenha pendncias que o impeam de tal ato. k) RF11. O Sistema deve manter informaes sobre a grade curricular de cada curso. l) RF12. O Sistema deve permitir que os Coordenadores visualizem o andamento das matrculas. m) RF13.O Sistema deve permitir que o Professor mantenha as informaes sobre o plano de ensino e o plano de aulas. n) RF14.O Sistema deve calcular a mdia final do Aluno. o) RF15. O Sistema deve calcular o percentual de faltas do Aluno. p) RF16. O Sistema deve permitir que o aluno fique em uma lista de espera quando a disciplina por ele solicitada para matrcula no tiver mais vagas, ou no tiver nmero suficiente de interessados para ser aberta. Como forma de apresentao do documento de requisitos, utilizaremos um formulrio (j apresentado para voc quando estudamos os requisitos do Sistema). Ressaltamos que os requisitos funcionais podem ser classificados em evidentes ou ocultos. Assim, a primeira verso do documento de requisitos funcionais fica:
SISTEMA DE CONTROLE DE ALUNOS DE UMA UNIVERSIDADE Requisitos Funcionais Nome: Cadastrar Cursos. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes cadastrais sobre as disciplinas oferecidas nos diversos cursos. Nome: Cadastrar Professores/Coordenadores. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes cadastrais sobre os Professores. Nome: Cadastrar Turmas. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes cadastrais sobre as turmas abertas para cada disciplina. Nome: Cadastrar Salas/Laboratrios. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes cadastrais sobre as salas e os laboratrios disponveis para cada turma. Nome: Cadastrar Alunos. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes cadastrais sobre os Alunos.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

199

Nome: Matricular Aluno. Descrio: O Sistema deve permitir que Alunos faam matrcula em disciplina.

Evidente/Oculto: (E)

Nome: Lanar Notas e Faltas de Alunos. Evidente/Oculto: (E) Descrio: O Sistema deve permitir que Professores lancem as notas e faltas dos Alunos. Nome: Visualizar Notas e Faltas. Evidente/Oculto: (E) Descrio: O Sistema deve permitir que Alunos visualizem as notas obtidas durante o semestre, assim como o nmero de faltas. Nome: Manter Controle sobre Histricos Escolares. Evidente/Oculto: (E) Descrio: O Sistema deve manter as informaes sobre os histricos escolares dos Alunos. Nome: Trancar ou Cancelar Matrcula. Evidente/Oculto: (E) Descrio: O Sistema deve permitir que o aluno tranque ou cancele sua matrcula a qualquer momento, desde que ele no tenha pendncias que o impeam de tal ato. Nome: Cadastrar Grade Curricular. Evidente/Oculto: (E) Descrio: O Sistema deve manter informaes sobre a grade curricular de cada curso Nome: Visualizar Andamento das Matrculas. Evidente/Oculto: (E) Descrio: O Sistema deve permitir que os Coordenadores visualizem o andamento das matrculas. Nome: Elaborar Plano de Ensino e Planos de Aula. Evidente/Oculto: (E) Descrio: O Sistema deve permitir que o Professor mantenha as informaes sobre o plano de ensino e planos de aula. Nome: Clculo da Mdia Final. Descrio: O Sistema deve calcular a mdia final do Aluno. Nome: Clculo do Percentual de Faltas. Descrio: O Sistema deve calcular o percentual de faltas do Aluno. Evidente/Oculto: (O)

Evidente/Oculto: (O)

Nome: Atender Lista de Espera. Evidente/Oculto: ( E) Descrio: O Sistema deve permitir que o aluno fique em uma lista de espera quando a disciplina por ele solicitada para matrcula no tiver mais vagas, ou no tiver nmero suficiente de interessados para ser aberta.

Os requisitos no funcionais podem ser classificados em vrias categorias, como j foi visto anteriormente. Dentre estas categorias temos: usabilidade, confiabilidade, performance, configurabilidade, segurana, implementao, interface, entre outras. Alm disso, os requisitos no funcionais podem ser classificados em obrigatrios ou desejveis, e tambm em permanentes ou transitrios. Os seguintes requisitos no funcionais podem ser listados, inicialmente, para o sistema de controle de alunos de uma universidade:
SISTEMA DE CONTROLE DE ALUNOS DE UMA UNIVERSIDADE Requisitos No Funcionais Obrigatrio/Desejvel (O) Permanente/Transitrio (P)

Nome: Controle de Acesso.

200

Anlise e Projeto de Sistemas

SISTEMA DE CONTROLE DE ALUNOS DE UMA UNIVERSIDADE Requisitos No Funcionais Restries: 1. As operaes de cadastro de cursos, salas e laboratrios, disciplinas, turmas e alunos somente sero realizadas por usurios com permisso concedida aos funcionrios administrativos da secretaria escolar. 2. As operaes de cadastro de Professores e Coordenadores somente sero realizadas por usurios com permisso concedida aos funcionrios administrativos do departamento de recursos humanos. 3. As operaes referentes a matricula de alunos, trancamento ou cancelamento de matrculas, manuteno das informaes geradas em histricos Categoria: Segurana escolares apenas sero realizadas por usurios com permisso concedida aos funcionrios administrativos da secretaria escolar. 4. Lanamentos de notas, elaborao de plano de ensino e planos de aulas somente sero efetuados por usurios com permisso de Professor. 5. Visualizao do andamento das matrculas, manuteno de grade curricular, abertura e fechamento de turmas e atendimento de listas de espera so operaes realizadas por usurios com a permisso de coordenador. 6. Aos usurios com perfil de aluno somente sero permitidas as operaes de consultas aos boletins, planos de ensino e de aulas, grade curricular e grade de horrios. Nome: Identificao do aluno. Obrigatrio/Desejvel (D) Permanente/Transitrio (P)

Restrio: O aluno ser identificado por seu nome Categoria: Interface ou pelo nmero do Registro Acadmico (RA). Nome: Identificao do Professor/Coordenador. Obrigatrio/Desejvel (D) Permanente/Transitrio (P)

Restrio: O Professor/Coordenador ser identificado por seu nome ou por seu cdigo Categoria: Interface funcional. Nome: Armazenamento de dados. Obrigatrio/Desejvel (O) Permanente/Transitrio (P)

Restrio: O Sistema deve ser desenvolvido (camada de persistncia) de forma que diferentes Categoria: Persistncia tecnologias de banco de dados possam ser utilizadas.

7. DOCUMENTAO DAS REGRAS DE NEGCIO


Uma das etapas do desenvolvimento de um sistema a determinao das regras de negcio. Trata-se das polticas, condies ou restries a serem consideradas para a execuo do sistema. So especficas da organizao para a qual o sistema est sendo desenvolvido, pois elas descrevem a forma como a organizao funciona. E, na fase de levantamento de requisitos que elas so determinadas. Depois de definidas, elas so documentadas no modelo de regras de negcio. Assim, podemos definir as seguintes regras de negcio para o sistema de controle de alunos de uma universidade:
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

201

a) b) c) d) e) f) g) h) i) j)

Nmero mximo de alunos admitidos por turma. Nmero mximo de crditos a serem cursados por semestre. Habilitao do Professor para ministrar as aulas em um determinado curso. Pr-requisitos para uma disciplina. Cancelamento de matrcula. Trancamento de matrcula. Valor mnimo da mdia para aprovao do aluno. Percentual mnimo de frequncia para aprovao do aluno. Para uma turma ser aberta, ela deve estar cadastrada no sistema. Nmero mnimo de alunos para abertura de uma turma.

As regras de negcio podem ser acomodadas em um formulrio denominado modelo de regras de negcio. O layout deste formulrio fica a critrio do desenvolvedor. Deve ser simples, apenas com as informaes necessrias para a documentao. Veja as regras de negcio do sistema acomodadas no documento:
SISTEMA DE CONTROLE DE ALUNOS DE UMA UNIVERSIDADE Regras de Negcio RN1. Nmero mximo de alunos admitidos por turma. Descrio Cada turma, independentemente do curso, poder ter, no mximo, 50 alunos. RN2. Nmero mximo de crditos a serem cursados por semestre. Descrio Um aluno pode cursar, no mximo, a quantidade de disciplinas referentes a 30 crditos por semestre. RN3. Habilitao do Professor para ministrar as aulas em um determinado curso. Descrio Um Professor dever possuir, no mnimo, a titulao de especialista para ministrar aulas. RN4. Pr-requisitos para uma disciplina. Uma disciplina poder ser pr-requisito para apenas uma disciplina. Descrio RN5. Cancelamento de matrcula. Um aluno pode cancelar sua matrcula, desde que no haja qualquer pendncia referente ao perodo em que Descrio esteve matriculado. RN6. Trancamento de matrcula. Um aluno pode cancelar sua matrcula, desde que no haja qualquer pendncia referente ao perodo em que Descrio esteve matriculado. RN7. Valor mnimo da mdia para aprovao do aluno. O valor mnimo para que um aluno esteja aprovado em uma disciplina 6,0 (alm do percentual mnimo de Descrio frequncia). RN8. Percentual mnimo de frequncia para aprovao do aluno. Um aluno deve ter um percentual mnimo de 75% de frequncia em cada disciplina para ser aprovado (alm Descrio do valor mnimo para a mdia). RN9. Turma deve ser cadastrada antes da abertura. Descrio Para uma turma ser aberta, ela deve estar cadastrada no Sistema. RN10. Nmero mnimo de alunos para abertura de uma turma. Descrio Uma turma deve ter um mnimo de 30 alunos para ser aberta.

202

Anlise e Projeto de Sistemas

8. DOCUMENTAO DO MODELO DE CASOS DE USO


A documentao dos Casos de Uso envolve identificar os atores e os Casos de Uso envolvidos em cada caso. No sistema de controle de alunos de uma universidade identificamos os seguintes atores: a) Secretaria Acadmica: setor da universidade responsvel por manter todas as informaes sobre os alunos e sua vida acadmica na universidade. b) Sistema de Recursos Humanos: Sistema responsvel por manter e fornecer informaes sobre Professores/Coordenadores ao Sistema de controle de alunos de uma universidade. c) Aluno: aquele que ingressa em um curso na universidade. d) Professor: aquele que leciona disciplinas oferecidas nos cursos da universidade. e) Coordenador: aquele que responsvel por manter o controle e cuidar dos assuntos referentes a determinado curso (alunos, professores, grade curricular, planos de ensino e de aulas, andamento das matrculas). Uma vez identificados os atores que vo interagir com o Sistema, necessrio identificar os Casos de Uso e associ-los aos atores que deles participam: a) Cadastrar Turmas (Secretaria Acadmica). b) Abrir Turma (Coordenador). c) Fechar Turma (Coordenador). d) Inserir Informaes sobre Aluno (Secretaria Acadmica). e) Pesquisar Informaes sobre Aluno (Secretaria Acadmica). f) Atualizar Informaes sobre Aluno (Secretaria Acadmica). g) Pesquisar Informaes sobre Professor (Secretaria Acadmica). h) Pesquisar Informaes sobre Coordenador (Secretaria Acadmica). i) Manter Informaes sobre Disciplina (Secretaria Acadmica). j) Manter Informaes sobre a Grade Curricular de Curso (Coordenador). k) Manter Informaes sobre Plano de Ensino (Professor). l) Manter Informaes sobre Plano de Aulas (Professor). m) Manter Informaes sobre Sala/Laboratrio (Secretaria Acadmica). n) Matricular Aluno (Aluno). o) Cancelar Matrcula (Aluno). p) Trancar Matrcula (Aluno). q) Lanar Notas e Faltas (Professor). r) Visualizar Boletim (Aluno). s) Visualizar Andamento das Matrculas (Coordenador). t) Atender Lista de Espera (Coordenador). Depois que os Casos de Uso foram definidos, o prximo passo elaborar uma descrio dos processos identificados. Os Casos de Uso que representam os processos mais complexos merecem mais ateno, pois da descrio bem elaborada deles depende da compreenso do processo por parte dos envolvidos com o Sistema. Portanto, no h necessidade de descrever todos os Casos de Uso. Apresentamos, ento, a descrio de apenas alguns Casos de Uso. Como sugesto, procure descrever todos os Casos de Uso. Lembre-se de que quanto mais praticar, mais fceis essas tarefas vo se tornando.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

203

Quando estudamos os Casos de Uso, voc aprendeu que eles podem ser descritos sob formatos diferentes. Apresentamos, naquela ocasio, o formato tabular. Neste projeto, utilizaremos outro formato, o sequencial. A escolha do formato de apresentao da descrio dos Casos de Uso fica a critrio do desenvolvedor da tarefa. Qualquer uma das formas apresentadas correta. O importante que a descrio seja clara e colabore para a compreenso do processo descrito. Vamos, neste exemplo, descrever os seguintes Casos de Uso: a) Matricular Aluno. b) Lanar Notas e Faltas. c) Atender Lista de Espera. d) Visualizar Boletim. e) Visualizar Andamento das Matrculas. f) Abrir Turma. Descrio dos Principais Casos de Uso do Sistema a) Caso de Uso: Matricular Aluno. b) Sumrio: Aluno solicita matrcula em disciplina. c) Ator Primrio: Aluno. d) Ator Secundrio: Secretaria Acadmica. e) Pr-condies: o Aluno deve estar cadastrado no Sistema; o Aluno no pode estar reprovado em disciplina que seja pr-requisito para a disciplina na qual deseja se matricular. Fluxo Principal 1) O Aluno solicita realizao de matrcula. 2) O Sistema apresenta a lista de disciplinas nas quais o Aluno pode se matricular (o Sistema no disponibiliza para o Aluno as disciplinas que so pr-requisitos para aquelas que ele ainda no tenha cursado ou nas quais esteja reprovado). 3) O Aluno seleciona as disciplinas que deseja cursar. 4) Para cada disciplina escolhida, o Sistema apresenta as turmas que oferecem tal disciplina. 5) O Aluno escolhe a turma desejada. 6) Para a turma escolhida, o Sistema informa a sala/laboratrio no qual as aulas sero ministradas, assim como o nome do Professor e os dias e os horrios das aulas. A sequncia dos passos 4, 5 e 6 deve ser repetida para cada disciplina escolhida pelo Aluno. 7) O Sistema solicita a confirmao do Aluno para as turmas escolhidas. 8) O Aluno confirma suas escolhas. 9) O Sistema registra a matrcula do Aluno nas disciplinas escolhidas. 10) O Sistema encerra a operao. Fluxo Alternativo (4): Incluso do Aluno em lista de espera. a) O sistema informa que no existe turma aberta para a disciplina escolhida, ou que no h mais vagas na turma. b) O Sistema oferece uma lista de espera para o Aluno aguardar pela possibilidade de abertura de turma para a disciplina escolhida. c) Se o aluno aceitar, o sistema o insere na lista de espera. O sistema volta ao passo 4, caso haja mais disciplinas escolhidas, ou vai para o passo 7.

204

Anlise e Projeto de Sistemas

d) Se o aluno no aceitar, o sistema volta ao passo 4, caso haja mais disciplinas escolhidas, ou vai para o passo 7. Fluxo de Exceo (4): Violao da RN02. a) Excesso de crditos nas disciplinas escolhidas pelo aluno para o semestre. O sistema informa ao aluno a quantidade de crditos excedentes, para que ele possa refazer suas escolhas. O Sistema volta ao passo 3. Ps-condies: o aluno foi matriculado nas disciplinas selecionadas e/ou foi inscrito em uma ou mais listas de espera. Regras de Negcio: RN1, RN2, RN4. Caso de Uso: lanar notas e faltas. Sumrio: Professor lana notas e faltas dos Alunos para a disciplina que ele ministrou no perodo. Ator Primrio: Professor. Ator Secundrio: no h. Pr-condies: o Professor deve estar cadastrado no sistema. Fluxo Principal a) O Professor solicita o lanamento de notas. b) O Sistema apresenta a lista de disciplinas relacionadas ao Professor. c) O Professor escolhe a disciplina para a qual as notas e faltas sero lanadas. d) Para a disciplina escolhida, o Sistema exibe as turmas. e) O Professor escolhe a turma para a qual far o lanamento das notas e faltas. f) O Sistema exibe a lista com os nomes dos Alunos matriculados na turma. g) Para cada Aluno, o Professor lana as notas e o nmero de faltas no perodo. h) O Sistema solicita a confirmao dos dados pelo Professor. i) O Professor confirma os dados. j) Para cada Aluno, o Sistema calcula a mdia das notas e o percentual de frequncia no perodo. k) O Sistema registra os resultados. l) O Sistema encerra a operao. Fluxo Alternativo (9): Professor no confirma os dados digitados. a) O Professor verifica que lanou nota ou falta errada para um ou mais alunos. a) O Professor faz as devidas correes. b) O Sistema registra a correo e vai para o passo 10. nos. Fluxo de Exceo (8): Lanamento de nota ou falta no realizada para um ou mais alua) O Sistema informa ao Professor que no houve o lanamento de nota e/ou falta para o aluno. b) O Professor faz o lanamento que falta. c) O Sistema retorna ao passo 8. Ps-condies: as notas e frequncias dos alunos que cursaram uma disciplina em determinada turma foram lanadas, e a mdia das notas, assim como o percentual de frequncia para cada aluno, no perodo, foram calculados e registrados.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

205

Ps-condies: o Aluno foi matriculado nas disciplinas selecionadas e/ou foi inscrito em uma ou mais listas de espera. Regras de Negcio: RN7, RN8. Caso de Uso: Atender Lista de Espera. Sumrio: Coordenador cria uma turma extra para atender demanda. Ator Primrio: Coordenador. Ator Secundrio: Aluno. Pr-condies: O Coordenador deve estar cadastrado no Sistema; deve existir uma lista de espera com um mnimo de 30 alunos para ser atendida. Fluxo Principal a) Ao completar 30 alunos na lista de espera para determinada disciplina, o Sistema sinaliza esta informao. b) O Coordenador solicita abertura da lista sinalizada, com os nomes dos interessados em determinada disciplina. c) O Sistema apresenta as informaes da lista solicitada. d) O Coordenador solicita que a lista seja atendida. e) O Sistema solicita as informaes para abertura da turma extra. f) O Coordenador informa o(s) dia(s) e horrio(s) para o funcionamento da nova turma. g) O Sistema apresenta a lista de Professores disponveis. h) O Coordenador seleciona o Professor. i) O Sistema exibe as salas/laboratrios disponveis. j) O Coordenador seleciona a sala/laboratrio. k) O Sistema solicita confirmao dos dados informados. l) O Coordenador confirma os dados. m) O Sistema registra a abertura da turma extra. n) O Sistema transfere cada Aluno da lista para a nova turma, excluindo a lista. o) O Sistema registra as novas matrculas. p) O Sistema envia um e-mail automtico a cada Aluno informando sobre a efetivao da matrcula. q) O Sistema encerra a operao. Fluxo Alternativo (7): No h Professores disponveis para os dias/horrios informados. a) O Sistema informa que no existe disponibilidade de Professor para os dias/horrios informados pelo Coordenador, e solicita nova entrada de dias/horrios. b) O Coordenador informa novos dias/horrios. Caso haja possibilidade de Professores, o Sistema continua no passo 9. c) Caso no haja disponibilidade de Professores, o Sistema volta ao passo (a) deste fluxo alternativo at que haja disponibilidade, ou o Coordenador pode solicitar ao Sistema que cancele a lista e encerre a operao. dos. Fluxo Alternativo (9): no h salas/laboratrios disponveis para os dias/horrios informaa) O Sistema informa que no existe disponibilidade de sala/laboratrio para os dias/ horrios informados pelo Coordenador, e solicita nova entrada de sala/laboratrio. b) O Coordenador informa nova sala/laboratrio. Caso haja possibilidade de sala/laboratrio, o Sistema continua no passo 11.

206

Anlise e Projeto de Sistemas

c) Caso no haja disponibilidade de sala/laboratrio, o Sistema volta ao passo (a) deste fluxo alternativo at que haja disponibilidade, ou o Coordenador pode solicitar ao Sistema que cancele a lista e encerre a operao. Ps-condies: uma turma extra foi criada para determinada disciplina. Regras de Negcio: RN1, RN9. Caso de Uso: Visualizar Boletim. lar. Sumrio: Aluno solicita visualizao de seu boletim (notas e faltas) para o perodo escoAtor Primrio: Aluno. Ator Secundrio: No h. Pr-condies: O Aluno deve estar cadastrado no Sistema e matriculado em disciplinas. Fluxo Principal a) O Aluno solicita visualizao de seu boletim. b) O Sistema exibe as notas, mdias, nmero de faltas e percentual de frequncia para cada disciplina. c) O Aluno visualiza as informaes exibidas. d) O Sistema encerra a operao. Ps-condies: O boletim do Aluno foi exibido. Caso de Uso: Visualizar Andamento das Matrculas. Sumrio: Coordenador solicita ao Sistema a visualizao do andamento das matrculas nas disciplinas que esto sendo oferecidas para o prximo semestre letivo. Ator Primrio: Coordenador. Ator Secundrio: No h. Pr-condies: O Coordenador deve estar cadastrado no Sistema. Fluxo Principal a) O Coordenador solicita ao Sistema a visualizao do andamento das matrculas realizadas at o momento nas disciplinas oferecidas. b) O Sistema exibe a lista com todas as disciplinas oferecidas para o prximo semestre. c) O Coordenador seleciona uma disciplina para a qual deseja ver o andamento das matrculas. d) O Sistema exibe a lista das turmas que foram abertas para oferecer tal disciplina. e) O Coordenador seleciona a turma para a qual deseja ver o andamento das matrculas. f) O Sistema exibe uma lista contendo os dias e horrios nos quais a disciplina ser ministrada, o nome do Professor e a relao de todos os Alunos que j efetuaram suas matrculas na referida turma. g) O Coordenador visualiza as informaes contidas na lista. h) Caso o Coordenador deseje continuar com a visualizao de outras turmas, o Sistema retorna ao passo 4; caso contrrio, o Sistema encerra a operao. Ps-condies: Listas com matrculas realizadas at o momento foram visualizadas pelo Coordenador.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

207

Caso de Uso: Abrir Turma. Sumrio: Coordenador abre turma para atender a demanda de Alunos em disciplinas no prximo semestre letivo. Ator Primrio: Coordenador. Ator Secundrio: No h. Pr-condies: O Coordenador deve estar cadastrado no Sistema; o nome de turma deve estar cadastrado no Sistema. Fluxo Principal a) O Coordenador solicita ao Sistema a relao de turmas cadastradas e ainda no abertas para determinada disciplina de um curso. b) O Sistema exibe a lista das turmas disponveis. c) O Coordenador seleciona uma turma para a qual deseja ofertar disciplina no prximo semestre, referente a determinado curso sob sua coordenao. d) O Sistema exibe a lista com os nomes dos Professores que ministram tal disciplina e suas disponibilidades de horrios. e) O Sistema solicita a escolha de um Professor. f) O Coordenador seleciona o Professor. g) O Sistema solicita o(s) dia(s) e horrio(s) das aulas. h) O Coordenador informa o(s) dia(s) e horrio(s) das aulas, de acordo com a disponibilidade do Professor. i) O Sistema solicita confirmao das escolhas. j) O Coordenador confirma as escolhas. k) O Sistema registra as informaes e a turma aberta. l) O Sistema encerra a operao. Fluxo Alternativo (2): No existe turma criada para tal disciplina. a) O Sistema informa que no existe turma criada para tal disciplina. b) Se o Coordenador desejar que a turma seja criada, executar o Caso de Uso "Cadastrar Turma"; caso contrrio, o Sistema executa o passo 12. Fluxo de Alternativo (6): Coordenador no escolhe Professor. a) O Coordenador no escolhe Professor, por haver algum tipo de impedimento de dia/ horrio para a abertura da turma, de acordo com as disponibilidades dos Professores que ministram a disciplina. b) O Sistema executa o passo 12. Fluxo de Alternativo (10): Coordenador no confirma as escolhas. a) O Coordenador no confirma suas escolhas. b) Se Coordenador quiser repetir as escolhas, o Sistema retorna ao passo 2; caso contrrio, o Sistema executa o passo 12. Ps-condies: uma turma foi aberta para oferecer uma disciplina no prximo semestre letivo. Regras de Negcio: RN9. Todos os diagramas que sero criados no projeto Controle de Alunos de uma Universidade sero mostrados, passo a passo, no Tpico 14.

208

Anlise e Projeto de Sistemas

Diagrama de Casos de Uso O primeiro diagrama que vamos elaborar para o nosso sistema o Diagrama de Casos de Uso. Ele representa, por meio de elementos grficos definidos pela UML, os atores, os Casos de Uso e os relacionamentos entre eles. Para desenhar os diagramas deste sistema, utilizaremos uma ferramenta grfica aberta, denominada Astah Community, e que pode ser acessada por meio do endereo: <http://astah. change-vision.com/en/product/astah-community.html>. Caso tenha alguma dificuldade, entre em contato com seu tutor. A Figura 1 apresenta o Diagrama de Casos de Uso para o Sistema de Controle de Alunos de uma Universidade.
<<e xten

d>>

Figura 1 Diagrama de Casos de Uso para o Sistema de Controle de Alunos de uma Universidade.

9. DOCUMENTAO DO MODELO DE CLASSES


Vimos que existem trs fases para o modelo de classes: o modelo de classes de anlise, o modelo de classes de projeto e o modelo de classes de implementao. A primeira delas refere-se modelagem conceitual de classes, cuja finalidade descrever as informaes que o sistema vai gerenciar. uma fase associada ao domnio do problema, fazendo parte da fase de anlise do desenvolvimento de um projeto. Nela so descobertos os conceitos relacionados ao sistema, ou seja, quem contm as informaes a serem tratadas pelo sistema. um modelo independente da soluo fsica. O modelo de classes de anlise representado pelo Diagrama de Classes da UML, e tem trs elementos que representam a informao: conceitos, atributos e associaes. Conforme j visto anteriormente, este modelo pode ser obtido pela anlise dos Casos de Uso. Por meio de cada caso de uso, possvel identificar quais classes so necessrias para obteno dos resultados externamente visveis.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

209

Observemos como fazer para descobrir os elementos do modelo conceitual: Identificamos, nos Casos de Uso, palavras que correspondam a conceitos sobre os quais desejamos manter informaes no sistema. Identificamos e agrupamos palavras que so sinnimos. Procuramos, dentre as palavras identificadas, separar aquelas que so atributos, das que so conceitos. Revendo os Casos de Uso do Sistema de Controle de Alunos de uma Universidade, podemos, inicialmente, identificar os seguintes conceitos: a) Curso; b) Disciplina; c) Grade Curricular; d) Turma; e) Plano de Ensino; f) Plano de Aulas; g) Lista de Espera; h) Sala/Laboratrio; i) Coordenador; j) Professor; k) Aluno; l) Boletim. Voc deve estar lembrado que, apesar de conseguirmos identificar alguns conceitos diretamente nos Casos de Uso, nem sempre o diagrama construdo apenas com estes conceitos. Vejamos, na Figura 2, o Diagrama de Classes em sua primeira verso (consulte o tutorial do tpico 14, para acompanhar o passo a passo da construo do diagrama).

Figura 2 Diagrama de Classes para o Sistema de Controle de Alunos de uma Universidade.

210

Anlise e Projeto de Sistemas

Note que temos, nesse diagrama, uma classe associativa chamada ItemMatricula. Essa classe contm informaes das duas classes s quais ela est relacionada, isto , as classes Matricula e DisciplinaOfertada. Imagine um aluno cursando seis disciplinas no semestre de determinado curso. A classe Matricula deve conter informaes como o nome do aluno, o ano e o semestre da matrcula, o curso etc. Na classe DisciplinaOfertada temos informaes sobre cada disciplina que est sendo oferecida no semestre. A classe associativa ItemMatricula deve conter informaes como o nome do aluno e a disciplina que ele est cursando (atualmente matriculado) ou, inclusive, as disciplinas que ele j tenha cursado. Portanto, nesta classe que conseguimos perceber quais so todas as disciplinas nas quais o aluno j esteve ou encontra-se matriculado em determinado curso. Outra classe associativa a classe Ministra. Ela est associada s classes DisciplinaOfertada e ProfessorDisc. Esta classe deve conter informaes que nos permitem responder, por exemplo, seguinte questo: "Quais so as disciplinas ministradas por determinado professor no semestre corrente?". Ou tambm: "Quais disciplinas determinado professor ministrou no semestre anterior?", alm de outras. Temos, ainda, uma classe chamada ItemLista conectada classe ListaEspera por meio de uma associao do tipo composio. Significa que a classe ListaEspera pode conter informaes sobre o nmero de uma lista, a quantidade de alunos inscritos nela e o nome da disciplina para a qual a lista foi aberta. E em ItemLista podem constar informaes relacionadas ao aluno que tem interesse na matrcula na referida disciplina.

10. GLOSSRIO
O glossrio a relao dos termos relevantes do domnio do sistema. No nosso caso, os termos relacionados ao domnio da universidade. Eles podem ser termos relacionados s classes do sistema, a palavras utilizadas pelos usurios, ou qualquer outro tipo de termo que esteja relacionado ao domnio e ao qual se queira associar um tipo de definio. Sugere-se que os termos relacionados apaream em ordem alfabtica, para facilitar a busca por seus significados. O glossrio pode ser atualizado constantemente, enquanto o sistema estiver em desenvolvimento. Conforme os termos vo surgindo, eles podem ser acrescentados. Inicialmente, so estes os termos definidos para o glossrio do Sistema de Controle de Alunos de uma Universidade: a) Aluno: pessoa que faz matrcula em determinado curso. b) Coordenador: pessoa responsvel pela coordenao de um curso. Cabe ao coordenador as tarefas de contratao de professores, abertura de turmas, manuteno de grades de horrio, compras de equipamentos para laboratrios, compra de livros tcnicos e acompanhamento do andamento do curso. c) Curso: instrumento para a formao profissional. Oferecido pela universidade, composto por disciplinas inter-relacionadas, que devem ser cumpridas em determinado tempo. d) Secretaria Acadmica: departamento da universidade responsvel por manter as informaes relacionadas aos alunos e professores atualizadas, providenciar e fornecer documentos para alunos, manter os registros de notas e situao acadmica de cada aluno.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

211

e) Disciplina: componente da grade curricular de um curso. Mesmo que presente em vrios cursos, tem seu contedo especfico a cada um. Pode ser ministrada por mais de um professor do mesmo curso. f) Disciplina Ofertada: trata-se das disciplinas que so oferecidas em determinado semestre. g) Lista de Espera: lista na qual os alunos se inscrevem, interessados em uma disciplina para a qual ainda no foi aberta turma, mas que pode vir a existir como turma, caso haja um nmero mnimo de 30 alunos interessados. h) Matrcula: corresponde inscrio de um aluno em determinadas disciplinas oferecidas em um curso. i) Ministrar: lecionar uma determinada disciplina. j) Plano de Aula: relao das tarefas a serem cumpridas em cada aula de determinada disciplina de um curso. k) Plano de Ensino:plano elaborado para o cumprimento de tarefas relacionadas a uma disciplina de um curso em particular. l) Professor: pessoa responsvel por ministrar aulas de determinadas disciplinas s turmas de um curso. Ele deve seguir o plano de aulas por ele mesmo elaborado e avaliar o aluno no contedo ministrado. m) Registro de Notas: corresponde ao boletim do aluno, com suas notas, faltas, mdia e percentual de frequncia. n) Sala/Laboratrio: local da universidade onde ocorrem as aulas tericas e prticas de uma disciplina. o) Turma: representa um grupo de alunos que cursa determinada disciplina de um curso, na mesma sala, mesmo dia e horrio.

11. DOCUMENTAO DO MODELO DE INTERAES


A modelagem de interaes tem um papel de extrema importncia no sistema, pois ela completa aquilo que falta no modelo de Casos de Uso e no modelo de classes. O modelo de interaes representa as mensagens trocadas entre os objetos para a execuo dos cenrios dos Casos de Uso que foram levantados para o sistema. Nesta fase h a consolidao do entendimento sobre o sistema, pois somente depois que os diagramas que compem este modelo so construdos para os cenrios dos Casos de Uso, que se tem clareza sobre as responsabilidades que os objetos devem cumprir. O modelo de interaes destaca os diagramas de sequncia e os diagramas de comunicao. Faremos, para dar continuidade ao projeto do nosso sistema, os diagramas de sequncia, pois estes so os mais utilizados. Para a criao dos diagramas de sequncia, devemos observar os seguintes passos: a) Preparar pelo menos um cenrio para cada Caso de Uso. Vamos considerar, para nosso sistema, o fluxo principal de cada caso de uso descrito, pois estes foram considerados os mais relevantes ao processo como um todo. b) Lembrar que os diagramas de sequncia mostram claramente a contribuio de cada ator, e isso leva compreenso sobre o comportamento dos objetos. c) Dividir as interaes complexas, de forma que, para cada interao desmembrada, seja construdo um diagrama de sequncia. d) Se for necessrio para colaborar com a compreenso do processo, prepare um diagrama de sequncia para cada condio de erro.

212

Anlise e Projeto de Sistemas

Os Casos de Uso descritos foram: a) Matricular Aluno. b) Lanar Notas e Faltas. c) Atender Lista de Espera. d) Visualizar Boletim. e) Visualizar Andamento das Matrculas. f) Abrir Turma. Para cada caso de uso vamos extrair o fluxo principal dele, e o diagrama de sequncia ter esse fluxo como base. Veja o tutorial sobre a construo dos diagramas de sequncia no Tpico 14 desta unidade. O fluxo principal para o caso de uso Matricular Aluno : Matricular Aluno a) O Aluno solicita realizao de matrcula. b) O Sistema apresenta a lista de disciplinas nas quais o Aluno pode se matricular (o Sistema no disponibiliza para o Aluno as disciplinas que so pr-requisitos para aquelas que ele ainda no tenha cursado ou nas quais esteja reprovado). c) O Aluno seleciona as disciplinas que deseja cursar. d) Para cada disciplina escolhida, o Sistema apresenta as turmas que oferecem tal disciplina. e) O Aluno escolhe a turma desejada. f) Para a turma escolhida, o Sistema informa a sala/laboratrio onde as aulas sero ministradas, assim como o nome do Professor e os dias e os horrios das aulas. A sequncia dos passos 4, 5 e 6 deve ser repetida para cada disciplina escolhida pelo Aluno. g) O Sistema solicita a confirmao do Aluno para as turmas escolhidas. h) O Aluno confirma suas escolhas. i) O Sistema registra a matrcula do Aluno nas disciplinas escolhidas. j) O Sistema encerra a operao. Podemos identificar as seguintes classes envolvidas: AlunoCurso DisciplinaOfertada Turma Matricula ItemMatricula O diagrama de sequncia para este cenrio pode ser visto na Figura 3:

Claretiano -

REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

213

Figura 3 Diagrama de Sequncia para o fluxo principal do caso de uso Matricular Aluno.

Vamos elaborar o diagrama de sequncia para o fluxo principal do caso de uso Lanar Notas e Faltas. O fluxo principal dele contm os seguintes passos: Lanar Notas e Faltas a) O Professor solicita o lanamento de notas. b) O Sistema apresenta a lista de disciplinas relacionadas ao Professor. c) O Professor escolhe a disciplina para a qual as notas e faltas sero lanadas. d) Para a disciplina escolhida, o Sistema exibe as turmas. e) O Professor escolhe a turma para a qual far o lanamento das notas e faltas. f) O Sistema exibe a lista com os nomes dos Alunos matriculados na turma. g) Para cada Aluno, o Professor lana as notas e o nmero de faltas no perodo. h) O Sistema solicita a confirmao dos dados pelo Professor. i) O Professor confirma os dados. j) Para cada Aluno, o Sistema calcula a mdia das notas e o percentual de frequncia no perodo. k) O Sistema registra os resultados. l) O Sistema encerra a operao. As classes identificadas neste caso de uso so: ProfessorDisc DisciplinaOfertada Turma RegistroNotas

214

Anlise e Projeto de Sistemas

O diagrama de sequncia para este cenrio pode ser visto na Figura 4:

Figura 4 Diagrama de Sequncia para o fluxo principal do caso de uso Lanar Notas e Faltas.

12. DOCUMENTAO DO MODELO DE CLASSES DE PROJETO


Vimos no tpico 9 a documentao do modelo de classes de anlise. Neste tpico vamos ver o modelo criado na fase de anlise ser transformado no modelo de classes de projeto. As transformaes e os refinamentos nas classes de anlise imprimem mais rigor ao diagrama de classes. Isso pode acontecer, por exemplo, pela definio dos tipos de atributos, alm de novos conceitos que podem surgir nesta fase e que se fazem necessrios no diagrama. Classes de fronteira servem para captar informaes para o sistema e devolv-las depois de processadas, ou seja, so responsveis pela comunicao com o ambiente do sistema. A elas, portanto, no atribumos responsabilidades relacionadas lgica de negcio. As classes de controle referem-se aos objetos da aplicao, e no do domnio do sistema, e sua funo a de coordenar a interao entre os objetos. Podem ser mais bem observadas nos diagramas de sequncia (porm, no necessrio que elas apaream nesses diagramas).
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

215

Normalmente so canais de comunicao entre os objetos das classes de fronteira e os objetos das classes de entidade. E, finalmente, temos as classes de entidade, nosso maior objetivo na obteno do modelo de classes de projeto. Elas representam os conceitos do domnio do sistema, representando as informaes que o sistema deve manipular e armazenar. So as classes do negcio. No momento das transformaes, as classes de entidade normalmente permanecem, pois quase sempre geram objetos que devem ser persistentes. Este modelo est diretamente relacionado com o modelo de implementao. Portanto, deve definir os atributos, operaes e os parmetros que sero utilizados na implementao. Veja, no tpico 14, como adicionar atributos e operaes nas classes.

13. DOCUMENTAO DO MODELO DE ATIVIDADES


Estudamos que o Diagrama de Atividades um tipo especial de Diagrama de Estados. Ele representa os estados de uma atividade. Os procedimentos que ocorrem quando um Caso de Uso realizado so divididos em atividades, e podem ser representados por um diagrama de atividades. Este diagrama auxilia na compreenso do comportamento do sistema no decorrer dos Casos de Uso. Como o processo de matrcula o mais importante no Sistema de Controle de Alunos de uma Universidade, apresentamos, na Figura 5, o diagrama de atividades que o representa. Veja, no Tpico 14, o passo a passo para a construo deste diagrama.

Figura 5 Diagrama de Atividades Matricular Aluno.

216

Anlise e Projeto de Sistemas

14. TUTORIAL ASTAH COMMUNITY


Este tpico apresenta um tutorial sobre o software Astah Community. Vamos apresentar, passo a passo, como voc pode obt-lo e como fazer para desenhar cada diagrama que utilizaremos no Sistema de Controle de Alunos de uma Universidade. Acessando o Software Astah Community No browser instalado em seu computador, digite o seguinte endereo: <http://astah.change-vision.com/en/product/astah-community.html>. Surgir a seguinte tela, que pode ser observada na Figura 6:

Figura 6 Tela de acesso ao software Astah Community.

Como voc pode observar, h uma opo para voc fazer o download da ferramenta (conforme destacado em vermelho), gratuitamente. Voc deve clicar nessa opo e o software ser "baixado" em sua mquina. Depois da instalao, voc deve acess-lo para iniciar seus trabalhos com a ferramenta. Iniciando a utilizao da ferramenta Astah Community Abra a ferramenta, clicando sobre o cone que apareceu em sua tela aps a instalao (Figura 7), e que permite que voc inicie o uso da ferramenta:

Figura 7 cone para iniciar o uso do Astah Community.

Claretiano -

REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

217

Surge a seguinte tela, conforme voc pode observar na Figura 8:

Figura 8 Tela de abertura da ferramenta Astah Community.

Na barra de menus, clique sobre a opo File/New, ou ento no boto Create a new file (primeira opo esquerda na barra de ferramentas). Surge a tela mostrada na Figura 9:

Figura 9 Tela de um novo projeto da ferramenta Astah Community.

218

Anlise e Projeto de Sistemas

Antes de iniciar os diagramas, voc pode salvar o projeto em uma pasta na sua mdia. Para isso, clique sobre o menu File/Save As. Essa operao pode ser observada na Figura 10:

Figura 10 Tela de um novo projeto da ferramenta Astah Community.

Depois, escolha o local onde vai gravar o projeto. D um nome a ele e pressione o boto Save. Veja nossa sugesto, mostrada na Figura 11:

Figura 11 Nomeando um novo projeto criado na ferramenta Astah Community.

Claretiano -

REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

219

Observe, do lado esquerdo, assim tambm como na barra de ttulos, que aparece agora o nome do novo projeto, conforme mostrado na Figura 12:

Figura 12 Nome do novo projeto.

Diagrama de Casos de Uso O primeiro diagrama a ser elaborado o Diagrama de Casos de Uso. Na barra de menus, selecione a opo Diagram/UseCase Diagram. Observe o menu com todos os nomes dos diagramas que podem ser elaborados com a ferramenta.

Figura 13 Menu com os nomes dos diagramas da UML.

220

Anlise e Projeto de Sistemas

Observe, na Figura 13, a rea de trabalho na qual ser desenhado o Diagrama de Casos de Uso. Ela apresenta uma barra de ferramentas com todos os botes que representam os componentes deste diagrama. Vamos comear desenhando os atores que interagem diretamente com o sistema. De acordo com os Casos de Uso identificados, os seguintes atores vo interagir diretamente com o sistema: a) Secretaria Acadmica. b) Coordenador. c) Professor. d) Aluno. Para desenhar um ator, selecione o boto Actor na barra de ferramentas. Posicione o mouse na rea de trabalho e clique sobre ela. Aparece o cone com a representao do ator e o nome sugerido para ele: Actor1. Se voc quiser que este nome permanea para este ator, o prximo ator ter o mesmo nome na sequncia 2, 3, e assim por diante. Normalmente, queremos que o nome nos remeta figura do ator, conforme ele aparece no sistema. Portanto, mudaremos o nome dos atores do nosso diagrama. Para isso, basta voc digitar o novo nome, enquanto est no modo de edio (em azul). Caso ele tenha sado do modo de edio, basta dar um clique duplo em cima do nome, que ele entra em modo de edio novamente. Ou, ainda, observe o lado esquerdo inferior na sua tela. H um campo chamado Name. Troque o nome do ator, sugerido pela ferramenta, para o nome desejado. Assim desenharemos os quatro atores, e renomearemos todos eles. Veja, na Figura 14, como fica:

Figura 14 Atores do Sistema de Controle de Alunos de uma Universidade.

Observe que voc pode ir desenhando e, a qualquer momento, mover os cones de um lugar para outro, com facilidade. Basta clicar sobre ele a arrastar para o local desejado.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

221

O prximo passo desenhar os Casos de Uso. Para isso, selecione o boto UseCase. Proceda da mesma forma para nomear os Casos de Uso. Faamos um desenho para cada caso de uso identificado para o sistema. Voc deve observar que, embora tenhamos identificado vinte Casos de Uso, foram descritos apenas os mais importantes. Observe, na Figura 15, parte do Diagrama de Casos de Uso para o sistema estudado. So eles: a) Cadastrar Turmas (Secretaria Acadmica). b) Abrir Turma (Coordenador). c) Fechar Turma (Coordenador). d) Inserir Informaes sobre Aluno (Secretaria Acadmica). e) Pesquisar Informaes sobre Aluno (Secretaria Acadmica). f) Atualizar Informaes sobre Aluno (Secretaria Acadmica). g) Pesquisar Informaes sobre Professor (Secretaria Acadmica). h) Pesquisar Informaes sobre Coordenador (Secretaria Acadmica). i) Manter Informaes sobre Disciplina (Secretaria Acadmica). j) Manter Informaes sobre a Grade Curricular de Curso (Coordenador). k) Manter Informaes sobre Plano de Ensino (Professor). l) Manter Informaes sobre Plano de Aulas (Professor). m) Manter Informaes sobre Sala/Laboratrio (Secretaria Acadmica). n) Matricular Aluno (Aluno). o) Cancelar Matrcula (Aluno). p) Trancar Matrcula (Aluno). q) Lanar Notas e Faltas (Professor). r) Visualizar Boletim (Aluno). s) Visualizar Andamento das Matrculas (Coordenador). t) Atender Lista de Espera (Coordenador). Depois de desenhar os Casos de Uso, voc deve associ-los aos atores que interagem diretamente com eles. A Figura 15 mostra parte do diagrama de Casos de Uso. Entretanto, voc pode v-lo na ntegra, na Figura 1.

Figura 15 Tela com parte do Diagrama de Casos de Uso.

222

Anlise e Projeto de Sistemas

Diagrama de Classes Dando continuidade ao projeto do Sistema de Controle de Alunos de uma Universidade, vamos agora fase da construo do modelo inicial de classes, ou seja, o modelo conceitual. A tela de abertura do Diagrama de Classes pode ser observada na Figura 16. Selecione o menu Diagram/Class Diagram. Surge a seguinte tela:

Figura 16 Tela de abertura do Diagrama de Classes.

Comeamos com o desenho da classe. Para isso, selecione o boto Class na barra de ferramentas. Clique sobre a rea de trabalho. Surge o cone que representa uma classe. Observe, na Figura 17, a representao de uma classe. recomendvel que o nome sugerido seja trocado por um que represente a classe desejada.

Figura 17 Representao de uma classe.


Claretiano -

REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

223

Desenhe todas as classes identificadas. O prximo passo desenhar as conexes entre elas. Observe, na Figura 18, os botes da barra de ferramentas. Existe um boto que representa uma associao simples. Ao lado desse boto existe uma seta. Se voc clicar nela, aparecero os demais botes relacionados aos outros tipos de associao (agregao e composio). Veja na prxima figura.
2 5 3 4

1
Figura 18 Botes de relacionamentos.

1 2 3 4

Associaes por agregao e composio. Associao. Generalizao. Dependncia.

Note, tambm, que outro elemento utilizado foi a classe de associao. Para represent-la voc deve utilizar o boto indicado pelo nmero 5, conforme mostra a figura anterior.
5

Classe de associao.

Depois que as classes e seus relacionamentos esto representados, necessrio acrescentar as multiplicidades e os nomes dos relacionamentos. Para isso, posicione o mouse sobre a linha que representa o relacionamento e clique com o boto direito.

Figura 19 Adicionando multiplicidades e nome aos relacionamentos.

224

Anlise e Projeto de Sistemas

Conforme mostra a Figura 19, aparece um menu. Para adicionar multiplicidades, basta voc posicionar o mouse em Multiplicity, e depois escolher uma das opes de multiplicidade oferecidas. Para adicionar um nome ao relacionamento, posicione o mouse na primeira opo do menu, Set Name, clique e escreva o nome que queira atribuir a ele. Diagrama de Sequncia A prxima etapa consiste na elaborao dos diagramas de sequncia. Vejamos a construo para o diagrama que corresponde ao fluxo principal do caso de uso Matricular Aluno. A Figura 20 mostra a tela para a construo do Diagrama de Sequncia. Na barra de menus, selecione o menu Diagram/Sequence Diagram. Surgir a seguinte tela:

Figura 20 Tela para construir o diagrama de sequncia.

O prximo passo consiste em desenhar todas as classes envolvidas no processo. Para isso, selecione o boto Lifeline. Elas devem ficar dispostas lado a lado, conforme mostra a Figura 21. Observe qual o ator que interage diretamente com o caso de uso. Neste caso, o ator o Aluno. Para represent-lo, selecione a seta ao lado do boto Lifeline. Escolha, agora, o cone que representa o ator, Lifeline(Actor). Entre o ator e as classes, vamos inserir uma classe de fronteira, pela qual o ator insere as informaes ao sistema, e este devolve as mensagens. Para isso, utilize a mesma seta e escolha o cone Lifeline(Boundary). Como sugesto, a classe de fronteira pode ter seu nome iniciado pela letra "I", para indicar que se trata de uma classe de interface. Para iniciar os fluxos de mensagens, observe a sequncia de passos descrita no fluxo principal do Caso de Uso. A sequncia deste fluxo est representada no diagrama. Neste diagrama foram utilizadas as setas de mensagens sncronas e mensagens de retorno.
Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

225

Apresentamos o diagrama na ferramenta Astah. Voc pode v-lo na ntegra no Tpico 10.

Figura 21 Tela com viso parcial do diagrama de sequncia (Matricular Aluno).

Observe que do lado esquerdo inferior da tela aparece uma guia de nome Base. H dois campos: Name, em que voc pode nomear o diagrama em questo. Note que h um nome sugerido para ele. O segundo campo o Argument. Trata-se do argumento que pode ser colocado no nome do diagrama. Caso exista esse argumento, ele aparecer dentro dos parnteses no nome do diagrama. H, ainda, uma lista com opes que podem ser assinaladas ou no. Por exemplo, o primeiro campo permite que o nmero que representa o ndice da mensagem enviada por um objeto a outro aparea ou no. No diagrama mostrado na figura anterior, perceba que os nmeros correspondentes aos ndices das mensagens no aparecem. A opo est desabilitada. Para cada objeto inserido no diagrama, quando voc o seleciona, uma lista com as opes de configurao para esse objeto se abre do lado esquerdo inferior da tela, e voc pode alterar as opes inicialmente sugeridas. A tela de opes para um objeto selecionado apenas diferente da tela que aparece quando se trata do diagrama todo (explicada anteriormente). Experimente selecionar uma classe apenas. Veja que aparece uma opo chamada Properties, que so as propriedades para o controle selecionado. Quando voc clica nesta opo, uma janela de propriedades aberta, com vrias guias. Uma ateno especial deve ser dada opo Stereotype. Ela permite que voc crie um esteretipo para o objeto selecionado. Adicionando atributos e operaes s classes no diagrama de classes Para refinar o modelo de classes, voc deve observar as classes definidas no modelo de anlise. Aquelas que contm objetos que so persistentes merecem ateno nesta fase. Adicionaremos os atributos e as operaes a elas.

226

Anlise e Projeto de Sistemas

Para isso, selecione a classe para a qual deseja inserir os atributos. Observe o lado esquerdo inferior da tela. Veja que aparecem vrias guias. Selecione a guia Attribute. Selecione o boto Add, para adicionar os atributos. No primeiro campo voc dever colocar o nome do atributo. No segundo campo voc escolher, a partir de uma lista oferecida, o tipo do atributo. E, no quarto campo, voc dever preencher a visibilidade. Veja na Figura 22.

Figura 22 Adicionando atributos classe AlunoCurso.


Claretiano REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

227

Depois de inserir os atributos, voc deve inserir as operaes. Escolha a guia Operation e, depois, o boto Add. No primeiro campo voc dever escrever o nome da operao. No segundo campo, deve ser escolhido o tipo de valor que ser retornado pela funo. E, no quarto campo, voc deve escolher a visibilidade. Veja, na Figura 23, como fica o preenchimento:

Figura 23 Adicionando operaes classe AlunoCurso.

228

Anlise e Projeto de Sistemas

Diagrama de Atividades Para elaborar o diagrama de atividades, na barra de menus escolha a opo Diagram/Activity Diagram. Surge a seguinte tela, que pode ser observada na Figura 24:

Figura 24 Tela do diagrama de atividades.

Para iniciar o desenho do diagrama, na barra de ferramentas selecione o boto InitialNode. o boto que mostra o estado inicial das atividades. Em seguida, selecione o boto Action, para desenhar a representao de uma atividade. Para conectar os smbolos do n inicial com a atividade, selecione o boto ControlFlow/ObjectFlow. A cada nova atividade, repita o procedimento. Para desenhar o smbolo que representa uma tomada de deciso, selecione o boto Decision Node & Merge Node. A barra de bifurcao obtida selecionando-se o boto ForkNode, e a barra de juno obtida selecionando-se o boto JoinNode. A Figura 25 mostra uma viso parcial do diagrama de atividades Matricular Aluno.

Claretiano -

REDE DE EDUCAO

Estudo de Caso: Sistema de Controle de Alunos de Uma Universidade

229

Figura 25 Viso parcial do diagrama de atividades Matricular Aluno.

15. QUESTO AUTOAVALIATIVA


Esta unidade um pouco diferente das demais, uma vez que ela abrange tudo o que voc estudou sobre anlise e projeto orientados a objetos. Contm um exemplo de um sistema em que cada etapa foi desenvolvida com explicaes e o uso de uma ferramenta de modelagem.
1) Para que voc faa uma autoavaliao relacionada ao contedo da unidade, desenvolva, com base no sistema utilizado como exemplo, a anlise e o projeto de um sistema para controlar o tempo de permanncia de um hspede em um hotel. O sistema deve abranger desde o momento em que o cliente faz sua reserva (por telefone, por exemplo), at o momento em que ele solicita o encerramento de sua conta. O sistema deve manter as informaes cadastrais e tambm as informaes sobre a permanncia do hspede no hotel (gastos com dirias e servios). No se esquea de que o cliente pode, tambm, cancelar sua reserva antes de se hospedar.

16. CONSIDERAES
Esta unidade apresentou uma viso prtica da modelagem de um sistema, por meio de um estudo de caso sobre um Sistema de Controle de Alunos de uma Universidade, com foco no processo de matrculas. Voc acompanhou o desenvolvimento dos principais diagramas com o auxlio da ferramenta aberta Astah Community.

230

Anlise e Projeto de Sistemas

Ficam aqui algumas sugestes para melhorar o seu estudo: Elaboramos dois diagramas de sequncia. Procure construir outros, com base nos diversos cenrios dos Casos de Uso descritos. Nosso objetivo aqui no ensinar a implementar. Entretanto, voc pode prosseguir com o projeto arquitetural do software, e implement-lo, utilizando os conhecimentos adquiridos em outras disciplinas do seu curso. Para isso, reveja a Unidade 7 e busque complementar seus estudos utilizando os livros indicados na bibliografia. Chegamos ao final de mais uma disciplina e com este estudo voc teve a oportunidade de compreender que o desenvolvimento de projetos de sistemas de software no uma tarefa simples e, dessa forma, voc pde perceber que analisar e projetar sistemas requer muito conhecimento, bom senso, criatividade, organizao e muita prtica. Nesta disciplina voc estudou duas abordagens de desenvolvimento de software: a anlise essencial e a orientao a objetos. Esta ltima uma realidade cada vez mais presente nas organizaes e, caso voc siga a trajetria do desenvolvimento, certamente ser questionado sobre essa abordagem. As fases de anlise e projeto de sistemas so as mais importantes dentro do ciclo de vida de um sistema, pois elas constituem a base para a sua correta implementao. Qualquer erro cometido aqui refletido no sistema. Portanto, certifique-se de ter compreendido bem o contedo estudado e exercite-se. Nossa sugesto para voc que pratique ao mximo as tarefas de anlise e projeto de sistemas em tarefas bsicas do seu dia a dia.

17. REFERNCIAS BIBLIOGRFICAS


BEZERRA, E. Princpios de anlise e projeto de sistemas com UML. 2. ed. Rio de Janeiro: Elsevier, 2007. BLAHA, M.; RUMBAUGH, J. Modelagem e projetos baseados em objetos com UML 2. 2. ed. Rio de Janeiro: Elsevier, 2006. WAZLAWICK, R. S. Anlise e projeto de sistemas de informao orientados a objetos. 3. reimpr. Rio de Janeiro: Elsevier, 2004.

Claretiano -

REDE DE EDUCAO