SCM in IMN BTS SW Development - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

SCM in IMN BTS SW Development

Description:

check-in. check-out. merge. version history NOKIA scmpvcsinimn.PPT / 24.03.2003 / JaPu page: 18 ... Procedure: Step 1: Create a release workset ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 43
Provided by: jla9
Category:
Tags: bts | imn | scm | development

less

Transcript and Presenter's Notes

Title: SCM in IMN BTS SW Development


1
SCM in IMN BTS SW Development
2
Content
  • Elements of the SCM solution
  • SCM planning
  • PVCS Networking
  • Introduction to usage of PVCS
  • Parallel development
  • Using branches in SW project
  • SW Development Framework from the SCM point of
    view
  • Build process
  • Tasks Roles

3
Elements of the SCM solution
SCM Plan
SCM System
Planning
SCM Adoption
Management
Process
Automation
Culture
Product
People
4
SCM planning
SCM process
SCM plan
Project plan
PVCS Definitions
Test plan
SCM manager plans and manages e.g. - resources -
schedules - SW packages - structures - Quality
issues - Multisite issues
Build plan
Release test plan
Integration plan
SCM management
5
PVCS Networking
6
PVCS
Windows Terminal Server (Citrix)
PVCS
Windows Terminal Server (Citrix)
Networking NT Node NT Account
Networking NT Node NT Accaunt
SUBCONTRACTORS
NT server
PCMS
WTS
Win NT
HP-UX
NT Server
7
PVCS Dimensions
  • Process and Configuration Management System
  • Version control book keeping of files
  • Building by Make ( PVCSMake and Pnmake)
  • Freezing by baselines
  • Process support by lifecycles for Items
  • Change Management
  • Workspace Management
  • Parallel development
  • Integration with third party tools using API or
    Microsoft SCC (Source Code Control) interface
  • Multisite support

8
PVCS backbone
  • ORACLE Relational Database
  • Information related to a product
  • File (Item) information, e.g. owner, time stamp,
    attributes
  • Baseline information
  • In general all METADATA
  • SCCS / VM (Unix) / CMS (VMS) Archive
  • Storage of files
  • Optional compression (UNIX Compress)
  • Delta-libraries (SCCS or PVCS VM on UNIX, PVCS VM
    on NT)

9
Basedatabases in Oulu
C
OSE_DSP
OSE_DSP
SIMU_ TOOLS
G
RHAPSODY
RHAPSODY
H
OSE_DELTA
OSE_DELTA
A
Basedatabase Tools
Basedatabase XX
A
C
B
D
E
F
Oulu
Basedatabase YY
Basedatabase
Oracle database
Product
10
Basedatabases Replication in Oulu
C
OSE_DSP
OSE_DSP
SIMU_ TOOLS
G
RHAPSODY
RHAPSODY
H
OSE_DELTA
OSE_DELTA
A
Basedatabase Tools
Basedatabase XX
C
A
Oulu
Basedatabase YY
Basedatabase
Oracle database
Product
Replication
11
Sites replication
G
G
OSE_DSP
OSE_DSP
Basedatbase XX
Basedatbase XX
Kista
Oulu
Basedatabase
Oracle database
Product
Replication
12
Introduction to Worksets
file1.c revision 1
file1.c revision 2
file2.c revision 10
file2.c revision 6
File3.h revision 5
File12.h revision 6
File4.h revision 3
File4.h revision 4
File5.h revision 1
File5.h revision 12
G
File6.c revision 2
OSE_DSP
file11.c revision 3
OSE_DELTA
A
Workset 1
Workset 2
Basedatabase XX
13
Introduction to Worksets
  • Definition
  • A workset is a collection of revisions of items.
    Work done in one workset does not affect other
    worksets Parallel development
  • A writable view on a set of file revisions
  • A workset is created within product context
  • one global Global workset including all
    revisions of all files
  • One current and one default workset per user
  • Workset Context
  • Most PVCS commands operate on the current workset
  • PVCSMake searches a list of worksets for files
  • Workset / filesystem directory structure
    correspond with local PC directory structure

14
Item types
  • The type of an Item defines
  • Process lifecycles
  • - Access rights based on roles
  • - Responsibility by pending lists
  • Item templates (if used)
  • Which items are selected into a baseline
  • Browse / Edit linkage of external applications
    (Notice that Windows associations are overriding
    any definitions made within PVCS)
  • Storage location (Item library)
  • Attributes (if used)
  • All SW documents and source codes are stored
    under PVCS control

