{"id":984,"date":"2019-07-29T13:05:07","date_gmt":"2019-07-29T16:05:07","guid":{"rendered":"http:\/\/web.inf.ufpr.br\/didonet\/?page_id=984"},"modified":"2019-12-11T17:52:23","modified_gmt":"2019-12-11T19:52:23","slug":"ci1163-2019-2","status":"publish","type":"page","link":"https:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/","title":{"rendered":"CI1163 2019 2"},"content":{"rendered":"\n<h3>CI1163 &#8211; Design de software<br \/>CI0163 &#8211; Projeto de Software<\/h3>\n<p><strong data-rich-text-format-boundary=\"true\">Segundo Semestre de 2019<\/strong><\/p>\n<p>P\u00e1gina com informa\u00e7\u00f5es gerais da disciplina: ementa, datas das provas, bibliografia, exerc\u00edcios, etc.<\/p>\n<h3>Avisos<\/h3>\n<h3><strong>====================<\/strong><\/h3>\n<ul>\n<li>Resultado <a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-2019-2-avaliacoes\/\">final dispon\u00edvel.<\/a><\/li>\n<li><em>Para alunos que participar\u00e3o do LATINOWARE<\/em>: a prova substitutiva ser\u00e1 realizada dia 04\/dezembro, as 15h30, na sala CT-03.<\/li>\n<li>Dia 08\/11: <strong>aula pr\u00e1tica no LAB12<\/strong><\/li>\n<li><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-2019-2-avaliacoes\/\">Notas da prova 1 dispon\u00edveis.<\/a><\/li>\n<li>Especifica\u00e7\u00e3o do <a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-trabalho-2019-2\/\"><strong>trabalho 2 <\/strong>dispon\u00edvel <strong>neste link.<\/strong><\/a><\/li>\n<li>Dia 11\/10 &#8211; aula pr\u00e1tica no <strong>LAB12. <\/strong><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/exercicios-diagrama-de-sequencia\/\">Exerc\u00edcios sobre diagrama de sequ\u00eancia<\/a><\/li>\n<li>\u00a0<\/li>\n<li><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-2019-2-avaliacoes\/\">Notas do trabalho 1 dispon\u00edvels neste link<\/a>.<\/li>\n<li>\u00a0<\/li>\n<li>Dia 02\/10 &#8211; n\u00e3o haver\u00e1 aula<strong><br \/><\/strong><\/li>\n<li>P\u00e1gina com organiza\u00e7\u00e3o detalhada do conte\u00fado est\u00e1 dispon\u00edvel <a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-organizacao-do-conteudo\/\">neste link<\/a>.<\/li>\n<li>Dia 13\/09 &#8211; aula pr\u00e1tica no <strong>LAB12<br \/><\/strong><\/li>\n<li>A especifica\u00e7\u00e3o do trabalho 1 est\u00e1 dispon\u00edvel neste link: <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/13h-bvjlyu2v38x0SJbruS15RhafuyEwApezgcVfPb80\/edit?usp=sharing\">https:\/\/docs.google.com\/spreadsheets\/d\/13h-bvjlyu2v38x0SJbruS15RhafuyEwApezgcVfPb80\/edit?usp=sharing<\/a><\/li>\n<\/ul>\n<h3><strong>====================<\/strong><\/h3>\n<p>\u00a0<\/p>\n<h3><strong>Material de aula<\/strong><\/h3>\n<p><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci1163-2019-2\/ci1163-organizacao-do-conteudo\/\">Organiza\u00e7\u00e3o do conte\u00fado detalhada, por t\u00f3pico e com bibliografia<\/a><\/p>\n<p><strong>Material complementar<\/strong><\/p>\n<p>Abaixo h\u00e1 uma lista de bom material complementar que pode ser usado como suporte para a disciplina, al\u00e9m da bibliografia.<\/p>\n<ul>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/SOFTua10.pdf\">Resumo de projeto de software<\/a>, <a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/ci163_DSS_e_Contratos.pdf\">Diagramas de sequ\u00eancia de sistema<\/a>, <a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/ci163_Diag_interacao_Notacao.pdf\">Diagramas de intera\u00e7\u00e3o<\/a> (prof. Andrey)<\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/IntroduzProjetoAl.pdf\">Introdu\u00e7\u00e3o a projeto de software<\/a>, <a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/IntroduzArquiteturaAl.pdf\">Introdu\u00e7\u00e3o \u00e0 Arquitetura<\/a>, <a href=\"http:\/\/www.inf.ufpr.br\/andrey\/ci163\/EstilosAl.pdf\">Estilos arquiteturais<\/a>, (prof. Silvia)<\/li>\n<li><a href=\"https:\/\/iansommerville.com\/software-engineering-book\/slides\/\">Slides do Sommerville<\/a>, (cap\u00edtulos 6 (arquitetura) e 18 (Service-oriented Architecture) )<\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/microservicos.pdf\">Microservi\u00e7os:<\/a> resumo<\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/mvcci1163.pdf\">Slides sobre MVC<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/padraoOrientadoObjetos.pdf\">Padr\u00e3o orientado a objetos e UML<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/exercicios_UML.pdf\">Exerc\u00edcios Diagrama de classes<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/exercicios_p1.pdf\">Exerc\u00edcios para prova 1<\/a><\/li>\n<li><a href=\"https:\/\/mdse-book.com\/bonus-content\/\">Slides do Livro<\/a> Model Driven Engineering in Practice:\n<ul>\n<li>Cap\u00edtulos 7 (desenvolvendo sua linguagem de projeto), 8 (gera\u00e7\u00e3o de c\u00f3digo) e 10 (gest\u00e3o de diferentes tipos de modelos)<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/exercicios-diagrama-de-sequencia\/\">Exerc\u00edcios sobre diagrama de sequ\u00eancia<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/disciplinas\/exercicios_p21163.pdf\">Exerc\u00edcios para a prova 2<\/a><\/li>\n<li>Slides com decis\u00f5es de projeto do <a href=\"http:\/\/www.inf.ufpr.br\/didonet\/files\/ensalamento_projeto.pdf\">sistema de ensalamento<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/files\/principios_SOLID.pdf\">Princ\u00edpios SOLID<\/a><\/li>\n<li><a href=\"http:\/\/www.inf.ufpr.br\/didonet\/files\/Resumo_Loopback3.pdf\">Resumo estrutura de projeto &#8211; Loopback 3.0<\/a><\/li>\n<\/ul>\n<p><strong>Cria\u00e7\u00e3o de modelos e metamodelos para um projeto de software<br \/><\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/web.inf.ufpr.br\/didonet\/teaching-disciplinas\/ci765-2017-2\/criacao-de-metamodelos-ecore\/\">Exerc\u00edcios pr\u00e1ticos para cria\u00e7\u00e3o de modelos e metamodelos<\/a> em um projeto<\/li>\n<\/ul>\n<p><strong>Cria\u00e7\u00e3o de diagramas de sequ\u00eancia usando os plug-ins Papyrus (Eclipse)<\/strong><\/p>\n<ul>\n<li>Executar o Eclipse a partir do seu home: \/home\/soft\/linux\/eclipsemodeling\/eclipse\/eclipse -vm \/usr\/lib\/jvm\/java-8-oracle\/bin\/<\/li>\n<li>Criar um novo &#8220;Papyrus Project&#8221; , escolher um nome para o projeto, e selecionar &#8220;Sequence Diagrams&#8221;. A paleta de elementos poss\u00edveis encontra-se \u00e0 direita do editor\n<ul>\n<li>A partir desse ponto a cria\u00e7\u00e3o de diagramas pode iniciar.<\/li>\n<\/ul>\n<\/li>\n<li>Outros diagramas UML tamb\u00e9m podem ser criados usando este editor. Selecionar: Novo -&gt; &#8220;Papyrus Model&#8221;: estar\u00e1 dispon\u00edvel para sele\u00e7\u00e3o todos os modelos suportados.<\/li>\n<\/ul>\n<p><strong>Executando o Loopback (3 e 4) nos servidores do Departamento\u00a0<\/strong><\/p>\n<ul>\n<li>Baixar o NodeJs vers\u00e3o 8.9 ou superior: <a href=\"https:\/\/nodejs.org\/download\/release\/v8.9.2\/\">https:\/\/nodejs.org\/download\/release\/v8.9.2\/\u00a0<\/a> Escolher o arquivo <a href=\"https:\/\/nodejs.org\/download\/release\/v8.9.2\/node-v8.9.2-linux-x64.tar.gz\">node-v8.9.2-linux-x64.tar.gz<\/a>\n<ul>\n<li>curl https:\/\/nodejs.org\/download\/release\/v8.9.2\/node-v8.9.2-linux-x64.tar.gz -o node.tar.gz<\/li>\n<li>tar -zxvf node.tar.gz<\/li>\n<\/ul>\n<\/li>\n<li>O diret\u00f3rio de execu\u00e7\u00e3o dos 2 pr\u00f3ximos comandos ser\u00e1 o &lt;dir_descompactado&gt;\/bin. O diret\u00f3rio de execu\u00e7\u00e3o pode ser outro, desde que os bin\u00e1rios do node estejam no PATH\n<ul>\n<li>cd node-v8.9.2-linux-x64\/bin\u00a0<\/li>\n<li>export PATH=${PATH}:${PWD}<\/li>\n<li>.\/npm init<\/li>\n<li>.\/npm i loopback-cli &#8211;&gt; para instalar o Loopback 3, ou .\/npm i @loopback\/cli, para Loopback 4<\/li>\n<li>export PATH=${PATH}:${PWD}\/node_modules\/.bin\/<\/li>\n<\/ul>\n<\/li>\n<li>Executar &#8220;lb&#8221;, e escolher um nome de projeto\n<ul>\n<li>Escolher o exemplo &#8220;hellor world&#8221;, ou seguir as instru\u00e7\u00f5es do &#8220;Getting Started&#8221; para uma aplica\u00e7\u00e3o mais completa<\/li>\n<\/ul>\n<ul>\n<li>Executar o &#8220;npm start&#8221; dentro do diret\u00f3rio do projeto criado pelo lb<\/li>\n<\/ul>\n<\/li>\n<li>Para executar as op\u00e7\u00f5es do <strong>LB, <\/strong>verificar a documenta\u00e7\u00e3o do Loopback\n<ul>\n<li>Principal op\u00e7\u00e3o : <strong>lb model,\u00a0<\/strong>para criar novas classes<\/li>\n<li>Vers\u00e3o 3.x<a href=\"https:\/\/loopback.io\/doc\/en\/lb3\/Getting-started-with-LoopBack.html\">\u00a0https:\/\/loopback.io\/doc\/en\/lb3\/Getting-started-with-LoopBack.html<\/a>\n<ul>\n<li>Exemplos iniciais: https:\/\/loopback.io\/doc\/en\/lb3\/Getting-started-with-LoopBack.html<\/li>\n<\/ul>\n<\/li>\n<li>Vers\u00e3o 4: <a href=\"https:\/\/loopback.io\/doc\/en\/lb4\/\">https:\/\/loopback.io\/doc\/en\/lb4\/<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Problemas comuns\n<ul>\n<li>Estouro de quota: excluir arquivos<\/li>\n<li>Node j\u00e1 instalado com outra vers\u00e3o: excluir diret\u00f3rio HOME\/.npm<\/li>\n<li>Caso n\u00e3o encontre o db.datasource.json ao executar:\n<ul>\n<li>Copiar o arquivo de src\/datasources\/db.datasources.json para dist\/datasources\/.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Exemplo de diagrama para ser implementado: <a href=\"http:\/\/www.inf.ufpr.br\/didonet\/files\/diagrama_ensalamento.png\">Diagrama do ensalamento<\/a><\/li>\n<\/ul>\n<p><strong>Hor\u00e1rio <\/strong><\/p>\n<ul>\n<li><strong>Quartas<\/strong>: 15:30h \u2013 ct03<\/li>\n<li><strong>Sextas<\/strong>: 15:30h \u2013 ct03<\/li>\n<\/ul>\n<p><strong>Ensalamento<\/strong><\/p>\n<p><a href=\"http:\/\/ensalamento.c3sl.ufpr.br\/?tipo=nd&amp;disciplina=ci163\">http:\/\/ensalamento.c3sl.ufpr.br\/?tipo=nd&amp;disciplina=ci163<\/a><\/p>\n<p><strong>Datas<\/strong><\/p>\n<ul>\n<li><strong>Trabalho\u00a01<\/strong>: 27 de setembro de 2019\n<ul>\n<li>A especifica\u00e7\u00e3o do trabalho 1 est\u00e1 dispon\u00edvel neste link: <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/13h-bvjlyu2v38x0SJbruS15RhafuyEwApezgcVfPb80\/edit?usp=sharing\">https:\/\/docs.google.com\/spreadsheets\/d\/13h-bvjlyu2v38x0SJbruS15RhafuyEwApezgcVfPb80\/edit?usp=sharing<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Trabalho 2: <\/strong>20 de novembro de 2019<\/li>\n<li><strong>Prova 1 <\/strong>: 09.outubro.2019<\/li>\n<li><strong>Prova 2 <\/strong>: 29.novembro.2019<\/li>\n<li><strong>Final <\/strong>: 11.dezembro.2019<\/li>\n<li><strong>Segunda chamada e reaproveitamento<\/strong>: 11.dezembro.2019<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<h3><strong>Avalia\u00e7\u00e3o<\/strong><\/h3>\n<ul>\n<li>Duas provas e 2 trabalhos (ver datas acima).<\/li>\n<li>C\u00e1lculo da M\u00e9dia Parcial: T1*0.20+\u00a0 P1*0.30 +T2*0,30+ P2*0.20<\/li>\n<li>C\u00e1lculo da m\u00e9dia final:\n<ul>\n<li>igual \u00e0 m\u00e9dia parcial, se esta \u00e9 igual ou superior a 7.0 ou inferior a 4.0,<\/li>\n<li>m\u00e9dia aritm\u00e9tica entre a m\u00e9dia parcial e a nota no exame final, caso contr\u00e1rio.<\/li>\n<li>Ser\u00e1 aprovado o aluno que apresentar freq\u00fc\u00eancia m\u00ednima igual ou superior a 75% das aulas e obtiver m\u00e9dia final igual ou superior a 5.0.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><strong>Bibliografia<\/strong><\/h3>\n<ul>\n<li><strong>Model-Driven Software Engineering in Practice\u00a0<\/strong>by\u00a0<em>Marco Brambilla, Jordi Cabot, Manuel Wimmer\u00a0<\/em>Morgan &amp; Claypool, 2012,\u00a0182 pages<\/li>\n<li>Larman, C. <em>Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design<\/em> Prentice-Hall, New Jersey \u2013 USA, 1997<\/li>\n<li>Bezerra, E. <em>Princ\u00edpios de An\u00e1lise e Projeto de Sistemas com UML.<\/em> Ed. Campus \u2013 Elsevier, Rio de Janeiro, 2007<\/li>\n<li>Pressman, R.B. <em>Engenharia de Software: Uma Abordagem Profissional<\/em> Bookman McGraw-Hill, Sexta Edi\u00e7\u00e3o, 2011, Porto Alegre, RS<\/li>\n<li>Booch, G.; Rumbaugh, J. and Jacobson, I., <em>The Unified Modeling Language User Guide<\/em>. Addison-Wesley, 1999<\/li>\n<li>Garlan, D., <em>Software Architecture: a Roadmap<\/em>. Carnegie Mellon University, 2000. CMU-CS-94-166<\/li>\n<li>Wazlawick, R.S. <em>Engenharia de Software: Conceitos e Pr\u00e1ticas<\/em> Elsevier, Rio de Janeiro, RJ, 2013<\/li>\n<li>Sommerville, I., <em>Software Engineering<\/em>. Addison-Wesley, 1996<\/li>\n<li>Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides. Padr\u00f5es de Projeto: Solu\u00e7\u00f5es Reutiliz\u00e1veis de Software Orientado a objetos. Bookman<\/li>\n<li>(o mesmo livro acima em ingl\u00eas) Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides. Elements of Reusable Object-Oriented Software. Addison-Wesley Professional;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":21,"featured_media":0,"parent":31,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-984","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/pages\/984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/comments?post=984"}],"version-history":[{"count":42,"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/pages\/984\/revisions"}],"predecessor-version":[{"id":1199,"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/pages\/984\/revisions\/1199"}],"up":[{"embeddable":true,"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/pages\/31"}],"wp:attachment":[{"href":"https:\/\/web.inf.ufpr.br\/didonet\/wp-json\/wp\/v2\/media?parent=984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}