eva trosborgslide no.: 1introduktion to object oriented software engineering introduktion to object...

54
Eva Trosborg Slide no.: 1 Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda • Teacher: Eva Trosborg The goal of this module What is System Development? .. System Development models System Development methods by Eva Trosborg

Upload: brennan-gumbs

Post on 02-Apr-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 1Introduktion to Object Oriented Software Engineering

Introduktion to Object Oriented Software Engineering

Fall 2005

Agenda• Teacher: Eva Trosborg• The goal of this module• What is System Development? ..• System Development models• System Development methods

by

Eva Trosborg

Page 2: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 2Introduktion to Object Oriented Software Engineering

After this lesson you should :

• Have an overview of the module Object Oriented Software Engineering, the project and the exam

• Be able to explain the typical phases in a System development project.

• Be able to argument for different system development models, advantages and disadvantages

Page 3: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 3Introduktion to Object Oriented Software Engineering

Eva Trosborg – Who is she?• Working experience

– IBM (Danmark og France)

– PS-Data A/S - PS-Engineering - PS-Informatic

– Nordania Leasing / Danske Bank

– PBS

– Dansk Arbejdsgiver Forening

– Niels Brock, Datamatikeruddannelsen – Shanghai Finance University - ITU

• Teori

– Cand Scient i Datalogi

– HD i Organisation

– Lederuddannelser IBM og DA ++

– MBA - CBS

• Privat

Page 4: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 4Introduktion to Object Oriented Software Engineering

Carsten Buhl Frederiksen – Our Instructor

• Working experience

• Teori– Cand Scient i Datalogi

Page 5: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 5Introduktion to Object Oriented Software Engineering

Goal for this module (1/2)When the module ends you should be able to:1. Explain the typical activities in a Software development

process and discuss the advantages and disadvantahges of different software development models.

2. Analyse a given situation and write a simple requirement specification for a smaller software system using object oriented techniques such as use case diagrams.

3. Develop and document an overall architectural design of a smaller software system with the help of object oriented techniques such as interaction diagrams, class diagrams and package diagrams.

4. Develop and document a detailed design with the help of object oriented techniques.

Page 6: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 6Introduktion to Object Oriented Software Engineering

Goal for this module (2/2)

5. Implement (a part of) the detailed design6. Design a test strategy and test the software in respect

to the requirements and the design specification (corresponding to high-level testing typically called integration testing and acceptance testing)

7. Explain configuration management and organize version management in a smaller project

8. Discuss quality management as well as plan and implement quality reviews in a smaller project.

9. Reflect on the usefulness of methods, techniques and diagrames for specific development context

Page 7: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 7Introduktion to Object Oriented Software Engineering

The way the module is run

• Many different topics – a ballance between getting an overview but also producing a result and reflections on the process.

• The module are based on dialog, practical experiments, groupwork and report writting. A module where you have to attend.

• It is an introdutionary module, where the ability to analyses, design, implement and reflect is evaluated higher than the ability to repeat and understand every detail in what is written in the books .

• Based on the students work with development and report for the selected case.

Page 8: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 8Introduktion to Object Oriented Software Engineering

Literature

– Craig Larman (2004). Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice-Hall.

– …

Page 9: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 9Introduktion to Object Oriented Software Engineering

Process of the exam• The examination takes place January 5th. – 7th. 2006. • The exam is individual and without preparation • The 30 minutes for each student. The examination is based on the

project report and takes the process related task each student has been responsible for into account. The project report provide a base for the examiners to start the questioning. Though the quality of the report is not determining the grading, it of course gives an indication. den studerende fremlægger projekt rapport,

• 5 – 10 min questions to the project (if the student allows, it can be an integrated part of the presentation)

• 5 – 10 min At the exam you are drawing a question concerning the curriculum. Try to connect the project, the goals of the module and a practical problem for the student or a role / situation to be handled. The important is to be able to reflect, analysis not just describe and repeat.

• The grading is according to the 13-grade scale. The grade expresses the evaluation of the report, the reflection on the process-oriented task by the student and the oral examination. The project itself is not graded.

• 5 – 10 minutes for grading and entrance of the next student.• Examples of exam questions will be available later on the module

