This shows you the differences between two versions of the page.
courses:sdm2015:main [2015/10/07 14:02] tsay [Announcements] |
courses:sdm2015:main [2016/05/04 11:21] (current) tsay [Announcements] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Announcements ===== | ===== Announcements ===== | ||
+ | * 02/14: Grade Report available; contact Yih-Kuen Tsay by 5PM 02/15 if you have any question or request. | ||
+ | * 12/30: slides for Automata-Based Model Checking available. | ||
+ | * 12/23: slides for Logic and OCL available. | ||
+ | * 12/16: slides for the invited talk today available. | ||
+ | * 12/16: slides for Software Testing available. | ||
+ | * 12/02: slides for Web Application Security available. | ||
+ | * 12/02: slides for Design Document and an example design document available. | ||
+ | * 11/20: slides for Design Patterns and some code examples available. | ||
+ | * 11/11: {{courses:sdm2015:termproject_dbcore.pdf|Draft of the Common Core of the Alumni Database}} revised (again 11/18). | ||
+ | * 11/11: Term Project {{courses:sdm2015:termproject.pdf|finalized}}. | ||
+ | * 11/11: slides for Team Collaboration and for Bluemix available. | ||
+ | * 11/04: Draft of Term Project (announced 10/01) {{courses:sdm2015:termproject_draft20151104.pdf|revised}}, to be finalized today (or tomorrow). | ||
+ | * 11/04: {{courses:sdm2015:termproject_dbcore.pdf|Draft of the Common Core of the Alumni Database}} available for discussions. | ||
+ | * 10/21: {{courses:sdm2015:hw4.pdf|HW#4}} due 11/02 (design document) and 11/04 (demo). | ||
+ | * 10/14: slides for Data Modeling available. | ||
+ | * 10/10: {{courses:sdm2015:hw3.pdf|HW#3}} due 10/15. | ||
* 10/07: slides for UML Diagrams available. | * 10/07: slides for UML Diagrams available. | ||
* 10/01: {{courses:sdm2015:termproject_draft20150930.pdf|Draft of Term Project}} available for discussions, to be finalized in three weeks. | * 10/01: {{courses:sdm2015:termproject_draft20150930.pdf|Draft of Term Project}} available for discussions, to be finalized in three weeks. | ||
Line 61: | Line 77: | ||
* **Software Modeling: UML Diagrams** (1 week: 10/07a, 11/04a) \\ 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:sdm2015:UML_diagrams.pdf|slides}}] | * **Software Modeling: UML Diagrams** (1 week: 10/07a, 11/04a) \\ 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:sdm2015:UML_diagrams.pdf|slides}}] | ||
* **Term Project Discussions** (.5 week: 10/07b) \\ | * **Term Project Discussions** (.5 week: 10/07b) \\ | ||
- | * **Software Modeling: Data Modeling** (2 weeks: 10/14, 10/28) \\ Domain Model: What and How (Abstract Models, Notations and Constructs, Basic Business Logics, Crossing Domains, Layers of Abstraction), Common Patterns, with Group Exercises and Discussions \\ [slides: {{courses:sdm2015:EnterpriseDataModeling.pptx|Enterprise Data Modeling}}, {{courses:sdm2015:DomainModel.pptx|Domain Model}}, {{courses:sdm2015:DomainModelPatterns.ppt|Common Patterns}}] | + | * **Software Modeling: Data Modeling** (2 weeks: 10/14, 10/28) \\ Domain Model: What and How (Abstract Models, Notations and Constructs, Basic Business Logics, Crossing Domains, Layers of Abstraction), Common Patterns, with Group Exercises and Discussions \\ [{{courses:sdm2015:DomainModel.pptx|slides}}] |
- | * **Software Development Practice: Team Collaboration** (.5 week: 10/21a) \\ Agile Development Process (Basic Ideas, Eclipse Way, OpenUp, Scrum), Team Collaboration (Version Control, Issues Tracking, Rational Team Concert), Continuous Integration (Basic Ideas, CruiseControl), IBM Experience \\ [{{courses:sdm2015:SoftwareEngineering.pdf|slides}}] | + | * **Software Development Practice: Team Collaboration** (.5 week: 10/21a) \\ Agile Development Process, Team Collaboration (Version Control, Issues Tracking, Rational Team Concert), Continuous Integration, and IBM Experience \\ [{{courses:sdm2015:SoftwareEngineering.pdf|slides}}] |
- | * **Software Development Practice: Cloud Application Development with IBM Bluemix** (.5 week: 10/21b) \\ Overview of Open Source project CloudFoundry and IBM Bluemix, Rapid Cloud Application Development with Composable Cloud Services, Integration with JazzHub (A web-based IDE and Git-Based version control system), Demo -- building scalable cloud applications in minutes \\ [{{courses:sdm2015:bluemix.pdf|slides}}; websites: [[http://http://bluemix.net/|Bluemix]], [[http://http://https://hub.jazz.net/|JazzHub]], [[http://theleanstartup.com/|The Lean Startup]]; inspiring article: [[http://www.economist.com/news/special-report/21593580-cheap-and-ubiquitous-building-blocks-digital-products-and-services-have-caused|A Cambrian moment]]] | + | * **Software Development Practice: Next Generation Developer and Cloud Applications** (.5 week: 10/21b) \\ Overview of Open Source Projects CloudFoundry and IBM Bluemix, Rapid Cloud Application Development with Composable Cloud Services, API Economics for the new generation of developers \\ [{{courses:sdm2015:bluemix.pdf|slides}}; websites: [[http://http://bluemix.net/|Bluemix]], [[http://http://https://hub.jazz.net/|JazzHub]]; inspiring article: [[http://www.economist.com/news/special-report/21593580-cheap-and-ubiquitous-building-blocks-digital-products-and-services-have-caused|A Cambrian moment]]] |
* **Term Project Discussions** (.5 week: 11/04b) \\ | * **Term Project Discussions** (.5 week: 11/04b) \\ | ||
* **Design Patterns** (2 weeks: 11/11, 11/18) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:sdm2015:DesignPatterns.pdf|slides}}; {{courses:sdm2015:CodeExamples.zip|code examples}}] | * **Design Patterns** (2 weeks: 11/11, 11/18) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:sdm2015:DesignPatterns.pdf|slides}}; {{courses:sdm2015:CodeExamples.zip|code examples}}] | ||
- | * **Term Project Discussions** (.5 week: 11/25a) \\ | + | * **Software Development Practice: Design Document** (.5 week: 11/25a) \\ High level design document, implementation level design document, user story (for Agile) \\ [{{courses:sdm2015:DesignDocIntroduction.pdf|slides}}, notes: {{courses:sdm2015:DesignDocExample.doc|An Example Design Document}}] |
- | * **Software Development Practice: Design Document** (.5 week: 11/25b) \\ High level design document, implementation level design document, user story (for Agile) \\ [{{courses:sdm2015:DesignDocIntroduction.pdf|slides}}, notes: {{courses:sdm2015:DesignDocExample.doc|An Example Design Document}}] | + | * **Term Project Discussions** (.5 week: 11/25b) \\ |
- | * **Software Security: Web Application Security** (1 week: 12/02) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2015:web_app_security.pdf|slides}}] | + | * **Software Security: Web Application Security** (1 week: 12/02) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2015:web_app_security.pptx|slides}}] |
- | * **Software Verification: Testing** (1 week: 12/09) \\ | + | * **Software Verification: Testing** (1 week: 12/09) \\ [{{courses:sdm2015:software_testing.pptx|slides}}] |
- | * **Term Project Discussions** (.5 week: 12/16a) \\ | + | * **Term Project Discussions** (.5 week: 12/16a) \\ |
- | * **Invited Talk** (.5 week: 12/16b) \\ | + | * **Invited Talk** (.5 week: 12/16b) \\ [{{courses:sdm2015:invitedtalk_softwaredevelopment.pdf|slides}}] |
* **Software Modeling: Formal Logic and Correctness Requirements** (.5 week: 12/23a) \\ Propositions, proofs, theorems, predicates, models\\ [{{courses:sdm2015:logic.pdf|slides}}] | * **Software Modeling: Formal Logic and Correctness Requirements** (.5 week: 12/23a) \\ Propositions, proofs, theorems, predicates, models\\ [{{courses:sdm2015:logic.pdf|slides}}] | ||
- | * **Software Modeling: OCL or Alloy** (.5 week: 12/23b) \\ Object Constraint Language (//relation with UML models, values, types, expressions, objects, properties, collection operations//) \\ [{{courses:sdm2015:OCL.pdf|slides}}; notes: {{courses:sdm2015:OCL_examples.pdf|OCL Examples}}]\\ Software modeling, simulation, and checking \\ [{{courses:sdm2013:Alloy.pdf|slides}}] | + | * **Software Modeling: OCL or Alloy** (.5 week: 12/23b) \\ Object Constraint Language (//relation with UML models, values, types, expressions, objects, properties, collection operations//) \\ [{{courses:sdm2015:OCL.pptx|slides}}]\\ Software modeling, simulation, and checking \\ [{{courses:sdm2013:Alloy.pdf|slides}}] |
* **Software Verification: Formal Verification** (1 week: 12/30) \\ Automata-based model checking, linear temporal logic, Spin (//Promela, never-claims//) \\ [slides: {{courses:sdm2015:automata_based_model_checking.pdf|Automata-Based Model Checking}}, {{courses:sdm2015:temporal_logic_and_automata.pdf|Temporal Logic and Automata}}] \\ Axiomatic semantics of programs (//assertions, pre/post-conditions, invariants//), partial and total correctness \\ [{{courses:sdm2015:hoare_logic.pdf|slides}}; notes: {{courses:sdm2015:hoare_logic_rules.pdf|Rules of Hoare Logic}}, {{courses:sdm2014:hoare_logic_proofs.pdf|Proofs with Hoare Logic}}] | * **Software Verification: Formal Verification** (1 week: 12/30) \\ Automata-based model checking, linear temporal logic, Spin (//Promela, never-claims//) \\ [slides: {{courses:sdm2015:automata_based_model_checking.pdf|Automata-Based Model Checking}}, {{courses:sdm2015:temporal_logic_and_automata.pdf|Temporal Logic and Automata}}] \\ Axiomatic semantics of programs (//assertions, pre/post-conditions, invariants//), partial and total correctness \\ [{{courses:sdm2015:hoare_logic.pdf|slides}}; notes: {{courses:sdm2015:hoare_logic_rules.pdf|Rules of Hoare Logic}}, {{courses:sdm2014:hoare_logic_proofs.pdf|Proofs with Hoare Logic}}] | ||
* **Term Project Presentations (2016/01/06)** | * **Term Project Presentations (2016/01/06)** |