Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink,...

10
Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013

Transcript of Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink,...

Page 1: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Module 1.2: Software systems

Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel

28 February 2013

Page 2: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Global structure

28 Feb 2013Module 1.2: Software systems

Page 3: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Global structure

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

28 Feb 2013Module 1.2: Software systems

Page 4: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Cross-cutting concerns

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

28 Feb 2013Module 1.2: Software systems

Page 5: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Assessment

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

28 Feb 2013Module 1.2: Software systems

Page 6: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Strong/weak points

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

28 Feb 2013Module 1.2: Software systems

Page 7: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

28 Feb 2013Module 1.2: Software systems

Questions and/or suggestions?

Page 8: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Academic skills

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

28 Feb 2013Module 1.2: Software systems

Page 9: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Design line

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)

28 Feb 2013Module 1.2: Software systems

Page 10: Module 1.2: Software systems Luís Ferreira Pires, Marieke Huisman, Jan Kamphuis, Arend Rensink, Klaas Sikkel 28 February 2013.

Programming line

1. Classes and objects

2. Programming by contract, introduction to JML, testing

3. Abstraction and inheritance

4. Interfaces and abstract classes

5. Lists, Generics and collections

6. MVC, GUI, Exceptions

7. Parallel and network programming

8. Security framework

28 Feb 2013Module 1.2: Software systems