35
X36SSP X36SSP Správa softwarových Správa softwarových produktů produktů 6. 6. přednáška přednáška Ing. Martin Molhanec Ing. Martin Molhanec ČVUT – FEL ČVUT – FEL K13113 K13113

X36SSP Správa softwarových produktů 6. přednáška

  • Upload
    maylin

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

X36SSP Správa softwarových produktů 6. přednáška. Ing. Martin Molhanec ČVUT – FEL K13113. OBJECT ORIENTED SOFTWARE PROCESS. Dnešní témata. Připomenutí co je to OOSP Konstrukční fáze OOSP. Opakování!. SOFTWARE DEVELOPMENT PROCESS. project initiation. in-house development - PowerPoint PPT Presentation

Citation preview

Page 1: X36SSP Správa softwarových produktů 6.  přednáška

X36SSPX36SSPSpráva softwarových Správa softwarových

produktůproduktů6. 6. přednáškapřednáška

X36SSPX36SSPSpráva softwarových Správa softwarových

produktůproduktů6. 6. přednáškapřednáška

Ing. Martin MolhanecIng. Martin MolhanecČVUT – FELČVUT – FEL

K13113K13113

Page 2: X36SSP Správa softwarových produktů 6.  přednáška

OBJECT ORIENTEDOBJECT ORIENTED

SOFTWARE PROCESSSOFTWARE PROCESS

Page 3: X36SSP Správa softwarových produktů 6.  přednáška

Dnešní témataDnešní témataDnešní témataDnešní témata

•Připomenutí co je to Připomenutí co je to OOSPOOSP•Konstrukční fáze OOSPKonstrukční fáze OOSP

Page 4: X36SSP Správa softwarových produktů 6.  přednáška

maintenance & supportmaintenance & support

in-house developmentusing packagesin-house developmentusing packages

project initiationproject initiation

SOFTWARE DEVELOPMENT PROCESS

INITIATIONINITIATION CONSTRUCTIONCONSTRUCTION DELIVERDELIVER MAINTAIN & SUPORTMAINTAIN & SUPORT

• well define userwell define user requirements requirements

• select select optimal solutionoptimal solution

• prepare all requiredprepare all requiredfor project start successfor project start success. . . . . .

• well define userwell define user requirements requirements

• select select optimal solutionoptimal solution

• prepare all requiredprepare all requiredfor project start successfor project start success. . . . . .

key performance issues

Each phase has associate its key performance issues, corresponding roles, activities etc.

• well end efficient well end efficient performed analysisperformed analysis

• best system best system assembling andassembling andtestingtesting

• to have good to have good documentationdocumentation. . . . . .

• well end efficient well end efficient performed analysisperformed analysis

• best system best system assembling andassembling andtestingtesting

• to have good to have good documentationdocumentation. . . . . .

• start system usestart system useseamless and efectivelyseamless and efectively

• well prepare userswell prepare usersof the systemof the system

. . . . . .

• start system usestart system useseamless and efectivelyseamless and efectively

• well prepare userswell prepare usersof the systemof the system

. . . . . .

• to have satisfied usersto have satisfied users

• repair defectsrepair defects

• to have good to have good knowledge base for knowledge base for possible new version possible new version startstart. . . . . .

• to have satisfied usersto have satisfied users

• repair defectsrepair defects

• to have good to have good knowledge base for knowledge base for possible new version possible new version startstart. . . . . .

GO NEXT

Opakování!

Page 5: X36SSP Správa softwarových produktů 6.  přednáška

Advanced SW Development Model

(ASDM)

INICIACEINICIACE KONSTRUKCEKONSTRUKCE DODÁNÍDODÁNÍ PROVOZPROVOZ

• Vychází z praktických zkušeností na IT projektech.

• Inspirace metodikou „object-oriented process pattern“ (Scott W. Amblera).

• Inspirace některými prvky metody RUP.

