510 likes | 519 Views
Learn how to define workflow, organize tasks, and manage resources in the software development process using InterFas software. This course covers life cycle strategies, methods, and tools for building software and adapting to new or changed requirements.
E N D
Software process : managing workflow with InterFas Anne-Marie HUGUESESSI University of Nice Sophia Antipolis FRANCE
Agenda The software process : defining workflow : life cycle strategies organizing workflow Software process resources life cycle phases methods and tools InterFas
Building software With resources components New or changed requirements Software Production Process New or changed software product • Quality attributes • adequacy • Efficiency • Reliability • Testability • Evolutivity , • Maintainability, • Traçeability Legacy system Under constraints • Software architecture
Software Process Management Is responsible tasks Team worker Produces intermediateartifacts Uses tools methods process
Workflow : principles Team 3 Team 1 Team 2 Milestones + Rules + Where Workflow + Association Dynamic A B C
Organizing tasks • HOW : • Life cycle models • resources
Life cycle strategies Cartesian approach top down Heuristics bottom up V or waterfall life cycle old economy (1) Usable iterations Operationnal solution Incremental life cycle prototyping spiral, fountain model DSDM, RAD new economy (2)
Life cycle strategy : classical model Define scope and risk specify Support plan Deploy design Qualify develop validate
Life cycle strategy The spiral model [Boehm 88] release1 • Iteration : group of activities • D : definition of objectives, alternatives and constraints; • V: product development and verification • S : solution evaluation, risk; analysis; • P : planning subsequent phases • resulting in an executable (intermediate) release P D S V iteration 2 iteration n Final Product Release n
Life cycle strategy The fountain model • Henderson 93
The subsystem fountain model • Henderson 93
The Rational Unified Process • a Process Framework
Life cycle strategy Component oriented process requirements Projectmanagement Available components Non executable component recollection (doc) executable component recollection (source, tests) Quality standards Planification Configurationmanagement Analysis, design, code validation iteration 1 Analysis, design, code validation Analysis, design, code validation Analysis, design, code validation Analysis, design, code validation Documentationmanagement iteration n Quality manual iteration n Qualitymanagement deployment Riskmanagement Recollection
Agenda The software process : defining workflow : life cycle strategies organizing workflow Software process resources life cycle phase Artifacts Methods Tools InterFas
Life cycle phases Define objectives and requirements • Define objectives • ex :IS re-engineering of an insurance company to provide vendors with laptop computers with EIS • strategic • Define requirements: • describe functions and constraints • Tools • word, frame maker...
Life cycle phases Define objectives and requirements Specify • Define product • specifications • prototype ; user manual ; • glossary • UML ; entity relationship • Rational Rose ; AMC designor , ORACLE CASE.… • word, frame maker
Life cycle phases Define objectives and requirements • Planning and management • quality planand estimatefor client • price, calendar, management external dependencies • projectplan for developers • calendar , costs, resources • dependencies • COCOMO (2) ; function points • MS Project ; • word, frame maker... Specify plan
Life cycle phases Define objectives and requirements Specify • global design • architecture design • software design • integration plan • update planning • detailed design : • algorithms, components • UML ; Rational rose, design patterns • libraries; frameworks plan design
Life cycle phases • Code , unitary tests • tested modules • gnu.. jbuilder, VC++, VB, • make, debuggers , profilers,.. • documentation of each module • Javadoc, Word • results of unitary tests. • Logiscope, tcov • updated planning • MS Project Define objectives and requirements Specify plan design Develop
Life cycle phases Define objectives and requirements Specify • Integration • software tested (factory test, alpha test) • regression tests • Winnrunner, • installation manual • final version of user manual • word , framemaker... plan design Develop validate
Life cycle phases Define objectives and requirements Specify plan • Qualification • tests in situ • non functional testing (performance, reliability...) design Develop Qualify validate
Life cycle phases Define objectives and requirements Specify plan Packaging targz , make Distribute design Develop Qualify validate
Life cycle phases Define objectives and requirements Specify Support • Maintenance • incident report • change requirement • modified documentation , code, components • new regression tests • make, cvs, rcs , DBMS plan Distribute design Develop Qualify validate
Life cycle phases Define objectives and requirements Specify Support plan Distribute design Develop Qualify Cvs , rcs validate Project management ; documentation management, configurations management
WHO : Working in team Tech.Comp. Intégration Domain comp. Subsystem 1 Subsystem2
A more complex process Project management Quality insurance Data admin. Technical Support Research Technical comp. Intégration Functional SsPrj 1 SsPrj 2
ConclusionManaging workflow to manage quality WHY WHAT WHO WHEN WHERE HOW rules , life-cycle strategy technology methods , tools Client responsibility Requirements ; client / project manager Project manager / team calendar workspaces
Agenda The software process : defining workflow : life cycle strategies organizing workflow Software process resources life cycle phases methods and tools InterFas The product An experience
The product : requirementsManaging resources Tools documentation specification design code test configuration management Time Space For people According to rules
Managing the process with InterFas InterFas enables you to define your own process model using sheets InterFas provides operational support to software project organization with respect of the fixed rules according to international standards (ISO…)
InterFas manages workflow The sheet associated with a workflow supports the process dynamic , it defines who does the work who validates it which tools are needed where the result has to be put
InterFas : Sheets Insert A logical view Physical resources
InterFas manages workspaces InterFas defines three working areas user group process according toproject organization
Work areas Process Group User Common Private Save Get New Edit Build Restore Put Publish Publish Merge Del Install Del Release PrivLib ComLib Exéc. Image Del
Communicate/exchange Process Group User Common Release Private Insert Restore Use Del Sheet Del Send Publish PrivLib ComLib Qualify Exec Send Receive Free Del Install Del InBox Accept Recept Image
InterFas manages team work InterFas provides a common workstation which allows each worker to be an actor of the quality insurance process according to his (her) role.
InterFas manages components The basic entity manipulated by InterFas is a module i.e. a logical component with all its attributes The module is independent from technology (reproductibility and traceability )
Module : the reference entity Tools Sources reusability Traceability deliverable API Comp.
InterFas manages versions Variability among a product line is mainly obtained in industry by version and configuration management The reference workspace enables version management of modules
Managing versions Merge V1.1p V0.8 V1.0 V1.2 V1.3 Branch V2.0 V2.1 V2.2 V2.2 V1.1 Save
Reference workspace V1.0 New Save Edit V1.1.1 V1.1 Module versions Version resources Module Archive
InterFas is technology independent InterFas accepts your own tools Integration of your favorite tool is made with a driver
InterFas is technology independent GUI InterFas Kernel Services OS Tools Storage DB Version Drivers Tools
An experience with InterFas • Insurance company • 4 management centers • 400 - 500 agencies (1 to 10 persons) • Objective: • increase sales • improve quality • Constraint : • migration from Bull GCOS7 • to client-server architecture , windows NT
InterFas benefits Before InterFas 7 teams 7 domain workspaces technical workspace common workspace integrating workspace stabilised workspace many problems of coordination With InterFas Beta test before using InterFas 2-3 month With InterFas one week 1/5 gain for the person in charge of integration
InterFas : quality assurance support • InterFas enables definition and administration of a software process based on components (modules) • InterFas provides each user with a workstation that enables him (her) to identify as an actor of the process • InterFas gives an operational support to the organization of a project in respect of the fixed rules
Conclusion and future work • developing numerous pilots for different tools • connect InterFas with MsProject to connect workflow and resource management. • formalization of the workflow • creation of organizational patterns that would be ready to used.