Systemutvikling og dokumentasjon

Like dokumenter
Software Requirements and Design (SRD) 1 Generelt om dokumenter

Løsningsforslag. Sluttprøve Emne: IA4412 Systemutvikling og dokumentasjon. Klasse: IA2, A-vei Dato: Time: 09:00-12:00

Sluttprøve Løsningsforslag

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Information search for the research protocol in IIC/IID

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

PROSJEKTPLAN FOR INF 3120-PROSJEKT: <NAVN PÅ PROSJEKT>

HONSEL process monitoring

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

ISO 41001:2018 «Den nye læreboka for FM» Pro-FM. Norsk tittel: Fasilitetsstyring (FM) - Ledelsessystemer - Krav og brukerveiledning

PROSJEKTPLAN FOR INF 3120-PROSJEKT: <NAVN PÅ PROSJEKT>

En praktisk anvendelse av ITIL rammeverket

E-Learning Design. Speaker Duy Hai Nguyen, HUE Online Lecture

EXAM TTM4128 SERVICE AND RESOURCE MANAGEMENT EKSAM I TTM4128 TJENESTE- OG RESSURSADMINISTRASJON

Fakultet for informasjonsteknologi, Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN I. TDT42378 Programvaresikkerhet

Kartleggingsskjema / Survey

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

EN Skriving for kommunikasjon og tenkning

Issues and challenges in compilation of activity accounts

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Server-Side Eclipse. Martin Lippert akquinet agile GmbH

TEKSTER PH.D.-VEILEDERE FREMDRIFTSRAPPORTERING DISTRIBUSJONS-E-POST TIL ALLE AKTUELLE VEILEDERE:

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

Dynamic Programming Longest Common Subsequence. Class 27

Andrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen

Skjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr TED: 2014/S

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS

Improving Customer Relationships

Innovasjonsvennlig anskaffelse

Endringer i neste revisjon av EHF / Changes in the next revision of EHF 1. October 2015

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Uke 5. Magnus Li INF /

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

PSi Apollo. Technical Presentation

TEKSTER PH.D.-KANDIDATER FREMDRIFTSRAPPORTERING

Start Here USB *CC * *CC * USB USB

Bruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge

Tom Røise 18. Februar 2009

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

Public roadmap for information management, governance and exchange SINTEF

Elektronisk innlevering/electronic solution for submission:

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

SmartPass Mini User Manual BBNORGE.NO

GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006)

Risikofokus - også på de områdene du er ekspert

1. Installasjon av SharePoint 2013

Introduction to DK- CERT Vulnerability Database

of color printers at university); helps in learning GIS.

Programmering. Carsten Wulff

AVSLUTTENDE EKSAMEN I/FINAL EXAM. TDT4237 Programvaresikkerhet/Software Security. Mandag/Monday Kl

Vedlegg 2 Dokumentasjon fra TVM leverandør

Citation and reference tools for your master thesis

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

Microsoft Dynamics C5 Version 2008 Oversigt over Microsoft Reporting Services rapporter

SFI-Norman presents Lean Product Development (LPD) adapted to Norwegian companies in a model consisting of six main components.

Smart High-Side Power Switch BTS730

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Digitization of archaeology is it worth while?

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Windlass Control Panel

Verktøy for å håndtere siteringer og referanser i masteroppgaven. Citation and reference tools for your master thesis. Citations and references

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Hva kreves av en god byggherre? «Store utbyggingsprosjekter», 23. okt 2014

Grunnlag: 11 år med erfaring og tilbakemeldinger

A Study of Industrial, Component-Based Development, Ericsson

FIRST LEGO League. Härnösand 2012

SRP s 4th Nordic Awards Methodology 2018

Social Media Insight

Juridiske aspekter ved publisering i åpne institusjonelle arkiv

C13 Kokstad. Svar på spørsmål til kvalifikasjonsfasen. Answers to question in the pre-qualification phase For English: See page 4 and forward

Assignment. Consequences. assignment 2. Consequences fabulous fantasy. Kunnskapsløftets Mål Eleven skal kunne

DecisionMaker Frequent error codes (valid from version 7.x and up)

