This shows you the differences between two versions of the page.
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 modeling, simulation, and checking \\ [{{courses:sdm2017:Alloy.pdf|slides}}] | + | * **Software Verification: Formal Verification** (1/2 week: 12/27b) \\ Automata-based model checking, linear temporal logic, Spin (//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)** |