• správně definovatsprávně definovatpožadavky na systémpožadavky na systém

• vybrat optimálnívybrat optimálnívariantu řešenívariantu řešení

• naplánovat a připravitnaplánovat a připravitvše potřebné vše potřebné k zahájení projektuk zahájení projektu

. . . . . .

• správně definovatsprávně definovatpožadavky na systémpožadavky na systém

• vybrat optimálnívybrat optimálnívariantu řešenívariantu řešení

• naplánovat a připravitnaplánovat a připravitvše potřebné vše potřebné k zahájení projektuk zahájení projektu

. . . . . .

oblasti klíčovýchvýkonnostních

požadavků

Pro každou fázi jsou identifikovány charakteristické činnosti

a k nim jsou definovány pracovní role a odpovědnosti.

• provést dobřeprovést dobřea efektivně analýzua efektivně analýzu

• co nejlépe sestavit co nejlépe sestavit a otestovat systéma otestovat systém

• mít řádnoumít řádnoudokumentacidokumentaci

. . . . . .

• provést dobřeprovést dobřea efektivně analýzua efektivně analýzu

• co nejlépe sestavit co nejlépe sestavit a otestovat systéma otestovat systém

• mít řádnoumít řádnoudokumentacidokumentaci

. . . . . .

• efektivně zahájitefektivně zahájitprovoz systémuprovoz systému

• dobře zaškolit dobře zaškolit uživatele uživatele

. . . . . .

• efektivně zahájitefektivně zahájitprovoz systémuprovoz systému

• dobře zaškolit dobře zaškolit uživatele uživatele

. . . . . .

• spokojenost spokojenost uživatelů s podporouuživatelů s podporou

• rychlá oprava chybrychlá oprava chyb

• mít dostatečnou mít dostatečnou znalostní báziznalostní bázipožadavků a návrhůpožadavků a návrhůpro novou verzipro novou verzi

. . . . . .

• spokojenost spokojenost uživatelů s podporouuživatelů s podporou

• rychlá oprava chybrychlá oprava chyb

• mít dostatečnou mít dostatečnou znalostní báziznalostní bázipožadavků a návrhůpožadavků a návrhůpro novou verzipro novou verzi

. . . . . .

Opakování!

Page 6: X36SSP Správa softwarových produktů 6.  přednáška

maintenance & supportmaintenance & support

in-house developmentusing packagesin-house developmentusing packages

project initiationproject initiation

INITIATEINITIATE CONSTRUCTCONSTRUCT DELIVERDELIVER MAINTAIN & SUPORTMAINTAIN & SUPORT

JUSTIFYJUSTIFY

define and validate

REQUIRE-MENTS

define and validate

REQUIRE-MENTS

define initial

managementDOCUMENTS

define initial

managementDOCUMENTS

define INFRA-

STRUCTURE

define INFRA-

STRUCTURE

MODELMODEL TESTin the small

TESTin the small

GENERALIZEGENERALIZE PROGRAMPROCESSPROGRAMPROCESS

TESTin the large

TESTin the large RELEASERELEASE

REWORKREWORK ASSESSASSESS

SUPPORTSUPPORT

identifydefects and

enhance-ments

identifydefects and

enhance-ments

SOFTWARE DEVELOPMENT PROCESS

project office teamproject office team development teamdevelopment team support teamsupport team

user expertsuser experts end-usersend-users

quality assurance, manage project, trainig&education, manage people, manage risk, manage reuse, manage metrics,

manage deliverables, manage infrastructure GO NEXT

Opakování!

Page 7: X36SSP Správa softwarových produktů 6.  přednáška

činnosti provozované činnosti provozované na provozní platforměna provozní platforměčinnosti provozované činnosti provozované na provozní platforměna provozní platformě

činnosti provozované činnosti provozované na vývojové a testovací platforměna vývojové a testovací platformě