homepage.

Page 10: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 10Introduktion to Object Oriented Software Engineering

Example could be:

Exam question #3 to Object Oriented System Engeneering Januar 2006

Design principles and architecture

You have been asked to explain 2 principles in design: Low Coupling and High Cohesion? Give some examples where Low Coupling and High Cohesion can be beneficial?

Page 11: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 11Introduktion to Object Oriented Software Engineering

Another question could be like:

Exam question #6 to Object Oriented System Engeneering Januar 2006

Quality Management

Try to imagine you are employed in one of the largest banks IT-department in Denmark. Every year the bank are running 40 – 50 projects which last around 12 month, there are typically 25 users and developers involved. At the top of this the bank run 5 – 7 strategically important projects (50 – 200) involved lasting in average 18 months. Your boss has been on a course and was told that Danish companies should make more quality reviews. He is a little confused – what is it ? and have asked you to explain.

What is a quality-review?How would you suggest the bank could organize quality reviews?

Page 12: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 12Introduktion to Object Oriented Software Engineering

Practice

• Lectures, guest teachers and student presentation – Fridays 9.00 – 11.45, room 3A14

• Supervision – Fridays 13.00 – 16.00, 3A14, 3A58,

3A60, 4A44, 4A46, 4A62, 4A64• Module homepage under construction• E-mail [email protected]

Page 13: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 13Introduktion to Object Oriented Software Engineering

Project will be run in parallel with the lessons

• An important part of the module take in consideration a specific organization which the students follow and writes their project for.

• In the very beginning of the module the students are placed in a group.

• Groups are not final before every student are part of one.

• Discuss and agree upon aspiration level• Discuss and agree upon working method and

degree of delegation

Page 14: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 14Introduktion to Object Oriented Software Engineering

 Report

The exercises take place in form of a project. During the first two weeks we assign project teams of about 8 students eachEach student is expected to spend around 100 hours on the project. This includes writing the project report. We provide a project setting and a “fictive” customer. The project task will be presented during the first lecture.The project teams develop an adequate program or prototype. Each project team has to organize its own work! This means you have to Agree on the distribution of work, the project model, Specify the scope of the different process related tasks, Specify form and exact context of the different documents, Agree on level of ambitions regarding the process related tasks,…Each student has to contribute to a process related task in relation to his or her: Project ManagementConfiguration ManagementDocument handling andTest planningOf course you also have to do the job: That means every project has to take care of analysis, design, implementation and test. Report max 60 pages.

Page 15: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 15Introduktion to Object Oriented Software Engineering

The Project Report contains• PID – Project Initiation Document• The process part should contain:

– A joint motivation for the overall organisation and division between different process related tasks,– The project plan– A reflection on the project management task by the students responsible for it,– The quality management plan,– A reflection on the quality management by the students responsible– Configuration management– A reflection on the configuration management by the students responsible– The test plan– A reflection on the test plan by the students responsible– The individual or small group reflections should motivate the specific interpretation of the respective role

and an evaluation of what worked out, what did not work, and why, and how to do things better next time.• The product part should contain:

– A requirements specification,– Rationale for the requirements specification,– The analysis document,– A rationale for the analysis document,– The design– A reatinale for the design document– The implementation– A motivation for the implementation technology and a discussion how the implementation relates to

design, and requirements document.

Page 16: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 16Introduktion to Object Oriented Software Engineering

Julia Grishina [email protected] Kandidat, INT

Tanja Danner Nielsen [email protected] Kandidat, SWU

Mikkel Byrsø Dan [email protected] Kandidat, SWU

Nicki Lehmann Møller [email protected] Kandidat, SWU

Trine Koch Lavlund [email protected] Kandidat, SWU

Jie Yang [email protected] Kandidat, INT

Claus Skoubølling Jørgensen - Kandidat, SWU

Herman Svensen [email protected] Kandidat, SWU

Thabet Al Assadi [email protected] Kandidat, INT

Thomas Krohn [email protected] Diplom

Tomas Bo Krag [email protected] Kandidat, INT

Lars Holmquist [email protected] Kandidat, SWU

