User Tools

Site Tools


courses:sdm2017:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

courses:sdm2017:main [2017/09/26 23:16]
tsay [Announcements]
courses:sdm2017:main [2020/03/03 12:39] (current)
tsay2 [Announcements]
Line 3: Line 3:
  
 ===== Announcements ===== ===== Announcements =====
 +  * next edition: [[http://​im.ntu.edu.tw/​~tsay/​dokuwiki/​doku.php?​id=courses:​sdm2020:​main&#​announcements|Software Development Methods 2020]]
 +  * 01/26: Grade Report available; contact Yih-Kuen Tsay by 5PM 01/27 if you have any question or request.
 +  * 12/27: slides for Logic, OCL, Automata-Based Model Checking, and Hoare Logic available.
 +  * 12/19: slides for Software Testing available.
 +  * 12/13: slides for Web Application Security available.
 +  * 11/28: slides for Design Patterns and some code examples available.
 +  * 11/28: slides for Bluemix and for Team Collaboration available.
 +  * 11/22: slides for Design Document and an example design document available.
 +  * 11/22: {{courses:​sdm2017:​hw4.pdf|HW#​4}} due 2PM 11/29.
 +  * 10/31: {{courses:​sdm2017:​hw3.pdf|HW#​3}} due 11/08.
 +  * 10/25: slides for Domain Modeling available.
 +  * 10/11: slides for Advanced Web Programming available.
   * 09/26: {{courses:​sdm2017:​termproject_draft20170926.pdf|Draft of Term Project}} available for discussions,​ to be finalized by 10/11.   * 09/26: {{courses:​sdm2017:​termproject_draft20170926.pdf|Draft of Term Project}} available for discussions,​ to be finalized by 10/11.
   * 09/26: slides for UML Diagrams available.   * 09/26: slides for UML Diagrams available.
Line 52: Line 64:
   * **Productivity Tools: Eclipse and EGit** ​ (1/3 week: 09/​20b) ​    ​[{{courses:​sdm2017:​Eclipse.pdf|Tips for Using Eclipse}}, {{courses:​sdm2017:​EGit.pdf|EGit:​ Git for Eclipse}}]   * **Productivity Tools: Eclipse and EGit** ​ (1/3 week: 09/​20b) ​    ​[{{courses:​sdm2017:​Eclipse.pdf|Tips for Using Eclipse}}, {{courses:​sdm2017:​EGit.pdf|EGit:​ Git for Eclipse}}]
   * **Software Modeling: UML Diagrams** (1 week: 09/27) \\ Structural modeling (//class diagrams, classifiers,​ interfaces, packages//​),​ behavioral modeling (//​interactions,​ use case diagrams, interaction diagrams, activity diagrams//​),​ architectural modeling (//​collaborations,​ deployment diagrams//) \\ advanced structural modeling (//object diagrams, components//​),​ advanced behavioral modeling (//events, state machines, processes and threads, timing constraints//​) \\ [{{courses:​sdm2017:​UML_diagrams.pdf|slides}}]   * **Software Modeling: UML Diagrams** (1 week: 09/27) \\ Structural modeling (//class diagrams, classifiers,​ interfaces, packages//​),​ behavioral modeling (//​interactions,​ use case diagrams, interaction diagrams, activity diagrams//​),​ architectural modeling (//​collaborations,​ deployment diagrams//) \\ advanced structural modeling (//object diagrams, components//​),​ advanced behavioral modeling (//events, state machines, processes and threads, timing constraints//​) \\ [{{courses:​sdm2017:​UML_diagrams.pdf|slides}}]
-  * **Software Implementation:​ Web Programming Pearls** (1 week: 10/11) [{{courses:​sdm2017:​WebProgrammingBasics.pptx|basics}}]+  * **Software Implementation:​ Web Programming Pearls** (1 week: 10/11) [{{courses:​sdm2017:​WebProgrammingBasics.pptx|basics}}, {{courses:​sdm2017:​WebProgrammingAdvanced.pptx|advanced}}]
   * **Term Project: Proposal Presentations** (1/3 week: 10/18a) \\   * **Term Project: Proposal Presentations** (1/3 week: 10/18a) \\
   * **Invited Talk** (2/3 week: 10/18b) \\ [{{courses:​sdm2017:​invitedtalk_softwaredevelopment.pdf|slides}}]   * **Invited Talk** (2/3 week: 10/18b) \\ [{{courses:​sdm2017:​invitedtalk_softwaredevelopment.pdf|slides}}]
Line 59: Line 71:
   * **Software Development Practice: Team Collaboration** (1/3 week: 11/08b) \\ Agile development process, Git-Flow best practices, continuous integration,​ and IBM experience\\ [{{courses:​sdm2017:​SoftwareEngineering.pdf|slides}}]   * **Software Development Practice: Team Collaboration** (1/3 week: 11/08b) \\ Agile development process, Git-Flow best practices, continuous integration,​ and IBM experience\\ [{{courses:​sdm2017:​SoftwareEngineering.pdf|slides}}]
   * **Term Project: First Preliminary Demos** (1/3 week: 11/22a) \\   * **Term Project: First Preliminary Demos** (1/3 week: 11/22a) \\
-  * **Software Development Practice: Design Document** (2/3 week: 11/22b) \\ High level design document, implementation level design document, user story (for Agile) \\+  * **Software Development Practice: Design Document** (2/3 week: 11/22b) \\ High level design document, implementation level design document, user story (for Agile) \\ [{{courses:​sdm2017:​DesignDocIntroduction.pdf|slides}},​ notes: {{courses:​sdm2017:​DesignDocSimpleExample.doc|An Example Design Document}}]
   * **Design Patterns** (2 weeks: 11/29, 12/06) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:​sdm2017:​DesignPatterns.pdf|slides}};​ {{courses:​sdm2017:​DesignPatternsExamples.zip|code examples}}] ​   * **Design Patterns** (2 weeks: 11/29, 12/06) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:​sdm2017:​DesignPatterns.pdf|slides}};​ {{courses:​sdm2017:​DesignPatternsExamples.zip|code examples}}] ​
   * **Term Project: Second Preliminary Demos** (1/3 week: 12/13a) \\    * **Term Project: Second Preliminary Demos** (1/3 week: 12/13a) \\ 
   * **Software Security: Web Application Security** (2/3 week: 12/13b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities,​ vulnerabilities detection and prevention \\ [{{courses:​sdm2017:​web_app_security.pptx|slides}}]   * **Software Security: Web Application Security** (2/3 week: 12/13b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities,​ vulnerabilities detection and prevention \\ [{{courses:​sdm2017:​web_app_security.pptx|slides}}]
   * **Software Verification:​ Testing** (1 week: 12/20) \\ [{{courses:​sdm2017:​software_testing.pptx|slides}}]   * **Software Verification:​ Testing** (1 week: 12/20) \\ [{{courses:​sdm2017:​software_testing.pptx|slides}}]
-  * **Software Modeling: Formal Logic and Correctness Requirements** (1/2 week: 12/27a) \\ Propositions,​ proofs, theorems, predicates, models\\ [{{courses:​sdm2017:​logic.pdf|slides}}] +  * **Software Modeling: Formal Logic and Correctness Requirements** (1/2 week: 12/27a) \\ Propositions,​ proofs, theorems, predicates, models\\ [{{courses:​sdm2017:​logic.pdf|slides}}] \\ Object Constraint Language (//relation with UML models, values, types, expressions, ​ objects, properties, collection operations//​)\\ [{{courses:​sdm2017:​OCL.pptx|slides}}] 
-  * **Software Modeling: OCL or Alloy** (1/2 week: 12/​27b) ​\\ Object Constraint Language (//relation with UML models, values, types, expressions, ​ objects, properties, collection operations//​) \\ [{{courses:​sdm2017:​OCL.pptx|slides}}]\\ ​Software modelingsimulation, and checking ​\\ [{{courses:​sdm2017:​Alloy.pdf|slides}}]+  * **Software Verification:​ Formal Verification** (1/2 week: 12/​27b) ​\\ Automata-based model checkinglinear temporal logicSpin (//Promela, never-claims//​) \\ [{{courses:​sdm2017:​automata_based_model_checking.pdf|slides}}]\\ Axiomatic semantics of programs (//​assertions,​ pre/​post-conditions,​ invariants//​),​ partial ​and total correctness ​\\ [{{courses:​sdm2017:​hoare_logic.pdf|slides}}]
   * **Term Project: Final Presentations (2018/​01/​03)**   * **Term Project: Final Presentations (2018/​01/​03)**
   * **Final Exam (2018/​01/​10)**   * **Final Exam (2018/​01/​10)**
courses/sdm2017/main.1506438998.txt.gz · Last modified: 2017/09/26 23:16 by tsay