15
Lifecycles
  • Every created file (Item) (e.g. source code or
    document) follows one and only one lifecycle
  • Product-manager role owner has the rights to omit
    the process

PRODUCT_MANAGER
AUTHOR
Draft
Proposal
Accepted
Released
ACCEPTOR
RELEASOR
ACCEPTOR
Rejected
16
Roles defined in lifecycles
  • BROWSER
  • Can browse (only read, not change) everything
  • AUTHOR
  • The role required in creating / modifying Items
  • The role required in creating baselines
  • ACCEPTOR
  • The role required in promoting Items to
    ACCEPTED-State
  • RELEASOR
  • The role required in promoting Items to
    RELEASED-State
  • BUILD-MANAGER
  • The role required in promoting baselines to
    ACCEPTED-State
  • The role required in promoting baselines to
    RELEASED -State
  • Roles are assigned to users on a part and workset
    basis

17
PVCS SCC Interface
Version control against selected PVCS workset -
operations e.g. check-in check-out
merge version history
18
Baseline
  • Definition
  • List of file (item) revisions
  • Defined on Workset and Part level
  • Once created it cannot be changed (exception is
    when you use Change documents)
  • Release baseline
  • - Created from a template
  • - Lifecycle and Item-type dependent
  • Naming conventions
  • ltname of SW configuration/productgtltversiongt_BL
  • Example DF30_BL
  • Uses of baseline
  • Freezing of a SW configuration
  • Marking of milestones

19
Baseline
hello.c hello.h hello.txt
hello.asm hello.rep hello.o hello.exe
1
2
3
4
5
6
7
1
2
3
4
test baseline
test baseline
1
2
3
First release baseline
test baseline
1
2
3
1
2
3
4
1
3
2
4
1
2
3
4
20
Baseline
21
Parallel development
22
Parallel multisite development
file.c
sitexx
1
2
siteyy
1
3
branch
File is read only in
File is read only in
sitexx
Site yy
2
4
File is owned by site
File is owned by Site
xx
yy
Site yy file version 2 and
Sitexx file version 5 merged
into Siteyy file version 3
3
5
Sitexx file version 5 is
updated with Sitexx file
version 3 into Sitexx file
version 6 after testing
6
23
Branching
ouFile.c
xe
Baseline
Merge
OU development
Increment 1 Baseline
inc1_
bugfix
Merge
Increment 2 Baseline
OU WS
Inc2 bugfix
Increment 3 development
Merge
XE WS
24
SW Development Framework from the SCM point of
view
SW Development Framework
SW Implementation
SW Environment
SW Build
EE (Engineering Environment versions tool
versions) EE Services (e.g. licenses,
maintenance, tool support)
Version Control (Documents, source codes,
components) Change management
SCM Build processes
Builds
Infra
SCM
25
SW Development Framework for BTS based products
The reason for having SW Development framework is
to have common methods for doing things in
product programs. Common methods ensure that we
have - better productivity (time and quality) -
easier communication with common language - short
running in time for new people if methods are
familiar from earlier programs - common and
shared target for all - common understanding how
the world looks like inside and outside of our
system These methods has to be - well-known -
well-communicated to all personnel - easy to
learn and to teach to new personnel - so good and
easy to use, that no one wants to do things "in
my own way" - controlled to be used in every
project
26
The content of SW Environment
27
The content of SW Build
SW Build
Structure for organizing of MAKE files in
PVCS
Using of common environment for compiling
Supports component SW package level
compiling
Has frozen version for all SW packages
MAKE files
Build core
Usage scripts
View to building
Interface via
Other common
Environment
EE
issues
28
SW Building
Integration
Release note
X
Y
Z
Integration
Kernel
Production Packet
Core_Build Baseline
BTS Build
SW_Impl. Baseline
Core_Build
SW_Implementation
Projects
lib files for Target and kernel, source files
Release note
SW_Env Baseline
Release note
lib files for Target and Softkernel, source files
SW_ENVIRONMENT
Component Baseline
Component Build
Component Baseline
Component Build
SW Engineering
EE (Engineering Environment)
SubSystem
Component
Component
Component
Component
Component
29
Overview of Build
Step 1. Launch pcmsmake
PVCS
Step 2. Logon to PVCS
Batch file (start-up) pcmsmake --wsltWORKSETgt -f
makefile.mak pcmsmake --wsltBASELINEgt -f
makefile.mak
Reading makefile, generating dependencies and
building executable
Fetch files
vpath .c uc_sw\commonvpath .h include DEFINE
-DI9601 -DNODEBUG INCLUDE -Iinclude
(I960BASE)\include OBJ_LIST obj1.o obj2.o
obj3.o obj4.o \ obj5.o obj6.o
obj7.o ALL runtime.hex
Using PATH, LIB, INCLUDEetc.. environment
variables
PVCS PC Client PVCS Make Compilers Other tools
30
Why Dimensions Make makefiles ?
  • The idea is to create a process that can be
    traced and repeated anytime
  • Dimensions Make is GNU compatible which makes
    more
  • Understandable
  • Flexible
  • Portable
  • Builds are not performed if all sub-targets or
    other dependencies is up-to-date
  • Dependency tracking is automated by using ADG

