RUP - Rational Unified Process

Relevanta dokument
RUP Rational Unified Process. 17 november 2004

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

Symptom på problemen vid programvaruutveckling

RUP och lite användbarhet...

RUP och lite användbarhet...

RUP och lite användbarhet...

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

Design för användbarhet

Agil programutveckling

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Objektorientering. Grunderna i OO

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Modern utvecklingsmetodik. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag

Lyckade projekt - finns det?

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Användarcentrerad systemdesign

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

TDP005. Föreläsning 3 - UML. Filip Strömbäck

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Testhantering enligt RUP

Informationssystem och databasteknik, 2I-1100

Arkitektur Michael Åhs

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Datavetenskap. Therese Sundström. Utveckling av ett affärssystem med. Unified Process. Examensarbete, D-nivå 30 ECTS 2005:05

LÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng

Chaos om datorprojekt..

Design för användbarhet Användarcentrerad utvecklingsprocess

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Metoder och verktyg för funktionssäkerhet

Användarcentrerad Systemutveckling

Användarcentrerad systemdesign

Användarcentrerad systemdesign

Chaos om IT-projekt..

Införande och anpassning av Rational Unified Process. Introduction and adaptation of Rational Unified Process

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objektorienterad analys och design

Användarcentrerad systemdesign

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

Användarmedverkan i teori och praktik vid skapandet av användarfall i RUP En kvalitativ intervjustudie Daniela Linder

Projektmetodik. Översikt. Lektion 1: Metodiker. Metodiker.

Programmeringsstil 18/3-2002

Övningstenta, Examinationsfrågor

Tillämpning av Unified Process och Design Patterns vid integrering av system

Projektuppgift i Användarcentrerad Systemdesign, ht 04

Användbarhetsarbete i ERUP

Visuell GUI Testning

Användarcentrerad systemdesign

Design av användargränssnitt. Processen snarare än produkten

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

Mjukvaruprojekt Inception-fasen. 1DV404, HT14 Jesper Andersson Kap 5, 6, 7

Software Engineering. Mål med föreläsningen 10/2/2017. Kort presentation

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Software Engineering

När? Varför? För vem? Resultat? (Artefakter?)

Praktikum i programvaruproduktion

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

Regressionstestning teori och praktik

Agile-metoder, XP och ACSD

Projektarbete. Grunder

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Kravfångst Bra kravarbete handlar om att ställa rätt frågor och att ge rätt svar i rätt form

Martin Völcker, SLL & Suit

Del av projektuppgiften. Systemarkitektprogrammet

Diagnos och design av Verksamhet och IT, 7, 5 HP. Föreläsning 2 Sofie Pilemalm

UML 2.0 och dess roll för modellbaserad utveckling

Use case som teknik för identifiering och dokumentering av krav (HS-IDA-EA )

Användbarhet och användarcentrerad systemdesign. Innehåll

Handläggningssstöd för synskadade Baserat på teorierna av Constantine & Lockwood

Projektering av informationssystem

Användarcentrerad systemdesign bättre kvalitet i systemutvecklingsprocessen. Gulan och Bengt

men borde vi inte också testa kraven?

Problem 1-1,5p Två av följande metoder för kravspecifikation är ej lämpade att använda vid ett COTSprojekt,

IBM Software Group. Agil Acceptans Test. Annika Kortell SAST 15-års jubileum IBM Corporation

Kurser och seminarier från AddQ Consulting

J2EE-arkitekt, mentor och instruktör

Introduktion. Byggstenar TDBA

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Programvara i säkerhetskritiska tillämpningar

In-flight Information System utveckling med ett användningscentrerat synsätt

Inkapsling (encapsulation)

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion

Testning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer

Detta dokument syftar till att ge en introduktion till RUP och bemöta argument såväl för som emot processen.

STUDIE AV SYSTEMUTVECKLINGSMETODER PÅ

Användbarhet och användarcentrerad systemdesign. Vilka är era användare? Vad innebär det att något är användbart? Enkelt.

Objektorienterad konstruktion

Användning av modeller för system/produktutveckling

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

E-val. Användningscentrerad systemdesign enligt Constantine & Lockwood. UPPSALA UNIVERSITET Uppsala

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

En ansats till behovsstyrd applikationsutveckling

Att fatta rätt beslut vid komplexa tekniska upphandlingar

Objektorientering Klasser

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

Transkript:

IBM Software Group RUP - Rational Unified Process Eva Hådding eva.hadding@se.ibm.com 1

Projektkaos. Chaos-rapporten 28% av projekten avslutades i tid och enligt budget. 49% av projekten drog över de ursprungliga estimaten. - Tid i genomsnitt 63%. - Kostnad i genomsnitt 45%. 23% av projekten lades ner. Standish Group, 01 (www.standishgroup.com) 2

Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 3

Praxis 1: Hantera krav Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 4

Kravhantering Se till att ni löser de verkliga problemen bygger det rätta systemet mha ett systematiskt tillvägagångssätt för kravfångst organisation dokumentation hantering av de föränderliga kraven på en programvarutillämpning. 5