Martin Vyuga [email protected] Kandidat, INT

Hanne Sofie Jensen [email protected] Kandidat, SWU

Louise Ege [email protected] Kandidat, INT

Rokas Firantas [email protected] Kandidat, INT

Bent Erik Nielsen [email protected] Enkeltfagsstuderende

Martynas Jusevicius - Kandidat, INT

Jun Li [email protected] Kandidat, INT

Suresh Vanga [email protected] Kandidat, MMT

Jens Lind [email protected] Kandidat, SWU

Page 17: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 17Introduktion to Object Oriented Software Engineering

Jacob Mouni Grande [email protected] Kandidat, SWU

Vibeke Søderhamn Bülow [email protected] Kandidat, SWU

Morten Nordholt Andersen [email protected] Kandidat, SWU

Christian Willumsen [email protected] Kandidat, SWU

Brian James Cowan [email protected] Kandidat, MTG-T

Deike Drieseberg [email protected] Kandidat, INT

Sadia Rehman [email protected] Kandidat, EBUSS

Lars Christian Olsen [email protected] Kandidat, INT

Andreas Møller Holst [email protected] Kandidat, SWU

Sune Østerberg Andersen [email protected] Kandidat, SWU

Qingwei Cai [email protected] Kandidat, INT

Fei Yang [email protected] Kandidat, INT

Jacob Atzen [email protected] Kandidat, SWU

Stavros Amanatidis [email protected] Kandidat, INT

Ulrich Haslund [email protected] Kandidat, SWU

Veronika Capskaja [email protected] Kandidat, INT

Kim Loc Nguyen [email protected] Master, INT

Nils Kasper Emil Oldby [email protected] Kandidat, SWU

Jens Mondrup [email protected] Enkeltfagsstuderende

Kim Velling Frederiksen [email protected] Kandidat, SWU

Page 18: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 18Introduktion to Object Oriented Software Engineering

Who are you ?

• Who are you? Practical experience and previous education

• Why the IT University?• Why this module?• Previous experience in System Development and

other IT related topics?• Important knowledge before forming groups?

Page 19: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 19Introduktion to Object Oriented Software Engineering

The friendly summer cottage rental company (Friends & Summer (F&S))

Page 20: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 20Introduktion to Object Oriented Software Engineering

Wish-list for group assignmentBelow please give your priority of the role you want to take on in the project work.Choosing a role does not mean, that you only have to work with that part of the project work. You have to participate in all work in the project group, as you agree on in the group when distributing the work.The role you get makes you (and normally your partner, since two persons in each group will bee assigned to each role) the primary responsible for the success of that particularly aspect of the project. This also means that you will bee the “driving force” behind that aspect, and that you will make the final decision, should you be unable to reach agreement in the group.I cannot guarantee that everyone will be given their 1. priority, but each role is considered equally important. If you already during work or other have tried one role, then choose another to try it out.

RoleYour priority (1-4, 1=highest)

Arguments

Project manager

Configuration manager +Document handling

Quality assurance

Test planning

Send this document (with the priority-column filled in !!) to [email protected] before the 6. sept. 2005.Any question (at any time), can also be send to me, and I will try to answer as soon as possible.

Page 21: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 21Introduktion to Object Oriented Software Engineering

And then the real thing

Page 22: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 22Introduktion to Object Oriented Software Engineering

What is a System?

• Elements:– Program

– HW

– People

– Database

– Documentation

– Procedures

– Education

– …

Page 23: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 23Introduktion to Object Oriented Software Engineering

What is Development?

Page 24: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 24Introduktion to Object Oriented Software Engineering

Much more than programing

Page 25: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 25Introduktion to Object Oriented Software Engineering

What is so very special about System development

Page 26: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 26Introduktion to Object Oriented Software Engineering

Methodology Definition 1

Page 27: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 27Introduktion to Object Oriented Software Engineering

Methodology suggests …

Page 28: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 28Introduktion to Object Oriented Software Engineering

Methodology Definition 2

Page 29: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 29Introduktion to Object Oriented Software Engineering

Methodology Components 1

Page 30: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 30Introduktion to Object Oriented Software Engineering

Methodology Components 2