činnosti provozované činnosti provozované na vývojové a testovací platforměna vývojové a testovací platformě

INITIATEINITIATEINITIATEINITIATE CONSTRUCTCONSTRUCTCONSTRUCTCONSTRUCT DELIVERDELIVERDELIVERDELIVER MAINTAIN MAINTAIN & & SUPPORTSUPPORTMAINTAIN MAINTAIN & & SUPPORTSUPPORT

PODPŮRNÉ PROCESYPODPŮRNÉ PROCESYzajištění kvality, people management, risc management, reuse management, zajištění kvality, people management, risc management, reuse management,

právní zabezpečení, bezpečnost, řízení infrastruktury, ... právní zabezpečení, bezpečnost, řízení infrastruktury, ...

PODPŮRNÉ PROCESYPODPŮRNÉ PROCESYzajištění kvality, people management, risc management, reuse management, zajištění kvality, people management, risc management, reuse management,

právní zabezpečení, bezpečnost, řízení infrastruktury, ... právní zabezpečení, bezpečnost, řízení infrastruktury, ...

JUSTIFYJUSTIFYJUSTIFYJUSTIFYDEFINEDEFINE

REQUIRE-REQUIRE-MENTSMENTS

DEFINEDEFINEREQUIRE-REQUIRE-

MENTSMENTS

DEFINEDEFINEMGMTMGMT

DOCUMENTSDOCUMENTS

DEFINEDEFINEMGMTMGMT

DOCUMENTSDOCUMENTS

DEFINEDEFINEINFRA-INFRA-

STRUCTURESTRUCTURE

DEFINEDEFINEINFRA-INFRA-

STRUCTURESTRUCTURE

MODELMODELMODELMODELTESTSTESTS

IN IN THE SMALLTHE SMALL

TESTSTESTSIN IN

THE SMALLTHE SMALL

GENERALIZEGENERALIZEGENERALIZEGENERALIZE PROGRAMPROGRAMPROGRAMPROGRAM

TESTSTESTSININ

THE LARGETHE LARGE

TESTSTESTSININ

THE LARGETHE LARGERELEASERELEASERELEASERELEASE

REWORKREWORKREWORKREWORK ASSESSASSESSASSESSASSESS

SUPPORTSUPPORTSUPPORTSUPPORT

IDENTIFY IDENTIFY DEFECTSDEFECTSIDENTIFY IDENTIFY DEFECTSDEFECTS

podpora týmem podpora týmem „help desk“„help desk“

podpora týmem podpora týmem „help desk“„help desk“podpora týmem projektové kancelářepodpora týmem projektové kancelářepodpora týmem projektové kancelářepodpora týmem projektové kanceláře

spolupráce všech budoucích uživatelůspolupráce všech budoucích uživatelůspolupráce všech budoucích uživatelůspolupráce všech budoucích uživatelůspolupráce zástupců budoucích uživatelůspolupráce zástupců budoucích uživatelůspolupráce zástupců budoucích uživatelůspolupráce zástupců budoucích uživatelů

provozní týmprovozní týmprovozní týmprovozní týmpracovní týmpracovní týmpracovní týmpracovní týmzahajovací týmzahajovací týmzahajovací týmzahajovací tým

Scott W. Ambler: Object-OrientedProcess PatternOpakování!

Page 8: X36SSP Správa softwarových produktů 6.  přednáška

SUPPORT PROCESSES FOR THE ADVANCE SOFTWARE DEVELOPMENT MODEL

RISK MANAGEMENTRISK MANAGEMENT

IDENTIFYA RISK

IDENTIFYA RISK

ASSESSTHE RISKASSESS

THE RISK

DEVELOPMITIGATIONSTRATEGIES

DEVELOPMITIGATIONSTRATEGIES

MITIGATETHE RISKMITIGATETHE RISK

REPORTRISK

REPORTRISK

QUALITYASSURANCE

QUALITYASSURANCE