Översikt över kravhantering Behov Problem Egenskaper Spårbarhet Programvarukrav Problemområde Lösningsområde Produkt att bygga Testskript Design Anv. dok. 6

Praxis 2: Använd komponentarkitekturer Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 7

Förändringståliga, komponentbaserade arkitekturer Förändringstålig Uppfyller nuvarande och framtida krav Underlättar utbyggnad Möjliggör återanvändning Kapslar in systemberoenden Komponentbaserad Återanvänd eller anpassa komponenter Välj bland kommersiellt tillgängliga komponenter Vidareutveckla existerande programvara inkrementellt 8

Praxis 3: Modellera visuellt (UML) Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 9

Varför visuell modellering? Fånga struktur och beteende Visa hur systemets delar passar ihop Hålla designen och implementationen konsistenta Dölja eller visa detaljer efter behov Förenkla tydlig kommunikation Dynamiska diagram Klassdiagram Användningsfallsdiagram Modeller Objektdiagram Komponentdiagram Aktivitetsdiagram Sekvensdiagram Samarbetsdiagram Tillståndsdiagram Driftsättningsdiagram Statiska diagram 10 UML erbjuder ett språk för alla inblandade

Praxis 4: Verifiera kvalitet kontinuerligt Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 11

Verifiera programvarans kvalitet kontinuerligt Programvaruproblem blir 100 1000 gånger dyrare att hitta och åtgärda efter driftsättning Kostnad Kostnad för åtgärdande Kostnad för uteblivna möjligheter Kostnad för förlorade kunder Förberedelse Etablering Konstruktion Överlämning 12

Testa varje iteration Iteration 1 Iteration 2 Iteration 3 Iteration 4 UML-modell och implementation Testsvit 1 Testsvit 2 Testsvit 3 Testsvit 4 Tester 13

Praxis 5: Hantera ändringar Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 14

The Configuration and Change Management (CCM) Cube 15

Praxis 6: Utveckla iterativt Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 16

Egenskaper hos vattenfallsutveckling Vattenfallsprocess Kravanalys Design Kodning och enhetstest Delsystemintegration Systemtest Försenar möjligheten att bekräfta kritiska riskåtgärder Mäter framskridande genom att utvärdera arbetsprodukter som är dåliga på att visa mängden återstående arbete Försenar och försvårar integration och testning Förhindrar tidig driftsättning Leder ofta till stora, oplanerade iterationer 17

Iterativ utveckling producerar körbara utgåvor Risk! Krav Analys & design Initial planering Planering Projektledning Implementation Test Utvärdering Varje iteration resulterar i en körbar utgåva Driftsättning 18

Riskprofiler Vattenfallsrisk Risk Riskreducering Iterativ risk Tid 19

RUP förverkligar dessa praxis Praxis En praktisk process Hantera krav Använd komponentarkitekturer Modellera visuellt(uml) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 20

Processtruktur - Livscykelfaser Förberedelse Etablering Konstruktion Överlämning tid Rational Unified Process definierar fyra faser: Förberedelse (Inception) Definierar projektets omfattning Etablering (Elaboration) Planera projektet, specificera egenskaper, ta fram grundversion av arkitekturen Konstruktion (Construction) Bygg produkten Överlämning (Transition) Överlämna produkten till slutanvändarna 21

Fasgränserna utgör större milstolpar Förberedelse Etablering Konstruktion Överlämning tid Milstolpe: Livscykelmål Milstolpe: Initialt funktionsduglig Milstolpe: Livscykelarkitektur Produktutgåva 22

Iterationer och faser Förbered. Etablering Konstruktion Överlämning Iteration F1 Iteration E1 Iteration E2 Iteration K1 Iteration K2 Iteration K3 Iteration Ö1 Iteration Ö2 Mindre milstolpar: Interna utgåvor 23

Nio discipliner 24

Tillsammans blir det: Ett iterativt tillvägagångssätt I en iteration går man igenom alla discipliner Discipliner grupperar aktiviteter logiskt 25

RUP är en användningsfallsdriven, arkitekturcentrisk, samt riskdriven process. 26

Nyckelbegrepp i RUP: Roller, aktiviteter, artefakter Aktivitet Roll Artefakt 27

RUP är en omfattande process, ett processramverk RUP bör införas stegvis RUP måste anpassas till organisationen till projektet 28

Användarcentrering i RUP Requirements: Analysis & Design: Deployment: Conceptual Road Map: Usability Engineering Concepts: User-Centered Design, Usability Testing Guidelines: Role playing, Interviews, Storyboarding, User Interface etc Use Cases Ux Plug-In

Användningsfall och användarcentrering... + Fokus på användarna och deras uppgifter!! - Oftast bara beskrivning av nuläget... - Användarna är inte utvecklare... - Sekventiell struktur... - Ett användningsfall blir ett fönster... - Ingen entydig definition... Användarna ska delta! 30

Användarcentrering i RUP Detta kunde varit bättre... Användbarhet är utspritt och otydligt kan nedprioriteras eller helt enkelt försvinna Ingen samordnande, ansvarig roll Detta är bra! Användningsfall användarcentrering Fokus på krav Iterativ utveckling Tvärdisciplinärt samarbete 31