31
SW Build Environments- Simulation and HW
Integration Tests -
  • Windows NT/Windows 2000 based Build Environment
  • PVCS PC Client
  • PVCS Dimensions Make
  • Makefiles batch files
  • Compiler(s)
  • In-house tools
  • Procedure
  • Step 1 Create test workset
  • Step 2 Build SW by using Dimensions Make
    makefiles
  • Step 3 Create a Baseline

Designer's PC
32
SW Build Environments- Pre-Release and Release
Packages -
  • Windows NT/Windows 2000 based Build Environment
  • PVCS PC Client
  • PVCS Dimensions Make
  • Makefiles batch files
  • Compiler(s)
  • In-house tools
  • Procedure
  • Step 1 Create a release workset
  • Step 2 Build SW by using Dimensions Make
    makefiles
  • Step 3 Create a Baseline

Release Packaging PC
33
Packages in the SW Project
  • Packages for module and unit testing
  • Simulation environments
  • Test tools
  • Packages for HW testing
  • Integration testing
  • Packages to other systems testing)
  • Release packages
  • Pre-releases and releases

34
SW Build Process- Overview of the SW Build
Process
MAIN_WS
File 1 File 2 File 3 ...
TEST_WS
PERFORM TESTS Using PVCS Make External Make
tool
File 1 File 2 File 3 ...
BASELINE_003
BASELINE_002
BASELINE_001
35
SW Build Process- Stages of the SW Build Process
-
Process changes
New worksets needed etc.
Packaging process definition
Implementation
Packaging in practice
Should be proceeded, before packages are needed.
36
SW Build Process- Packaging Process Definition -
  • Definition of packages (what ?)
  • Simulation/HW integration/Release packages
  • PVCS structures used in packaging
  • What worksets, files exported from other worksets
    ?
  • Definition of baseline (what ? when ? how ?)
  • SW package delivery (where to put packages for
    other's use ?)
  • Multisite considerations (what packages are built
    in which sites?)
  • Sub-contractor considerations (what packages are
    built by which sub-contractors (in their own
    premises)?)

37
Multiple SW Build Processes
S I M U L A T I O N
Step-by-step Build Process
I N T E G R A T I O N
R E L E A S E S
38
SW Build Process Work Products
  • Document Build plan
  • Definition of the build process
  • SW project specific instructions if needed
  • Worksets, baselines and corresponding
  • Makefiles and corresponding
  • SW packages
  • Release build environments
  • Release build environments document

39
Audit Trail
AF package
Baseline 4
SW package
Baseline 3
Baseline 2
Baseline
Work Set
File1 revision 5 File2 revision 10 File3 revision
3 ...
40
SW Engineerings tasks
  • PVCS Dimensions tools
  • SCM support and training
  • Build support and training
  • teststeps and releases
  • Makefiles
  • Solutions for new tools
  • Templates
  • Makefiles
  • Batch files
  • Improvement based on projects experiences

41
SW Projects tasks
  • Project specific SCM and Build instructions
  • Procedures for
  • Building teststeps
  • Building releases
  • Makefiles
  • Based on templates
  • NOT a piece of cake
  • Building packages, etc

42
Roles
  • SCM person (SW project)
  • Creates project specific instructions
  • Build person (SW project)
  • Creates makefiles for specific SW area
  • Trains and coordinates packaging of his/her area
  • Make key/power user (SW project)
  • Can help others in make file problems
  • SCM and Build supporter (SW Engineering)
  • Instructions for version control
  • Instructions, templates and examples for
    packaging
  • General training
  • Assistance in defining SCM and build process
  • Does NOT write makefiles
Write a Comment
User Comments (0)
About PowerShow.com