Transcript Slide 1
X36SSP Správa softwarových produktů 5. přednáška Ing. Martin Molhanec ČVUT – FEL K13113 OBJECT ORIENTED SOFTWARE PROCESS Dnešní témata •Historie SP •Co je to OOSP •Z jakých částí se skládá •Inicializační fáze OOSP Software proces • Způsob vytváření softwarových produktů – – – – Programů Informačních systémů Webových sídel … Co je? • Proces – Série akcí, která má svůj vstup a svůj výstup • Pattern (vzor) – Popis obecného způsobu dobrého řešení • Antipattern – Popis obecného způsobu špatného řešení • OOSP – Object-Oriented Software Process Historie SP • Sériový vývoj (vodopád) – Nevýhodou je malá pružnost • Inkrementální (spirálový) – U velkých projektů je náročný na zdroje • Iterativní – Vývoj se děje po kouskách • Paralelní Dobrá cesta – Vývoj se děje současně Agilní metodiky objektově orientované paradigma a velké projekty Velké projekty je potřeba kvalifikovaně plánovat a řídit tak, aby se přednosti OO paradigmatu projevily a ne aby se staly ohrožením projektu. Není možné se pouze spoléhat na „zázračné“ vlastnosti nových programovacích jazyků a nástrojů. pro oblast řízení a podpory softwarových projektů máme různé metodiky: Rational Software Corporation.: RUP - Rational Unified Process rozsáhlá sada různých nástrojů a technik, je třeba si umět vybrat nepokrývá fázi údržby a provozu je šitý na míru smíšeným vývojovým nástrojům předpokládá klasický vývoj s UML S. W. Ambler: Object-Oriented Process Pattern jednodušší, procesně orientovaný, zahrnuje CMM, SCM, metriky, ... fáze údržby a provozu je aktivní součástí celého procesu důraz na využití refactoringu, znovupoužitelnosti a vlastností čistých nástrojů použitelný i pro XP, BORM SOFTWARE DEVELOPMENT PROCESS project initiation in-house development using packages INITIATION maintenance & support CONSTRUCTION • well define user requirements • well end efficient performed analysis DELIVER • start system use seamless and efectively MAINTAIN & SUPORT • to have satisfied users • repair defects • select optimal solution • best system assembling and testing • prepare all required for project start success ... • to have good documentation ... • well prepare users of the system ... • to have good knowledge base for possible new version start ... key performance issues Each phase has associate its key performance issues, corresponding roles, activities etc. GO NEXT Advanced SW Development Model (ASDM) • 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. INICIACE KONSTRUKCE PROVOZ DODÁNÍ • správně definovat požadavky na systém • provést dobře a efektivně analýzu • efektivně zahájit provoz systému • spokojenost uživatelů s podporou • vybrat optimální variantu řešení • co nejlépe sestavit a otestovat systém • dobře zaškolit uživatele • rychlá oprava chyb • naplánovat a připravit vše potřebné k zahájení projektu ... oblasti klíčových výkonnostních požadavků • mít dostatečnou znalostní bázi požadavků a návrhů pro novou verzi • mít řádnou dokumentaci ... ... ... Pro každou fázi jsou identifikovány charakteristické činnosti a k nim jsou definovány pracovní role a odpovědnosti. SOFTWARE DEVELOPMENT PROCESS project initiation INITIATE in-house development using packages CONSTRUCT JUSTIFY define and validate REQUIREMENTS define initial management DOCUMENTS define INFRASTRUCTURE MODEL TEST in the small GENERALIZE PROGRAM PROCESS project office team user experts maintenance & support MAINTAIN & SUPORT DELIVER TEST in the large REWORK development team RELEASE SUPPORT ASSESS identify defects and enhancements support team end-users quality assurance, manage project, trainig&education, manage people, manage risk, manage reuse, manage metrics, manage deliverables, manage infrastructure GO NEXT Scott W. Ambler: Object-Oriented Process Pattern činnosti provozované na vývojové a testovací platformě INITIATE činnosti provozované na provozní platformě CONSTRUCT DELIVER MAINTAIN & SUPPORT JUSTIFY DEFINE REQUIREMENTS MODEL TESTS IN THE SMALL TESTS IN THE LARGE RELEASE SUPPORT DEFINE MGMT DOCUMENTS DEFINE INFRASTRUCTURE GENERALIZE PROGRAM REWORK ASSESS IDENTIFY DEFECTS zahajovací tým pracovní tým podpora týmem projektové kanceláře spolupráce zástupců budoucích uživatelů provozní tým podpora týmem „help desk“ spolupráce všech budoucích uživatelů PODPŮRNÉ PROCESY zajištění kvality, people management, risc management, reuse management, právní zabezpečení, bezpečnost, řízení infrastruktury, ... SUPPORT PROCESSES FOR THE ADVANCE SOFTWARE DEVELOPMENT MODEL QUALITY ASSURANCE FOLLOW ISO STANDARDS REUSE MANAGEMENT COLLECT REUSABLE ITEMS RISK MANAGEMENT TRAINING & EDUCATION IDENTIFY A RISK ASSESS THE RISK DEVELOP MITIGATION STRATEGIES DEVELOP A RISK MANAGEMENT PLAN MITIGATE THE RISK REPORT RISK METRICS MANAGEMENT DEVELOP METRICS PLAN PERFORM AND DISCUSS PERFORM INTRO TRAININGS PERFORM DETAILED TRAININGS DEVELOP A TRAINING PLAN DELIVERABLES MANAGEMENT MANAGE SOFTWARE CONFIGURATION INFRASTRUCTURE MANAGEMENT APPLY CMM, … TECHNIQUES Nasazení rolí v jednotlivých fázích je odlišné model program generalize test in the small … development engineer modeler project manager subject matter expert / user technical writer Složení týmu a nasazení jeho členů se v různých fázích ASDM mění. Alokace lidských zdrojů INITIATE CONSTRUCT DELIVER MAINTAIN & SUPPORT !!! při zahájení projektu se nemá plýtvat pracovní silou !!! poměr programátorských profesí k analytickým klesá se mění v závislosti na fázi projektu. Struktura ASDM allocated maintenance changes Co do dané fáze vstupuje! from maintain & support phase INITIATE PHASE The main goal is to lay the foundation for a successful project. This is hard due to pressures by senior management and developers to start “real work” as soon as possible. define defineand and validate validate REQUIREREQUIREMENTS MENTS JUSTIFY JUSTIFY define define initial initial management management DOCUMENTS DOCUMENTS Co se v dané fázi dělá! management documents initial req uirement project infrastructure project fund ing project charter define define INFRAINFRAST RUCTURE ST RUCTURE potential roles during this phase : project manager standards specialist analyst tools specialist subject matter expert project sponsor quality assurance engineer estimator / planner JAD / meeting facilitator process specialist infrastructure engineer Co je výstupem dané fáze! technical writer Jaké role se v dané fázi uplatňují! Struktura ASDM allocated maintenance changes from maintain & support phase INITIATE PHASE The main goal is to lay the foundation for a successful project. This is hard due to pressures by senior management and developers to start “real work” as soon as possible. define defineand and validate validate REQUIREREQUIREMENTS MENTS JUSTIFY JUSTIFY define define initial initial management management DOCUMENTS DOCUMENTS management documents initial req uirement project infrastructure project fund ing project charter define define INFRAINFRAST STRUCTURE RUCTURE potential roles during this phase : project manager standards specialist analyst tools specialist subject matter expert project sponsor quality assurance engineer estimator / planner JAD / meeting facilitator process specialist infrastructure engineer This is determining what needs to be built. Initial requirements are a foundation from which modeling can begin. DEFINE AND VALIDATE INITIAL REQUIREMENTS technical writer vision commitment reasib ility study existing applications main ten ance changes DEFINE DEFINE SYSTEM SYSTEM FUNCTIONS FUNCTIONS DEFINE DEFINE SYSTEM SYSTEM SCENARIOS SCENARIOS DRAW DRAW PROCES PROCES MAPS MAPS HOLD HOLD SESSIONS SESSIONS CREATE CREATE MODELING MODELING CARDS CARDS PRIORITIZE PRIORITIZE REQUIREREQUIREMENTS MENTS INTERVIEW INTERVIEW USERS USERS SIMULATE SIMULATE SCENARIOS SCENARIOS WALK WALK THROUGH THROUGH PROT OTYPES PROTOTYPES requirement documentation (forms, tables, diagrams, ...) project scop e INITIATE PHASE The main goal of the Initiate phase is to lay the foundation for a successful project. INITIATE PHASE The main goal is to lay the foundation for a successful project. This is hard due to pressures by senior management and developers to start “real work” as soon as possible. allocated maintenance changes define and validate REQUIREMENTS JUSTIFY define initial management DOCUMENTS from maintain & support phase management documents initial requirement project infrastructure project funding project charter define INFRASTRUCTURE to construct phase potential roles during this phase: project manager standards specialist analyst tools specialist subject matter expert project sponsor quality assurance engineer estimator / planner JAD / meeting facilitator process specialist infrastructure engineer technical writer This is determining what needs to be built. Initial requirements are a foundation from which modeling can begin. DEFINE AND VALIDATE INITIAL REQUIREMENTS vision commitment reasibility study existing applications maintenance changes DEFINE SYSTEM FUNCTIONS DEFINE SYSTEM SCENARIOS DRAW PROCES MAPS HOLD SESSIONS CREATE MODELING CARDS PRIORITIZE REQUIREMENTS INTERVIEW USERS SIMULATE SCENARIOS WALK THROUGH PROTOTYPES requirement documentation (forms, tables, diagrams, ...) project scope Analýza požadavků Purpose of this process is to initiate documents such as the project plan and project risk assessment. They must be started at the beginning of the project and then maintained throughout its life. DEFINE INITIAL MANAGEMENT DOCUMENTS DEFINE TASKS reasibility study project infrastructure initial requirements project objectives CREATE INITIAL ESTIMATE CREATE INITIAL SCHEDULE CREATE INITIAL RISK ASSESMENT DEFINE PROJECT SCOPE CREATE INITIAL QUALITY ASSUR. PLAN project plan risk assessment master test quality assurance plan Definice dokumentů pro management The purpose is to determine whether or not an application should be built. It is a reality check to determine whether or not a project makes a sense. JUSTIFY vision estimate requirements documentation schedule risk assessment IDENTIFY IMPLEMENTATION ALTERNATIVES DETERMINE OPERATIONAL FEASIBILITY DETERMINE ECONOMIC FEASIBILITY DETERMINE TECHNICAL FEASIBILITY IDENTIFY RISKS feasibility study recommendations project funding risk assessment CHOOSE ALTERNATIVE Studie proveditelnosti Feasibility Study The project infrastructure is made up of the project team, the tools that they will use, and a tailored version of the software development process that the team will follow. DEFINE INFRASTRUCTURE SELECT TOOLS project plan initial requirements feasibility study existing infrastructure SELECT METHODOLOGY DEFINE TEAM SELECT STANDARDS AND GUIDELINES GREATE GROUP KNOWLEDGE BASE NEGOTIATE DELIVERABLES team definition (profile, skill database, ...) tools selection tailored software process group knowledges Definice infrastruktury (Architektury projektu) INITIATE PHASE Checklists INITIATE entrance conditions checklist senior management support exists to initiate a new project maintenance changes pertaining to previous version (if any) are identified infrastructure is available INITIATE to be performed checklist the initial requirements have been defined and validated the initial management documents have been defined the project has been technically, economically and operationally justified required project infrastructure has been defined potential reusable artifacts have been identified project team has been identified and trained where appropriate INITIATE exit conditions checklist project plan has been accepted by senior management project schedule has been accepted by senior mgmt initial risk assessment has been performed initial requirements have been accepted by senior management appropriate standards and guidelines have been identified software development process has been tailored to meet specific needs for the project appropriate tools are prepared/installed project funding has been obtained project charter has been defined and accepted project team has been assembled lessons learned have been identified - team should take the time to consider the processes that could be improved INITIATE PHASE Define and validate initial requirements Stage Checklists Define and validate initial req. to be performed checklist business process models have been developed and validated user interface prototype has been developed and validated (if appropriate) technical requirements have been documented and validated operation and support requirements have been documented and validated requirements have been prioritized requests of appropriate stakeholders have been considered reusable artifacts have been identified risk assessment document has been updated decisions (both made and forgone) were documented into group memory metrics have been collected Define and validate initial req. exit conditions checklist requirement documents have been validated and accepted by the user community requirement documents have been validated and accepted by the senior management the scope of the project has been defined and accepted definition of the functionality that will, and will not, be implemented INITIATE PHASE Define the initial management documents Stage Checklists Define the initial mgmt documents entrance conditions checklist the project infrastructure has been selected the feasibility study has been at least started the project objectives have been identified and agreed to initial requirements have been defined Define the initial mgmt documents to be performed checklist build-versus-buy decisions have been made application release schedule has been defined or updated project estimate has been developed and accepted metric plan has been developed and accepted project plan has been developed and accepted assumptions and constraints have been documented risk assessment has been started test plan has been developed and accepted reusable artifacts have been identified risk assessment document has been updated decisions (both made and forgone) were documented into group memory metrics have been collected Define the initial mgmt documents exit conditions checklist initial version of the project plan has been accepted by senior management initial version of the project plan has been accepted by the development team initial version of the risk assessment has been accepted by senior management INITIATE PHASE Justify Stage Checklists Justify entrance conditions checklist development of the requirements documents has begun development of the project plan has begun development of the risk assessment has begun definition of the project infrastructure has begun access to key users, technical experts, and financial experts has been obtained Justify to be performed checklist implementation alternatives were identified and considered economic feasibility of each alternative was determined cost/benefit analysis was performed technical feasibility of each alternative was determined operational feasibility of each alternative was determined alternatives were suggested to senior management for approval risk assessment document has been update decisions (both made and forgone) were documented into group memory metrics have been collected INITIATE PHASE Define infrastructure Stage Checklists Define infrastructure entrance conditions checklist development of the initial requirements has begun development of the project plan has begun development of the feasibility study has begun existing infrastructure is available Define infrastructure to be performed checklist project team has been defined skill assessment for each team member has been defined required training for each member has been defined and performed project skill matrix was developed potential subcontractors have been contracted project deliverables have been negotiated with senior management and agreed to group memory has been organized shared library of books etc. is available reusable artifacts have been identified risk assessment document has been updated decisions (both made and forgone) were documented into group memory metrics have been collected Define infrastructure exit conditions checklist the team has been accepted by senior management the tailored software process has been accepted by the team members the tailored software process has been accepted by senior management group memory has been initiated Poznámky •Co je to studie proveditelnosti •Co je to infrastruktura projektu •Rizika v inicializační fázi •Co je to Group Memory •Co je to tým •Co je to Change request Feasibility study • can the system be built (technically feasible) • can we afford to build the system (economically feasible) • can we maintain and support the system (operationally feasible) Project infrastructure • team defined for the project • tools defined for the project • processes defined/selected for the project Potential risks in initiate phase • senior management pressures to start too early • pressure to bring people on the project too early • beware the new toy syndrome • resistance to change Group memory • records of what team accomplished • decisions made • lessons learned Team definition • description of who will be involved with a project incl. its reporting structure • project skill matrix • organization chart Change requests • software change request for potential improvements of the deliverable or inconsistency with the requirements • software problem report of potential software defects identified A na závěr! Pro řízení velkých projektů využívajících objektovou technologii je třeba nastavit procesy včetně rolí participantů v procesech zajistit potřebnou infrastrukturu (projektová kancelář, nástroje, ...) vyřešit problém měření kvality vhodně nastavit motivační faktory podporovat objektově orientované paradigma shromažďovat znovupožitelné komponenty (CONSTRUCT/generalize) uchovávat všechna rozhodnutí a informace, budovat “group memory” využívat “group memory” (INITIATE/justify) rozvíjet lidský potenciál (DELIVER/assess) rozlišovat platformy (vývojová, testovací, provozní) není možné se spoléhat na “zázračné” vlastnosti moderních nástrojů