Page 31: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 31Introduktion to Object Oriented Software Engineering

Reasons to adopt a methodology

• A better end product – Acceptability– Availability– Cohesiveness– Compatibility– Documentation– Ease of learning– Economy– Effectiveness– Efficiency– Fast development rate– Flexibility– Functionality

• A better development process• A standardised process

– Implementability– Low coupling– Maintainability– Portability– Reliability– Robustness– Security– Simplicity– Testability– Timeliness– Visibility

Page 32: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 32Introduktion to Object Oriented Software Engineering

Issues in Systems Development

Page 33: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 33Introduktion to Object Oriented Software Engineering

Designing methodologies

Page 34: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 34Introduktion to Object Oriented Software Engineering

Tools and toolsets

• Tools– Project management :

• MS Project

– Groupware: • GroupSystems Ventura

– Web site development: • Dreamweaver

– Drawing:• Microsoft Visio

– Database management system: • Access

• Toolsets– Information Engineering

Facility

– Select

– Oracle

Page 35: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 35Introduktion to Object Oriented Software Engineering

Yet more questions

• Will methodologies solve the problems of IS development?

• Do methodologies have to change and develop?• Do methodologies mean more bureacracy and

slower development?• Should all organisations adopt a methodology?• Where do methodologies go from here?

Page 36: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 36Introduktion to Object Oriented Software Engineering

System Development Components

System Development

Performance Management

Realization Regulation

AnalysisDesign EvaluationPlanning

Presentreality

Visions

Present reality

Visions

Reflection

Action

Process Oriented

Product Oriented

Page 37: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 37Introduktion to Object Oriented Software Engineering

What is a Project?

• ‘A temporary endeavour undertaken to accomplish a unique purpose’

• Better understood by its attributes– Time frame – Purpose – Ownership – Resources – Roles – Risks / Assumptions – Interdependent tasks – Organisational change – Operating in an environment larger than itself

Taken from Marchewka, J. T. Information Technology Management, Wiley 2003

Page 38: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 38Introduktion to Object Oriented Software Engineering

Balancing Resources

Strategy• Choices

Budget Timescales Human Resources

Outsource Partnership In House

ConsultantsFunction Application Integrators

Page 39: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 39Introduktion to Object Oriented Software Engineering

Kilde: Steve McConnell (1996). Rapid development. Microsoft Press. Side 139.

Waterfall model

Page 40: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 40Introduktion to Object Oriented Software Engineering

The ‘b’ model

Analysis

Operation

Inception

Design

Acceptance

Production

Evaluation Analysis

Design

Production

Inception

Figure 6.2 The ‘b’ modelSource: Derived from N D Birrell & M A Ould, A Practical Handbook for Software Development, Cambridge University Press, 1985

Page 41: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 41Introduktion to Object Oriented Software Engineering

RUP - Rational Unified Model

Kilde: http://www.rational.com/products/rup/whitepapers.jsp

Page 42: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 42Introduktion to Object Oriented Software Engineering

The ‘V’ model

Requirementsdefinition

Requirementsspecification

High-leveldesign

Technicalspecification

Low-level design

Modulespecifications

Moduleproduction

Developedmodules

Module testing

tested modules

Integration andtest

Integratedsystem

System testing

Tested system

Customeracceptance

Acceptedsystem

Customerrequirements

Module testplan

Develop/agreeacceptance

criteria

Producemodule test

plan

Integration testplan

Produceintegration test

plan

System testplan

Generatesystem test

plan

Acceptancecriteria

Activity Product

Source: Adopted and reproduced with the permission of the National Computing Centre Limited from the STARTS Guide, 1987, which was supported by the Department of Trade and Industry

Page 43: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 43Introduktion to Object Oriented Software Engineering

The incremental approach

Feasibility studyHigh-level

design

Requirementsdefinition &

developmentplanning

Feedback/validation/verification

Detaileddesign

Systemintegration

Operation

Code & unittest

Installation &system test

Increment 1

Detaileddesign

Systemintegration

Operation

Code & unittest

Installation &system test

Increment 2

Detaileddesign

Systemintegration

Operation

Code & unittest