FOLLOWISO

STANDARDS

FOLLOWISO

STANDARDS

TRAINING & EDUCATIONTRAINING & EDUCATION

DEVELOPA TRAINING

PLAN

DEVELOPA TRAINING

PLAN

REUSEMANAGEMENT

REUSEMANAGEMENT

COLLECTREUSABLE

ITEMS

COLLECTREUSABLE

ITEMS

METRICSMANAGEMENT

METRICSMANAGEMENT

DEVELOPMETRICS

PLAN

DEVELOPMETRICS

PLAN

DELIVERABLESMANAGEMENT

DELIVERABLESMANAGEMENT

INFRA-STRUCTURE

MANAGEMENT

INFRA-STRUCTURE

MANAGEMENT

MANAGESOFTWARE

CONFI-GURATION

MANAGESOFTWARE

CONFI-GURATION

APPLYCMM, …

TECHNIQUES

APPLYCMM, …

TECHNIQUES

DEVELOPA RISK

MANAGEMENTPLAN

DEVELOPA RISK

MANAGEMENTPLAN

PERFORMINTRO

TRAININGS

PERFORMINTRO

TRAININGS

PERFORMDETAILEDTRAININGS

PERFORMDETAILEDTRAININGS

PERFORMAND

DISCUSS

PERFORMAND

DISCUSS

Opakování!

Page 9: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCTCONSTRUCT PHASE PHASECONSTRUCTCONSTRUCT PHASE PHASEThe main goal of the Construction phase The main goal of the Construction phase

is to build working software that is is to build working software that is ready to be tested and delivered to your ready to be tested and delivered to your

user community.user community.

Page 10: X36SSP Správa softwarových produktů 6.  přednáška

MODELMODEL TESTin the small

TESTin the small

GENERALIZEGENERALIZE PROGRAMPROCESSPROGRAMPROCESS

allocated maintenance

changes

management documentsinitial requirementproject infrastructureproject fundingproject charter

potential roles during this phase:

project managerproject manager

software applicationdocumentationrequirement allocation matrixmodels, source codemanagement documents

team leaderteam leader

software conf. managersoftware conf. manager

test managertest manager

architectural modelerarchitectural modeler

domain programmerdomain programmer

subject matter expertsubject matter expert

quality assurance quality assurance engineerengineerdomain modelerdomain modeler

mentormentor

infrastructure engineerinfrastructure engineer

technical writertechnical writer

component engineercomponent engineer

reuse engineerreuse engineer

test engineertest engineer

proof-of-concept engineerproof-of-concept engineer

from maintain & support phase

CONSTRUCT PHASEThe main goal of the construct phase is to build working software that is ready to be tested and delivered to its user community.

Page 11: X36SSP Správa softwarových produktů 6.  přednáška

MODEL MODEL

ARCHITECTU-RAL

MODELING

ARCHITECTU-RAL

MODELING

requirement documentationmodeling standards

TECHNICALMODELING

TECHNICALMODELING

HUMAN INTERACTION

DOMAINMODELING

HUMAN INTERACTION

DOMAINMODELING

PROBLEMDOMAIN

MODELING

PROBLEMDOMAIN

MODELING

MANAGEMETRICSMANAGEMETRICS

TASKMODELING

TASKMODELING

models (diagrams, docs)test planrequirement alloc. matrix

The developers first need to understand what the are supposed to build. This “software analysis and design” process should be performed iteratively, because of developers do not need to do all of the analysis first time, then do all of the design and then all of the coding.

Page 12: X36SSP Správa softwarových produktů 6.  přednáška

PROGRAM PROCESS PROGRAM PROCESS

UNDERSTANDMODELS

UNDERSTANDMODELS

modelsproject infrastructure

MAKESOURCE

CODE

MAKESOURCE

CODE

PREPAREPROJECT

INTEGRATIONPLAN

PREPAREPROJECT

INTEGRATIONPLAN

