Aplicação da técnica de CRC – Sistema de Clínica Médica Adam Henrique Dias Silva – RA 0910430 E-mail: [email protected] Bruno Pardini – RA 0910783 E-mail: [email protected] Danilo Henrique Achcar – RA 0910619 E-mail: [email protected] Guilherme Gonçalves da Silva – RA 0910775 E-mail: [email protected] Agenda FATEC São Caetano do Sul Agenda • Introdução • Fundamentação Teórica • Desenvolvimento • Conclusão • Referências FATEC São Caetano do Sul Introdução FATEC São Caetano do Sul Introdução • A técnica de modelagem CRC(Classes, Responsabilidades e Colaboradores) foi concebida por Kent Beck e Ward Cunningham no ano de 1989. • Segundo BECK e CUNNINGHAM (1989), o principal intuito da criação de tal técnica foi o de auxiliar alunos que aprendiam OO e UML, portanto, não era considerada uma técnica de modelagem, mas sim uma técnica de aprendizagem. • BEZERRA(2007) também cita em um de seus livros que tal técnica foi criada inicialmente com esse intuito. • Com o passar do tempo, com a popularização do uso do CRC pelos alunos, pela sua grande facilidade de uso e por possuir pouca e simples sintaxe, o CRC se tornou uma técnica de modelagem como propriamente dito. – Ressalta-se que o CRC também serve para executar validações em cima de classes elicitadas a partir da técnica Análise por Casos de Uso. FATEC São Caetano do Sul Introdução (cont.) • O uso da técnica de CRC para a criação do modelo de classes tem se mostrado eficaz e muitas vezes equiparável à técnica de Análise por Casos de Uso. • De acordo com algumas pesquisas realizadas por SANTOS (2010), a técnica de modelagem CRC é a segunda mais utilizada pelos entrevistados. – Tal técnica acaba perdendo apenas para a técnica de Análise por Casos de Uso. • Os conceitos utilizados durante a aplicação da técnica de modelagem CRC são muito parecidos aos utilizados pela Análise por Casos de Uso, envolvendo por exemplo: abstração, classes, responsabilidades, mensagens, etc. – Tal fato demonstra o por que do CRC ter siso utilizado inicialmente apenas para o aprendizado de alunos. FATEC São Caetano do Sul Introdução (cont.) • Basicamente, a técnica de modelagem CRC consiste em dividir a elicitação das classes em diversas sessões a partir da alocação de conjuntos de casos de uso para cada uma. • Após tal alocação, determinados integrantes compõem a sessão CRC: – – – – – Analistas; Desenvolvedores; Facilitadores; Colaboradores; etc. • Criam-se cartões de tamanho 10cm X 15cm (aproximadamente) que representam os cartões CRC. • Tal cartão deve conter o nome da classe, as responsabilidades e colaborações requisitadas pela mesma. FATEC São Caetano do Sul Introdução (cont.) • Modelo de cartão criado pelo grupo: FATEC São Caetano do Sul Fundamentação Teórica FATEC São Caetano do Sul Fundamentação Teórica • Classe: Uma classe é uma abstração das características relevantes de um grupo de “coisas” do mundo real. • Abstração: Uma abstração é qualquer modelo que inclui os aspectos relevantes de algo do mundo real, ao mesmo tempo em que se ignora os menos importantes. – Vale ressaltar que a abstração depende do observador. • Elicitação de classes candidatas: Na utilização de qualquer técnica de modelagem, seja ela CRC, Análise por Casos de Uso ou qualquer outra, as classes identificadas podem não ser as que realmente irão para a fase de projeto e conseguinte implementação. – As classes podem “morrer” na fase de análise, caracterizando uma classe que não é mais necessária para a solução. FATEC São Caetano do Sul Fundamentação Teórica (cont.) • Mensagem: Uma mensagem é uma requisição enviada de um objeto a outro para que este último realize alguma operação. • Responsabilidade: Uma responsabilidade é uma obrigação que um objeto tem para com o sistema no qual ele está inserido. – Através delas, um objeto colabora (ajuda) com outros para que os objetivos do sistema sejam alcançados. – Tal responsabilidade pode ser “conhecer”, que indica um atributo ou “saber fazer”, que indica uma operação. • Colaboração: Quando um objeto não consegue cumprir sozinho com suas responsabilidades, ele requisita a colaboração de um outro objeto. – Tal colaboração consiste na execução de uma operação que o objeto colaborador “sabe fazer”. – Esta operação pode ser uma computação ou um simples fornecimento de dado a partir de um atributo próprio que está encapsulado, p.ex.: getAtributoXYZ. FATEC São Caetano do Sul Desenvolvimento FATEC São Caetano do Sul Cenário proposto • Janete é doutora pediatra e tem três consultórios em bairros distintos, onde atende em horários diferentes. Ana, sua secretária, trabalha nos três consultórios. Para que a marcação de consultas seja centralizada, Ana tem que carregar as três agendas de um lado para o outro. A doutora Janete contratou uma empresa de software para lhe desenvolver um sistema com interface padrão Windows que controle a marcação de consultas e a ficha dos pacientes. Para os pacientes, é preciso controlar o nome, endereço, telefone de contato, data de nascimento, data da primeira consulta e email, se é particular ou conveniado a algum plano de saúde. No caso de ser conveniado, deve-se registrar qual é o plano de saúde. Para cada plano de saúde credenciado é preciso controlar o limite de consultas por paciente no mês junto ao sistema do convênio de forma automática. O tempo de acesso e resposta do sistema não deve ultrapassar 60 segundos. Somente a doutora poderá obter no final do mês, um relatório com o valor recebido pelas consultas particulares e o faturado pelos convênios. Cada convênio paga um valor diferente por consulta e credita em prazos diferentes a partir da data de apresentação da consulta ao plano. O valor da consulta particular é fixo, mas um ou outro paciente pode receber um desconto. Sendo assim, o valor efetivamente pago, deve ser registrado. Em cada consulta, a doutora precisa registrar o peso, altura, descrição da consulta e medicamentos prescritos com tempo e dosagem. Desta forma, o sistema também fará a emissão da receita. O sistema também deve controlar o prontuário. FATEC São Caetano do Sul Especificação funcional • O grupo criou um artefato de software contendo toda a especificação funcional do cenário proposto. • A partir dos requisitos funcionais elicitados no artefato, os seguintes casos de uso foram criados: – – – – – – – CSU01 – Marcar consulta; CSU02 – Manter consultas; CSU03 – Permitir pagamento; CSU04 – Manter ficha dos pacientes; CSU05 – Manter planos de saúde; CSU06 – Emitir receita; CSU07 – Controlar prontuários; FATEC São Caetano do Sul Especificação funcional (cont.) • Diagrama de casos de uso: FATEC São Caetano do Sul Sessões CRC • O grupo optou por realizar três sessões CRC ao todo. • Cada integrante do grupo recebeu um determinado papel em cada uma das sessões. • O facilitador de cada sessão foi responsável por ler o cenário inúmeras vezes, além de ler também a especificação funcional. • Os analistas de cada sessão ficaram responsáveis pela identificação dos objetos participantes de cada caso de uso. Tais objetos, posteriormente se tornaram classes. • Para cada sessão proposta pelo grupo, determinados casos de uso foram alocados. FATEC São Caetano do Sul 1º Sessão • A primeira sessão de aplicação da técnica CRC foi realizada no dia 25/10 às 07:30h em uma sala dentro das dependências da FATEC-SCS. A primeira sessão de CRC teve uma duração máxima de 45 minutos e por tal se estendeu até as 08:15h. • Ao todo, foram quatro participantes: – 1 participante atuou como facilitar, conduzindo a sessão, ou seja, lendo e relendo por diversas vezes a especificação dos casos de uso e o cenário; – 2 participantes atuaram como analistas; – 1 participante atuou como especialista do negócio. • Para esta sessão foram alocados os casos de uso: – – – – CSU01 - Marcar consulta; CSU02 - Manter consultas; CSU03 - Permitir pagamento; CSU04 - Manter ficha dos pacientes. FATEC São Caetano do Sul 1º Sessão (cont.) • A encenação dos casos de uso alocados foi disparada por Danilo Achcar, dando inicio assim a execução dos passos dos cenários. • Na primeira leitura, cada participante de acordo com seu cargo, identificou uma classe e prosseguiu com a posterior identificação de suas responsabilidades e colaboradores. • Nas conseguintes leituras, novas responsabilidades foram identificadas e outras abandonadas. • Ao fim da 1º sessão, 3 classes foram encontradas (1 por participante, excluindo o facilitador). Os participantes já possuem idéias sobre outras possíveis classes, mas preferiram deixar a sua identificação para uma sessão posterior. FATEC São Caetano do Sul 1º Sessão (cont.) FATEC São Caetano do Sul Diagrama de classes após 1º Sessão FATEC São Caetano do Sul 2º Sessão • A segunda sessão de aplicação da técnica CRC foi realizada no dia 27/10 às 07:08h em uma sala dentro das dependências da FATEC-SCS. Nesta segunda sessão de CRC, houve uma duração máxima de 76 minutos e por tal se estendeu até as 08:24h. • Ao todo, foram quatro participantes: – 1 participante atuou como facilitar, conduzindo a sessão, ou seja, lendo e relendo por diversas vezes a especificação dos casos de uso e o cenário. – 2 participantes atuaram como analistas. – 1 participante atuou como especialista do negócio. • Para esta sessão foram alocados os casos de uso: – CSU05 - Manter planos de saúde – CSU06 - Emitir receita – CSU07 - Controlar prontuários FATEC São Caetano do Sul 2º Sessão (cont.) • A encenação dos casos de uso alocados foi disparada por Danilo Achcar, dando inicio assim a execução dos passos dos cenários. • Na primeira leitura, cada participante de acordo com seu cargo, identificou uma ou mais classes e prosseguiu com a posterior identificação de suas responsabilidades e colaboradores. • Nas conseguintes leituras, novas responsabilidades foram identificadas e outras abandonadas. • Ao fim da 2º sessão, 5 classes foram encontradas (dois participantes identificaram 2 classes e o outro participante apenas 1, excluindo o facilitador). • Além disso, os cartões CRC criados na primeira sessão foram aprimorados de acordo com os novos cartões identificados. FATEC São Caetano do Sul 2º Sessão (cont.) FATEC São Caetano do Sul 2º Sessão (cont.) FATEC São Caetano do Sul 2º Sessão (cont.) FATEC São Caetano do Sul Diagrama de classes após 2º Sessão FATEC São Caetano do Sul 3º Sessão • A terceira sessão de aplicação da técnica CRC foi realizada no dia 28/10 às 11:10h em uma sala dentro das dependências da FATEC-SCS. Nesta terceira sessão de CRC, houve uma duração máxima de 35 minutos e por tal se estendeu até as 11:46h. • Ao todo, foram quatro participantes: – 1 participante atuou como facilitar, conduzindo a sessão, ou seja, lendo e relendo por diversas vezes a especificação dos casos de uso e o cenário. – 2 participantes atuaram como analistas. – 1 participante atuou como especialista do negócio. • Para esta sessão foram revisados todos os cartões CRC criados nas sessões CRC anteriores, além da criação de uma nova classe e seu cartão CRC correspondente. FATEC São Caetano do Sul 3º Sessão (cont.) • A encenação dos casos de uso alocados foi disparada por Bruno Pardini, dando inicio assim a execução dos passos dos cenários. • Na primeira leitura, cada participante de acordo com seu cargo, identificou uma classe e prosseguiu com a posterior identificação de suas responsabilidades e colaboradores. • Nas conseguintes leituras, novas responsabilidades foram identificadas e outras abandonadas. • Ao fim da 3º sessão, 1 classe a mais foi encontrada (pelo analista Danilo Achcar que assumiu tal papel na última sessão). • Além disso, alguns dos cartões CRC criados anteriormente foram adaptados e integrados à nova classe identificada. FATEC São Caetano do Sul 3º Sessão (cont.) FATEC São Caetano do Sul Diagrama de classes após 3º Sessão FATEC São Caetano do Sul Diagrama de classes após todas sessões FATEC São Caetano do Sul Cartões CRC utilizados nas sessões FATEC São Caetano do Sul Cartões CRC utilizados nas sessões (cont.) FATEC São Caetano do Sul Cartões CRC utilizados nas sessões (cont.) FATEC São Caetano do Sul Cartões CRC utilizados nas sessões (cont.) FATEC São Caetano do Sul Cartões CRC utilizados nas sessões (cont.) FATEC São Caetano do Sul Conclusão FATEC São Caetano do Sul Conclusão • O grupo concluiu que após a utilização da técnica de CRC, a experiência proporcionada por tal é bem relevante ao aprendizado. Por tal fato, o CRC passou a ser considerado pelos integrantes do grupo, uma alternativa para o uso da técnica de Análise por Casos de Uso, pois o CRC propicia o ambiente e as condições necessárias para que características importantes da estrutura de um sistema orientado a objetos sejam identificadas e transcritas em classes em um diagrama de classes. • A modelagem através da técnica CRC proporcionou um ambiente onde idéias puderam ser discutidas entre os integrantes envolvidos, colaborando para que a solução identificada para o problema pudesse ser debatida e melhorada de acordo com a opinião do grupo, e não uma opinião individual de um único integrante. • Portanto, a escolha de uma técnica ou outra poderá depender da aplicação em questão, do momento e das necessidades que a equipe de projeto/análise enfrenta, mas sempre tendo em mente que uma técnica é tão eficiente quanto a outra no sentido de criar uma modelo de classes. FATEC São Caetano do Sul Referências FATEC São Caetano do Sul Referências • BECK, Kent. A Laboratory for Teaching Object-Oriented Thinking. OOPSLA’89, October, 1-6, 1989. • BEZERRA, Eduardo. Princípios de análise e projeto de sistema com UML. Rio de Janeiro: Campus, 2007. • SANTOS, Wellington Vieira dos. Aplicação da técnica CRC (Classe, Responsabilidade, e Colaboração) em projetos de sistema de software orientado a objetos: Estudo de caso. 2010. Monografia – Tecnologia em Informática para Gestão de Negócios. FATEC-ZL (Faculdade de Tecnologia da Zona Leste). FATEC São Caetano do Sul Dúvidas? FATEC São Caetano do Sul