Slides made by Sommerville adapted by Letizia Jaccheri, all the slides are part of the syllabus This lecture will be filmed

Monteringsanvisning Installation manual Taksokkel for LHH og CareLite Ceiling mount for LHH and CareLite

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Referansearkitektur use cases. Kjell Sand SINTEF Energi AS NTNU Institutt for elkraftteknikk

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Hybrid Cloud and Datacenter Monitoring with Operations Management Suite (OMS)

Citation and reference tools for your master thesis

Monitoring water sources.

Citation and reference tools for your master thesis

Feiltre, hendelsestre og RIF-modell

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION

Software Development Plan

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

Ny personvernlovgivning er på vei

Transkript:

University College of Southeast Norway Systemutvikling og dokumentasjon Eksempler på dokumenter i et Software-prosjekt Hans-Petter Halvorsen, 2017.01.12 http://home.hit.no/~hansha

Forord Dette dokumentet tar for seg ulike former for dokumentasjon i et systemutviklingsprosjekt. Typisk utvikles det forskjellige typer dokumenter i de ulike fasene som inngår i Software-utvikling. Se Figur nedenfor. Det er viktig å huske på at all dokumentasjon lager man fordi den er nyttig og skal brukes gjennom hele utviklingsprosjektet samt i forbindelse med installasjon og bruk i etterkant, både av kunden og ifm. vedlikehold og videreutvikling av systemet. All dokumenter som lages må brukes aktivt underveis i prosjektet, samt at disse må oppdateres og vedlikeholdes kontinuerlig. Alle dokumenter må selvfølgelig ligge i et dokumenthåndteringssystem, f.eks. Visual Studio Team Services (VSTS). ii

Table of Contents Forord... ii Table of Contents... iii 1 Innledning... 5 1.1 Typisk dokumentleveranse... 7 1.1.1 Process Documentation... 7 1.1.2 Product Documentation... 7 1.1.3 User Documentation... 7 2 Generelt om dokumenter... 8 2.1 Dokumentskriving... 8 3 Product Web Site... 9 3.1 Hensikt med denne websiden... 9 4 Software Development Plan (SDP)... 11 4.1 Hensikten med dokumentet... 11 4.2 Innhold... 12 4.2.1 SDP forslag A... 12 4.2.2 SDP forslag B... 12 5 Software Requirements & Design (SRD)... 14 5.1 Hensikten med dokumentet... 15 6 Software Test Plan (STP)... 16 6.1 Hensikten med dokumentet... 16 6.2 Vedlegg... 18 iii

iv Table of Contents 7 System Documentation... 19 7.1 Large Systems... 19 8 Installation Guide(s)... 21 9 User Guide(s)... 22 References... 23 Vedlegg... 24 Dokumentasjon i Systemutvikling

1 Innledning Typiske dokumenter i et utviklingsprosjekt (Figure 1-1): Figure 1-1: Typisk Software-dokumentasjon Dokumenter kan deles inn i ulike kategorier (Figure 1-2): 5

6 1 Innledning Figure 1-2: Dokument-kategorier Forskjell mellom F1 prosjekt og et Softwareprosjekt (Figure 1-3): Figure 1-3: Software Development Project Vi prøver å gjøre det slik som det gjøres i en virkelig softwareprosjekt. Dokumentasjon i Systemutvikling