PREPARECODE FOR

INSPECTIONS

PREPARECODE FOR

INSPECTIONS

INTEGRATEAND

PACKAGE

INTEGRATEAND

PACKAGE

SYNCHRONIZESOURCE CODE

WITHMODELS

SYNCHRONIZESOURCE CODE

WITHMODELS

packaged applicationsource codesoftware components

OPTIMIZE CODE

OPTIMIZE CODE

BUILDSOFTWARE

APPLICATION

BUILDSOFTWARE

APPLICATION

REUSEEXISTING

CODE ANDCOMPONENTS

REUSEEXISTING

CODE ANDCOMPONENTS

DOCUMENTSOFTWARE

APPLICATION

DOCUMENTSOFTWARE

APPLICATION

DOCUMENTSOURCE

CODE

DOCUMENTSOURCE

CODE

PERFORMMETRICS

PERFORMMETRICS

During this process the source code is written, documented, reviewed, tested and packaged for delivery. For this to be successful, the models must drive the development of the source code. This process is far more to writing source code of programs.

Page 13: X36SSP Správa softwarových produktů 6.  přednáška

GENERALIZE GENERALIZE

IDENTIFYPOTENTIALREUSABLE

ITEMS

IDENTIFYPOTENTIALREUSABLE

ITEMS

project deliverables

HOLDGENERALIZA-

TIONSESSIONS

HOLDGENERALIZA-

TIONSESSIONS

RELEASERELEASEMAKE

DOCUMENTA-TION

MAKEDOCUMENTA-

TION

PERFORMMETRICS

PERFORMMETRICS

REFACTORCODE

REFACTORCODE

reusable items

This is the recognition that the short-term pressures of software development result in the temptation for developers to settle for specific, non-reusable solutions. In this process, application specific items are identified and then reworked to be reusable by other development teams.

Page 14: X36SSP Správa softwarových produktů 6.  přednáška

TEST IN THE SMALL TEST IN THE SMALL

DEVELOPTESTPLAN

DEVELOPTESTPLAN

modelssource coderequirementsmaster test quality assurance plan

SCENARIOAND

PROCESSTEST

SCENARIOAND

PROCESSTEST

RECORDDEFECTSRECORDDEFECTS

WALK-THROUGHMODELS

WALK-THROUGHMODELS

USERINTERFACE

TESTING

USERINTERFACE

TESTING

PROGRAMCODE

TESTING

PROGRAMCODE

TESTING

REVIEWTECHNICAL

DESIGN

REVIEWTECHNICAL

DESIGN

INSPECTSOURCE

CODE

INSPECTSOURCE

CODE

REVIEWPROTOTYPES

REVIEWPROTOTYPES

tested artifactstest resultsmaster testquality assurance plan

This process focuses on the verification, validation, and testing of documents, models, and source code produced. In many ways it is quality assurance techniques such as peer reviews and inspections combined with unit testing techniques for validating code.

Page 15: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASEChecklistChecklist

Page 16: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT to be performed checklist

the models for the application have been developed and validated

the source code for the application have been developed and validated

reusable artifacts have been identified potential artifacts to be generalized for reuse

have been identified and potentially generalized user documentation has been developed decisions (both made and forgone) were

documented into group memory metrics have been collected

Page 17: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT exit conditions checklist

requirement allocation matrix has been updated project plan was updated appropriately models, source code and documentation were

baselined test plan has been updated for for the test in the

large user, support and operations documentation is

ready for testing application has been packaged for testing training, release, and project plans have been

updated appropriately

Page 18: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASEModel StageModel StageChecklistsChecklists

Page 19: X36SSP Správa softwarových produktů 6.  přednáška

Model entrance conditions checklist

initial requirements have been documented and accepted

modeling and programming tools were prepared subject matter experts have been scheduled team members have been given the appropriate

training

Page 20: X36SSP Správa softwarových produktů 6.  přednáška

