100 likes | 174 Views
Module 1.2: Software systems. Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013. Global structure. Global structure. Integrated presentation of design & programming Design line: models & process
E N D
Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013
Global structure Module 1.2: Software systems
Global structure Module 1.2: Software systems Integrated presentation of design & programming • Design line: models & process • Mostly taught in first 3 weeks (HC + practical) • Project in week 4 • Bennett, McRobb & Farmer. Object Oriented Systems Analysis and Design using UML • Programming line: Java • Mostly taught in weeks 5-8 (HC + practical) • Project in weeks 9-10, includes design elements • Niño & Hosch. An Introduction to Programming and Object-Oriented Design using Java • Additional material • Tooling (Eclipse + Visual Paradigm) + reader
Cross-cutting concerns Module 1.2: Software systems • System development • Software management: UML diagrams, Waterfall model • Testing: test plan, unit testing • Specification and validation: JML, Programming by Contract, loop invariants • Concurrency • Java threads, network programming with sockets • Security • Java Security Framework • Academic skills • Self-management & planning
Assessment Module 1.2: Software systems • Conditional elements (must do – no grade) • Practical exercises • Academic skills • Knowledge (KEN) marks: individual written exams • Mathematics test • Design test • Programming test • Project (PRET) marks • Design project (groups of 4 students) • Programming project (groups of 2 students) • Resits/supplements in final week
Strong/weak points Module 1.2: Software systems What are we proud of? • Integration of design + programming • Gain with respect to current curriculum • Nationally (& internationally?) unique • Scheduling & assessment • Conditional practical exercises (no “traditional” exercise sessions!) • Written tests + projects Risks + missed opportunities • Overload • 10 weeks too short for really acquiring skills • Integration of mathematic line
Questions and/or suggestions? Module 1.2: Software systems
Academic skills Module 1.2: Software systems • Theme: Self-management and planning • Week 1: lecture on learning styles, own schema and discussion • Week 2: time accounting (studying, sleeping, eating, etc.) • Week 3: peer feedback on time accounting • Week 4: Individual planning for D-project (SMART planning) • Week 5: Reflection on planning • Week 10: Reflection on realisation of planning
Design line Module 1.2: Software systems Information systems design, software development process Class diagrams Activity diagrams Requirements capturing and use cases Requirements analysis: static models, object interactions Statechart diagrams Software architectures Design patterns Software metrics Object constraints (OCL)
Programming line Module 1.2: Software systems Classes and objects Programming by contract, introduction to JML, testing Abstraction and inheritance Interfaces and abstract classes Lists, Generics and collections MVC, GUI, Exceptions Parallel and network programming Security framework