arielril / model-driven-soft-eng-class Goto Github PK
View Code? Open in Web Editor NEWModel-Driven Software Engeneering Class Repository
Model-Driven Software Engeneering Class Repository
A tarefa da semana é desenvolver o seu plugin em uma ou mais iterações.
A dupla deve organizar um quadro de tarefas no total de oito horas.
Cada tarefa é individual e deve contribuir para a nova release do plugin.
As tarefas devem ter tamanho aproximado de 30 minutos.
A quarta tarefa é selecionar e instalar um plugin da ferramenta Astah. Criem um modelo que ilustre o uso do plugin e capture uma imagem de tela, para registrar a conclusão da tarefa. Recomendo a ferramenta de Captura de Tela, para quem utiliza o Windows.
Um plugin é um componente da arquitetura do software que pode ser adicionado dinamicamente. O Astah é uma ferramenta de modelagem que permite a criação de plugins. Para uma lista de plugins do Astah, indico:
http://astah.net/features/plugins
Caso necessário, instale o Astah. A Universidade possui uma licença acadêmica para uso nos laboratórios e nos computadores de alunos e professores. Escolha um plugin de seu interesse e realize a instalação e uso do plugin.
Na tela capturada para entrega deve constar uma identificação do aluno e do computador utilizado.
Recomendações:
A terceira tarefa da semana é escutar a Software Engineering Radio, episódios 5 e 6. Durante a escuta, elaborem um mapa mental ou conceitual com os principais assuntos discutidos em um dos episódios. Recomendo utilizar o GraphViz para gerar o mapa.
Os episódios estão disponíveis no Moodle. O mapa pode ser mental ou conceitual.
Para um exemplo de mapa conceitual, veja a página 57 do seguinte documento:
http://tede2.pucrs.br/tede2/bitstream/tede/3401/1/346967.pdf
Para um exemplo de mapa menta, recomendo a Figura 7 do seguinte documento:
http://coral.ufsm.br/educomsul/2013/com/gt3/7.pdf
Recomendo o GraphViz pela facilidade de gerar uma disposição automática dos elementos do grafo do mapa.
A terceira tarefa da semana é executar ao menos um teste funcional do plugin de outra dupla.
O plugin pode ser avaliado diversas vezes. Uma nova release pode ser liberada sempre que necessário.
Cada avaliação do plugin deve ser registrada como uma tarefa no quadro de tarefas de sua dupla. O plugin pode ser aprovado ou não. Ao menos uma avaliação deve ser realizada nesta semana.
Caso o plugin não seja aprovado nesta semana, novas releases serão necessárias nas semanas seguintes. As tarefas desta semana valem presença. A entrega final do plugin vale a nota do T1.
A segunda tarefa é configurar o ambiente de programação de sua preferência, editar, compilar e instalar um plugin a partir de seu código fonte. Esta tarefa vai ocupar a maior parte do tempo desta semana. Esta tarefa é fundamental para o Trabalho T1 que será realizado na semana que vem. Recomendo utilizar um plugin simples e as instruções que estarão no Moodle, para a ferramenta Astah. Outra ferramenta pode ser utilizada, desde que seja também um ambiente de programação ou modelagem, ex. Xcode, IntelliJ, NetBeans, Poseidon, ROSE, ArgoUML etc.
Recomendo a leitura inicial de três fontes:
http://astah.net/tutorial/plug-ins/plugin_tutorial_en/html/index.html
https://www.devmedia.com.br/astah-desenvolvendo-plug-ins-para-o-software/31127
https://github.com/ocularium/ocularium
O tutorial da Astah deve ser suficiente. O plugin que eles desenvolvem conta o número de artefatos dentro do modelo. Caso ocorra algum problema, ou para ter outra referência, há o material do DevMedia, que mostra um plugin para verificar algumas regras de modelagem. O terceiro material é um plugin desenvolvido para simplificar a edição e visualização de regras escritas em Object Constraint Language (OCL). Essa tarefa que interessa ao desenvolvedor foi automatizada por uma transformação, na linguagem da Eng. de Soft. Orientada a Modelos.
Para completar esta tarefa, basta ser capaz de editar, compilar e instalar o plugin.
A configuração do ambiente de desenvolvimento e das ferramentas vai tomar bastante tempo.
Depende um pouco da configuração do seu computador e da sua familiaridade com as ferramentas envolvidas, incluindo git e mvn.
As ferramentas e bibliotecas estão sempre em evolução. Pode ser necessário consultar StackOverflow e outras fontes. Um material pode ser utilizado para resolver pendências de outro material. A manutenção de código existente é a tarefa mais importante e frequente na Engenharia de Software. Iniciar um projeto do zero, sem dependências é um caso muito raro.
A entrega deve ser o endereço de um repositório com o código, instruções de compilação e instalação e exemplo de tela com o plugin funcionando. Utilize o repositório do Ocularium como referência. No caso de duplas, cadastre ambos no repositório.
Durante o curso, atualize seu quadro de tarefas, seu diário e repositório. Anote qualquer impedimento e entre em contato via fórum da semana ou mensagem individual via Moodle.
asdkjlfsfhaskf
A primeira tarefa da semana é divulgar o repositório do seu plugin e indicar a partir dele o quadro de tarefas, o diário mantido pela dupla e as releases disponíveis. No GitHub, utilizem o Readme, a Wiki e o Code > Releases, conforme exemplo do Ocularium. Esta tarefa deve ser realizada nesta semana.
A primeira tarefa da semana é responder um questionário que estará disponível no Moodle. Podem utilizar um editor de textos, mas atenção: a entrega final deve ser escrita à mão, com caneta ou lápis! Para entrega, enviem uma imagem da folha escrita.
A primeira tarefa da semana e a quinta tarefa do curso. O questionário trata de conceitos discutidos no material da semana passada.
Observações:
A segunda tarefa é organizar um teste funcional no plugin desenvolvido por sua dupla. Para tanto, é necessário criar uma release do seu próprio plugin e escrever as instruções de uso em um modelo de exemplo.
O plugin não precisa estar completo para ser testado. Basta que exista uma release mínima. Deve existir ao menos uma release nesta semana.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.