Model to be performed checklist

models were assembled and validated user interface prototype was developed and validated assumptions made during modeling were challenged

and documented appropriately manual processes, legacy applications, and new

system development was identified and modeled accordingly

requirement allocation matrix was updated/developed reusable artifacts have been identified and used risk assessment document has been updated decisions (both made and forgone) were documented

into group memory metrics have been collected

Page 21: X36SSP Správa softwarových produktů 6.  přednáška

Model exit conditions checklist

models have been appropriately documented models have been validated test plan has been updated models have been accepted by the team models have been accepted by senior

management

Page 22: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASE

PProgramrogram Stage Stage

CheklistsCheklists

Page 23: X36SSP Správa softwarových produktů 6.  přednáška

Program entrance conditions checklist

appropriate models are available development tools are installed professional programmers are available team members have appropriate training

Page 24: X36SSP Správa softwarových produktů 6.  přednáška

Program to be performed checklist

programmers worked with the designers to understand models

source code was written and documented source code was synchronized with models source code was prepared for inspection during

test in the small integration plan was prepared reusable artifacts have been used risk assessment document has been updated decisions (both made and forgone) were

documented into group memory metrics have been collected

Page 25: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASE

GGeneralizeeneralize Stage Stage

CheklistsCheklists

Page 26: X36SSP Správa softwarových produktů 6.  přednáška

Generalize entrance conditions checklist

project deliverable experienced reuse engineers are available organizational support for reuse exists team members have been given the appropriate

training

Page 27: X36SSP Správa softwarových produktů 6.  přednáška

Generalize to be performed checklist

potential reusable items have been identified generalization sessions were held potentially reusable items were refactored reusable items were documented examples of how to reuse reusable items were

documented reusable items were released into the repository

and made accessible to all developers risk assessment document has been updated decisions (both made and forgone) were

documented into group memory metrics have been collected

Page 28: X36SSP Správa softwarových produktů 6.  přednáška

Generalize exit conditions checklist

generalized items have been submitted to the reuse repository

all developers have been made aware of new items

Page 29: X36SSP Správa softwarových produktů 6.  přednáška

CONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASECONSTRUCT PHASE

Test in Test in tthe he ssmall Stagemall StageChecklistsChecklists

Page 30: X36SSP Správa softwarových produktů 6.  přednáška

Test in the small entrance conditions checklist

there are artifacts to be tested test plan exists requirements have been documented team members have appropriate training

Page 31: X36SSP Správa softwarových produktů 6.  přednáška

Test in the small to be performed checklist

test plan was updated appropriately models were reviewed and walked through and

accepted user interface prototypes were reviewed and tested source code was inspected and improved before

being tested perform software testing defects were recorded and analyzed risk assessment document has been updated decisions (both made and forgone) were

documented into group memory metrics have been collected

Page 32: X36SSP Správa softwarových produktů 6.  přednáška

Test in the small exit conditions checklist

all items have been tested, reviewed and updated accordingly

master test has been updated for “test in the large”

Page 33: X36SSP Správa softwarových produktů 6.  přednáška

Závěr

• Konstrukční fáze projektu je to,co se obvykle (+/-) učí jako SI (softwarové inženýrství).

• Celé programování je pouze jedna krabička z celé Konstrukční fáze!

Čím větší je projekt, tím důležitější pro jeho úspěch jsou věci, které stojí mimo

vlastní programování!

Page 34: X36SSP Správa softwarových produktů 6.  přednáška

• Konstrukční fáze projektu je to,co se obvykle (+/-) učí jako SI (softwarové inženýrství).

• Celé programování je pouze jedna krabička z celé Konstrukční fáze!

Závěr

Čím větší je projekt, tím důležitější pro jeho úspěch jsou věci, které stojí mimo

vlastní programování!

Page 35: X36SSP Správa softwarových produktů 6.  přednáška