Installation &system test

Increment 3

Figure 6.4 The incremental model

Page 44: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 44Introduktion to Object Oriented Software Engineering

Requirement specfication

Archtectural design

Running system

Preanalysis

Development

Maintenance

For each itteration: detailed design, programming test and delivery to customer

Partly incremental modelThis model is often used in RAD (Rapid

Application Development)

Page 45: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 45Introduktion to Object Oriented Software Engineering

The spiral model – evolutionary development

Plan next phases

Determine objectives, alternatives, constraints

Evaluate alternatives, identify and resolve risks

Develop, verify next-level product

Figure 6.5 Boehm’s spiral modelSource: Based on Computer, May 1988, © 1988, IEEE

Page 46: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 46Introduktion to Object Oriented Software Engineering

Spiralmodel – simpel form

(Analyse & design)

Page 47: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 47Introduktion to Object Oriented Software Engineering

Spiralmodel [Boehm, IEEE 1998]

ReviewCommitment

Partition

Determineobjectives, alternatives,constraints

Progressthrough steps

Cumulativecost

Plan next phase

Develop, verifynext-level product

Evaluate alternatives,identify, resolve risks

RiskAnalysis

Concept ofOperation

Requirement planlife-cycle plan

Prototype 1Prototype 2 Prototype 3OperationalPrototype

RiskAnalysis

RiskAnalysis

RiskAnalysis

Simulations, models, benchmarks

SoftwareRequirements

SoftwareProductDesign

DetailedDesign

Development Plan

Integration and TestPlan

ImplementationAcceptanceTest

IntegrationTest

UnitTest

CodeRequirementValidation

Design validationand verification

Page 48: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 48Introduktion to Object Oriented Software Engineering

Traditional approach to analysis

Analysis notesetc

Analyserequirements

Specifyrequirements

Draftrequirementsspecification

Reviserequirementsspecification

Agreedrequirementsspecification

Producehigh-levelsystemdesign

High-leveldesign

specification

Supply termsof reference

andinformation

Review draftrequirementsspecification

To programspecification, codingetc

TORs, information

Specification

Reviewcomments

Limited user involvement; driven by developers

Users

Developers

Figure 6.6 The traditional approach

Page 49: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 49Introduktion to Object Oriented Software Engineering

Structured systems development

Agreedphysical

description

Analysecurrentphysicalsystem

Derive logicaldescription

Agreed logicaldescription

Producelogical design

Agreed logicaldesign

Producephysicaldesign

Draft physicaldesign

Provide dataand review

analysisresults

Assist/agreein preparing

logical design

To programspecification,coding etc

TORs,information

Greater user involvement at all stages; driven by users

Users

Developers

Assist/agreein producinglogical view

Reviewphysicaldesign

Revisephysicaldesign

Agreedphysicaldesign

QuestionsQuestions

Information

Questions,suggestions

Information,decisions

Suggesteddesign

Reviewresponses

Page 50: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 50Introduktion to Object Oriented Software Engineering

DSDM• Dynamic Systems Development Methodhttp://www.dsdm.org/en/about/principles.asp

9 key principles– Users must be actively involved– Teams must be empowered to make decisions– Products are delivered frequently rather than perfected– Each product should be fit for its business purpose– Iterative and incremental development is an integral part of the

approach– All changes are viewed as being reversible– The high level scope of the system should be agreed at a level

which does not make it difficult to change it later in development– Testing is an integral part of the lifecycle– All stakeholders must co-operate and collaborate

Page 51: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 51Introduktion to Object Oriented Software Engineering

Aigile methods why?

Page 52: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 52Introduktion to Object Oriented Software Engineering

Rightsizing methodology

Kilde: Alistair Cockburn (2001). Agile software Development. Addison-Wesley

There is a limit

Page 53: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 53Introduktion to Object Oriented Software Engineering

Rightsizing methodology

Leight methods

Heavy methods needed

Kilde: Alistair Cockburn (2001). Agile software Development. Addison-Wesley

Page 54: Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Eva Trosborg Slide no.: 54Introduktion to Object Oriented Software Engineering

I’m looking forward to see you again the 9th September

Eva Trosborg