7 1 Innledning 1.1 Typisk dokumentleveranse I et utviklingsprosjekt har vi både interne dokumenter (prosess-dokumenter) og eksterne dokumenter (produkt-dokumenter). Nedenfor gis det en kort oversikt over disse variantene. 1.1.1 Process Documentation Typisk Prosess-dokumentasjon: 1. Development Plan (with Gantt Chart, Resources, etc.) 2. Meeting documentation (included in VSO) 3. Requirements & Design Document 4. Test Plan (how to test, etc.) & Test Documentation (#3b) (Test results, etc) 1.1.2 Product Documentation Typisk Produkt-dokumentasjon: 1. System Documentation 1. How the System Works (Technical), i.e. use the Requirements & Design as base. 2. Requirements & Design is about how it should be, while System Documentation is about how it became 3. Includes Technical Design and Platform Overview, Database Diagram, UML diagrams, CAD drawings, Code Documentation, Flow Charts, with explanations, etc. 4. How to deploy (how to install server-side logic), maintain, etc. 1.1.3 User Documentation Typisk User-dokumentasjon: 2. Installation Guide (#5) (you may include it as part of User Manual and/or System Documentation) 3. User Manual(s) (#6) Dokumentasjon i Systemutvikling

2 Generelt om dokumenter Det er ingen fasit mtp utarbeidelse av dokumentasjon, det er mange varianter ute å år. Det er en del grunnleggende ting som går igjen i alle former for dokumenter. 2.1 Dokumentskriving Alt dere har lært om rapportskriving tidligere gjelder også her! Den eneste forskjellen at her er det flere dokumenter istedenfor en rapport. Produktwebsiden blir på en måte selve rapporten, mens SDP, SRD, STP, osv. blir på en måte vedlegg. Dvs. grunnleggende rapporttekniske ting som Tabell og figurnummerering, m.m. må selvfølgelig være med! Typisk struktur: Forside/Tittelside, innholdsfortegnelse, Innledning, en eller flere kapitler med innhold, + evt vedlegg. Bruke nummerering i forbindelse med kapitler og underkapitler er vanlig. Sidenummerering må selvfølgelig være med. Bruke samme Word Template på alle dokumentene! dvs bruk samme fonter, fargebruk, m.m. i de ulike dokumentene. Bruk av referanser der det er bruk kilder, ressurser fra andre. 8

3 Product Web Site I forbindelse med prosjektet skal det lages en såkalt Product Web Site. Ikke glem at kildekoden til denne siden også må ligge i Visual Studio Team Services (VSTS) slik at alle i teamet kan vedlikeholde denne. Nødvendig informasjon og opplæring ifm dette gis når den tid kommer. 3.1 Hensikt med denne websiden Reklamere for/selge produktet til potensielle kjøpere og/eller vise frem produktet/løsningen for kunden som har bestilt det samt dokumentere progresjonen til løsningen underveis slik at kunden er er komfortabel med at utviklingen går som planlagt. Man må ha med en beskrivelse av produktet,samt en eller flere bilder. Ha med litt reklame. Hva er hensikten med produktet, hvem skal bruke det? Hva skal det brukes til, osv. (blir litt som en innledning i en teknisk rapport). I tillegg vil denne websiden være rapporten dere skal levere i slutten av semesteret, hvor tekst og bilder på websiden er innledning, og de andre linkene (SDP, SRD, STP, System Documentation, Installation Guide, User Manual,...) er selve kapitlene eller vedlegg til rapporten. Bruk PDF på de dokumentene som kun skal leses (SDP, SRD, STP,..), mens templater som Test Cases Excel ark, Code Review Template Excel ark må jo selvfølgelig være i orginalformat, da disse skal fulles ut. Figure 3-1 viser et (veldig enkelt) eksempel på hvordan en slik Product Web Site kan se ut. 9

10 3 Product Web Site Figure 3-2 viser et annet forslag. Figure 3-1: Product Web Site Figure 3-2: Final Report Have the Customer in mind. Pretend that this is a real software project and not a school project. Dokumentasjon i Systemutvikling

4 Software Development Plan (SDP) The SDP is also referred to as the Communication Plan or just Project Plan The SDP is a document that describes the Project, Resources, Communication, Schedule (e.g. Gantt chart), Tools, etc. 4.1 Hensikten med dokumentet Inneholde all tenkelig informasjon om hvordan man skal gjennomføre prosjektet, tidsplaner, budsjetter, resurser, software og utviklingsverktøy, osv. Det er meningen at dette skal være et levende dokument som aktivt skal brukes underveis av de involverte i prosjektet, og da særlig utviklingsteamet, men også ledere, beslutningstakere, stakeholders, samt evt kunden. NB! Dette er et dokument som oppdateres kontinuerlig og som må brukes aktivt gjennom hele prosjektet innad i Teamet! Hver gang Gantt diagrammet (MS Project) oppdateres, osv. Må jo også dette dokumentet oppdateres. Elementer som inngikk i en såkalt Gruppeavtale (kjent fra bla. F1 prosjekt) bør/kan inngå som en del av SDP. Bør ha med linker til f.eks: Link til Dokument - Websiden Link til VSTS Prosjekt Link til Wordmaler Osv. 11

12 5 Software Requirements & Design (SRD) 4.2 Innhold Typisk innhold i SDP dokumentet: 4.2.1 SDP forslag A Følgende temaer bør være med[1]: 1. Product Description 2. Team Description 3. Software Process Model Description 4. Project Definition 5. Project Organization 6. Validation Plan 7. Configuration/Version Control 8. Tools 4.2.2 SDP forslag B Følgende temaer bør være med[2]: 1. Introduction: This briefly describes the objectives of the project and set out the constraints (e.g., budget, time, etc.) that affects the management of the project 2. Project Organization (Team Description) This section describes how the development team is organized, the people involved and their roles in the team. Software Process Model Description (Scrum, XP, Waterfall,...), etc. 3. Risk Analysis 4. Hardware and Software Resource Requirements 5. Work Breakdown (WBS, Work Breakdown Structure): Break down the project in into activities and identifies milestones 6. Project Schedule: Shows dependencies between activities, the estimated time required to reach each milestone, allocation of people to activities. (5) and (6) is typically done in a Gantt Chart (created in e.g. Microsoft Project) 7. Monitoring and Reporting Mechanisms: Definition of the Management Report that should be produced, when they should be produced, etc. 8. Tools that you are using Dokumentasjon i Systemutvikling

13 5 Software Requirements & Design (SRD) Dere trenger nødvendigvis ikke følge alternativ A eller B slavisk, dere kan gjerne blande, tilføye eller utelate ting som ikke er relevant for deres prosjekt. Det er viktig at man har med Software arkitektur og oversikt over Software Plattformer, m.m. Gode skisser (Systemoversikt) i forbindelse med dette med ulik detaljeringsgrad for ulike lesere. Dokumentasjon i Systemutvikling

5 Software Requirements & Design (SRD) Requirements (WHAT): WHAT the system should do Describes what the system should do with Words and Figures,etc. SRS Software Requirements Specification Document Software Design (HOW): HOW it should do it Examples: GUI Design, UML, ER diagram, CAD, etc. SDD Software Design Document Note! Many don't separate SRS and SDD documents, but include everything in a Requirements & Design Document (SRD). In practice, requirements and design are inseparable. Figure 5-1 viser typisk innhold i et SRD document. 14

15 5 Software Requirements & Design (SRD) Figure 5-1: SRD Contents 5.1 Hensikten med dokumentet Et løpende dokument som brukes til å gi en oversikt over hva som skal lages (Requirements)/utvikles og hvordan det skal lages/utvikles (Design). Brukes som en kontrakt mellom utviklingsfirma og kunde, samt brukes kontinuerlig av utviklere (når de skal lage/utvikle løsningen), testere (når de skal teste løsningen) og kunde (sike at løsningen blir slik de ønsker) underveis. Mye av innholdet lages i oppstarten av prosjektet (eller i forkant av prosjektet), men innholdet må oppdateres kontinuerlig når endringer oppstår, særlig med med smidig utvikling vil dette være tilfellet. Dokumentasjon i Systemutvikling

6 Software Test Plan (STP) Dokumenter som inngår ifm testing (Figure 6-1): Figure 6-1: Test Documents 6.1 Hensikten med dokumentet Dagens software-systemer er veldig komplekse (se Figure 6-2), derfor kreves det at testing gjennomføres på en strukturert måte. 16

17 6 Software Test Plan (STP) Typisk innhold: Figure 6-2: Komplekse Softwaresystemer Goals and Exit Criteria (Quality, Robustness, Schedule, Performance Goals of the Product,...) Items to be Tested/Inspected (Executables such as modules and components, Nonexecutables such as Requirments and Design specifications,...) Test Process/Methodologies (Unit, Functional, Acceptance, Regression Tests, Black-box, White-box, Test metrics, Bug report process,... ) Resources (People, Tools, Test Environment,...) Schedule (Test-case development, Test execution, Problem reporting and fixing,...) Risks (...) Major Test Scenarios and Test Cases (...) Beskrivelse av Testmiljø, hvor er testmiljøet? hvordan bruker man det? Evt hvordan setter man det opp, osv. Beskrivelse av Prosedyrer for Bugrapportering. Hvor rapporterer man Bugs? Hvordan rapporterer man Bugs? Osv. Dokumentasjon i Systemutvikling

18 6 Software Test Plan (STP) 6.2 Vedlegg Vedlegg : Test Cases dvs f.eks et Excel-ark med mange Test Case på en strukturert måte, bruk gjerne flere ark (sheets). Dokumentasjon i Systemutvikling

7 System Documentation Ta utgangspunkt i SRD. Detaljert beskrivelse av systemet på teknisk nivå. Tip: Make a copy of your SRS/SDD and take it from there (Rename, Add, Delete, Change contents, etc.). How the System Works (Technical), i.e. use the Requirements & Design as base. Requirements & Design Documents is about how it should (planned to) be, while System Documentation is about how it became Includes Technical Design and Platform Overview, Database Diagram, UML diagrams, CAD drawings, Code Documentation, Flow Charts, with explanations, etc. How to deploy (how to install server-side logic), maintain, etc. System documentation includes all of the documents describing the system itself from the requirements specification to the final acceptance test plan. Documents describing the design, implementation and testing of a system are essential if the program is to be understood and maintained. Like user documentation, it is important that system documentation is structured, with overviews leading the reader into more formal and detailed descriptions of each aspect of the system. Beskrivelse av Enhetstester, Testmiljø, mm. 7.1 Large Systems For large systems that are developed to a customer s specification, the system documentation should include: 1. The requirements document. 2. A document describing the system architecture. 19

20 6 Software Test Plan (STP) 3. For each program in the system, a description of the architecture of that program. 4. For each component in the system, a description of its functionality and interfaces. 5. Program source code listings, which should be commented where the comments should explain complex sections of code and provide a rationale for the coding method used. If meaningful names are used and a good, structured programming style is used, much of the code should be self documenting without the need for additional comments. This information is now normally maintained electronically rather than on paper with selected information printed on demand from readers. 6. Validation documents describing how each program is validated and how the validation information relates to the requirements. These may be required for the quality assurance processes in the organization. 7. A System Maintenance Guide, which describes known problems with the system, describes which parts of the system are hardware and software dependent and which describes how evolution of the system has been taken into account in its design Dokumentasjon i Systemutvikling

8 Installation Guide(s) Hvordan installerer man programvaren? Steg for steg, med bilder, osv. Eksempel på innhold: Prerequisites What need to be in place before you start the installation, e.g., OS version, Drivers,.NET Framework,... Where do you find the Installation Files/packages Step-by-step Guide of how to install the Software (Text + Figures) How do you start your Application(s) when you are finished with the installation How do you uninstall the software?... 21

9 User Guide(s) Hvordan bruker man programvaren? A user manual often include: A cover page A title page and copyright page A preface, containing details of related documents and information on how to navigate the user guide A contents page A guide on how to use at least the main functions of the system (Text + Screen Shots) A troubleshooting section detailing possible errors or problems that may occur, along with how to fix them A FAQ (Frequently Asked Questions) Where to find further help, and contact details A glossary and, for larger documents, an index En brukermanual kan være så mangt, f.eks et Word dokument (->PDF), en online hjelpefil eller webside, en eller flere videoer, osv. 22

References [1] F. Tsui, O. Karam, and B. Bernal, Essentials of Software Engineering, 3 ed.: Jones & Barlett Learning, 2014. [2] I. Sommerville, Software Engineering, 10 ed.: Pearson, 2015. [3] E. J. Braude and M. E.Bernstein, Software Engineering: Modern Approaches, 2 ed.: Wiley, 2011. 23

Vedlegg 24

Hans-Petter Halvorsen, M.Sc. E-mail: hans.p.halvorsen@hit.no Blog: http://home.hit.no/~hansha/ University College of Southeast Norway www.usn.no