ניהול תצורה System / Software Configuration Management המרצה :  יהושע קליין בס " ד גרסה :  י " ז אדר ב תשס &quot...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM  </li></ul><ul><li>דוגמא להמחשה </li></u...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
בראשית ...
...  היה מתכנת אחד  ... מתכנת יישום משתמש מערכת תיקונים תוספות הזמנה תקלות שינויים
בעיה  1:  שחזור <ul><li>ארז ,  המתכנת ,  תיקן באג </li></ul><ul><li>אבל התיקון לא פתר את התקלה </li></ul><ul><li>עכשיו צרי...
הדברים הסתבכו מתכנתים יישומים משתמשים
סביבת פיתוח טיפוסית מתכנתים שרת Repository אינטגרציה בדיקות גיבויים רשת אילנה רון ארז Sandbox(es)
בעיה  2:  השינוי נעלם <ul><li>09:00 אילנה לוקחת תוכנית לתיקון </li></ul>פתרון  2:  ניהול מקור   Source Management  <ul><li...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
בעיה  3:  תאימות רוטינת   חישוב  גיל תאריך לידה DD/MM/YY  גיל   YYY
בעיה  3:  תאימות פתרון  3:  ניהול השינויים   Change Management  רוטינת   חישוב  גיל תאריך לידה DD/MM/ CC YY גיל   YYY
בעיה  4:  מוכנות המערכת פתרון  4:  קו בסיס   Baseline
בעיה  5:  פיתוח  &quot; בצד &quot; פתרון  5:  ענף   Branch
סיכום פתרונות פתרון  5:  ענף   Branch  פתרון  4:  קו בסיס   Baseline  פתרון  3 :  ניהול השינויים   Change Management  פתרו...
ניהול גרסאות   Version Control  <ul><li>Being able to reliably build and recreate versions of a product as it evolves and ...
מושג :  גרסה <ul><li>The initial release or re-release of a configuration item associated with a complete compilation or r...
ניהול מקור  Source management   על ידי נעילה Sandbox Sandbox Repository תוכנית 5.3.6 Check-in Check-in View Check-in Check...
ניהול שינויים רוטינת   חישוב  גיל
ההקלטה האחרונה ... המפקד לא רואה ,  חם ,  פתח את החלון !
שינוי <ul><li>שינוי מתחיל בבקשה לשינוי  (Change request) </li></ul><ul><li>בודקים משמעות השינוי :  משאבים ,  השפעות </li><...
תהליך השינוי בקשת שינוי זיהוי ה - Configuration Item רישום Change Request הערכת הבקשה חקר משמעויות שלם CCB החזרה למבקש דחי...
Configuration Item Tree  (Example)   “ The project” CI Models Subsystems Documents Object Model Dynamic Model Database Use...
הגדרת  Baseline   <ul><li>A specification or product that has been formally reviewed and agreed to by responsible manageme...
סוגי  Baselines <ul><li>Developmental  baseline  (Integration test) </li></ul><ul><ul><li>Goal: Coordinate engineering act...
ניהול   Baselines Release Baseline A (developmental) Baseline B (functional, 1st prototype) Baseline C  (functional,  β  t...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
Check-in  בסיסי גזע   Trunk  http://betterexplained.com/articles/a-visual-guide-to-version-control/ חלב r1 חלב ביצים r2 חל...
Check-out & Edit גזע   Trunk  חלב ביצים מרק Check out Check in Sand box Revert חלב ביצים מיץ r3 חלב ביצים מרק r4
Diff  מעקב שינויים   גזע   Trunk  חלב r1 חלב ביצים r2 חלב ביצים מיץ r3 חלב ביצים מרק r4 + ביצים + מיץ מיץ - מרק +
Branch  ענף   גזע   Trunk  שירותים חדשים חלב ביצים מרק לחם r7 חלב ביצים מרק r5 חלב ביצים מרק r4 חלב ביצים מרק אורז r6
Merge  מיזוג   גזע   Trunk  שירותים חדשים + אורז + לחם + אורז חלב ביצים מרק לחם r7 חלב ביצים מרק r5 חלב ביצים מרק r4 חלב ב...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
כלים של ניהול תצורה AccuRev  AllFusion BitKeeper Bugzilla Changelogic ClearCase codebeamer Configuration Management Kit Fo...
דוגמאות של כלים <ul><li>RCS (Revision Control System, ~1975) </li></ul><ul><ul><li>very old but still in use; only version...
MS Visual SourceSafe <ul><li>Weak </li></ul><ul><li>Unreliable </li></ul><ul><li>Idiosyncratic </li></ul><ul><li>Microsoft...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
Standards <ul><li>IEEE Std. 828-1998 IEEE Standard for Software Configuration Management Plans </li></ul><ul><li>ANSI/EIA-...
ניהול תצורה הגדרה לפי   IEEE  <ul><li>תהליך החותר לשמירה על עקביות המוצר ביחס למסמכיו המבוקרים לכל אורך חיי המוצר . </li><...
Guidelines <ul><li>IEEE Std. 1042-1987 IEEE Guide to Software Configuration Management  </li></ul><ul><li>MIL-HDBK-61A 7 F...
ISO 9000-3:1991  <ul><li>The [CM] system should </li></ul><ul><li>a) identify uniquely the versions of each software item;...
CMMI level 2 <ul><li>Identifying the configuration of selected work products that compose baselines at given points in tim...
מסמך שחרור גרסה SVD  Software Version Description <ul><li>זיהוי הגרסה  ( גרסה ,  מהדורה  Build ) </li></ul><ul><li>תיאור ה...
ניהול תצורה  -  נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של  SCM </li></ul><ul><li>דוגמא להמחשה </li></ul...
A definition <ul><li>A system for keeping track of large projects. Although version control, which maintains a database of...
פעילויות  SCM <ul><li>Configuration item identification   </li></ul><ul><ul><li>modeling of the system as a set of evolvin...
להתראות ! Thanks!
 
Upcoming SlideShare
Loading in...5
×

Scm

397

Published on

Software Change Management in Hebrew

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
397
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Scm"

  1. 1. ניהול תצורה System / Software Configuration Management המרצה : יהושע קליין בס &quot; ד גרסה : י &quot; ז אדר ב תשס &quot; ח 24/03/2008
  2. 2. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  3. 3. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  4. 4. בראשית ...
  5. 5. ... היה מתכנת אחד ... מתכנת יישום משתמש מערכת תיקונים תוספות הזמנה תקלות שינויים
  6. 6. בעיה 1: שחזור <ul><li>ארז , המתכנת , תיקן באג </li></ul><ul><li>אבל התיקון לא פתר את התקלה </li></ul><ul><li>עכשיו צריכים : </li></ul><ul><li>לבטל את ה -&quot; תיקון &quot; </li></ul><ul><li>לנסות תיקון אחר </li></ul><ul><li>אם שומרים את הקוד שהיה לפני התיקון הכושל </li></ul><ul><li>==> קל לשחזר </li></ul>פתרון 1: ניהול גרסאות Version Control
  7. 7. הדברים הסתבכו מתכנתים יישומים משתמשים
  8. 8. סביבת פיתוח טיפוסית מתכנתים שרת Repository אינטגרציה בדיקות גיבויים רשת אילנה רון ארז Sandbox(es)
  9. 9. בעיה 2: השינוי נעלם <ul><li>09:00 אילנה לוקחת תוכנית לתיקון </li></ul>פתרון 2: ניהול מקור Source Management <ul><li>10:00 ארז לוקח את אותה התוכנית לשינוי </li></ul><ul><li>15:00 אילנה מחזירה את התוכנית המתוקנת </li></ul><ul><li>17:00 ארז , עייף אבל מרוצה , מחזיר את התוכנית </li></ul><ul><li>09:00 למחרת , אילנה מסתכלת על התיקון – והוא נעלם ! </li></ul>
  10. 10. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  11. 11. בעיה 3: תאימות רוטינת חישוב גיל תאריך לידה DD/MM/YY גיל YYY
  12. 12. בעיה 3: תאימות פתרון 3: ניהול השינויים Change Management רוטינת חישוב גיל תאריך לידה DD/MM/ CC YY גיל YYY
  13. 13. בעיה 4: מוכנות המערכת פתרון 4: קו בסיס Baseline
  14. 14. בעיה 5: פיתוח &quot; בצד &quot; פתרון 5: ענף Branch
  15. 15. סיכום פתרונות פתרון 5: ענף Branch פתרון 4: קו בסיס Baseline פתרון 3 : ניהול השינויים Change Management פתרון 2: ניהול מקור Source Management פתרון 1: ניהול גרסאות Version Control
  16. 16. ניהול גרסאות Version Control <ul><li>Being able to reliably build and recreate versions of a product as it evolves and after it is released. </li></ul><ul><li>Being able to retreat to a previous version if necessary </li></ul><ul><li>Being able to recreate all versions of the product that customers have </li></ul>
  17. 17. מושג : גרסה <ul><li>The initial release or re-release of a configuration item associated with a complete compilation or recompilation of the item. </li></ul><ul><li>Different versions have different functionality. </li></ul><ul><li>Item : לאו דווקא תוכנית </li></ul>
  18. 18. ניהול מקור Source management על ידי נעילה Sandbox Sandbox Repository תוכנית 5.3.6 Check-in Check-in View Check-in Check-in Check-out 5.3.7 Check-out 5.3.8
  19. 19. ניהול שינויים רוטינת חישוב גיל
  20. 20. ההקלטה האחרונה ... המפקד לא רואה , חם , פתח את החלון !
  21. 21. שינוי <ul><li>שינוי מתחיל בבקשה לשינוי (Change request) </li></ul><ul><li>בודקים משמעות השינוי : משאבים , השפעות </li></ul><ul><li>קובעים סדר עדיפויות </li></ul><ul><li>קובעים הגרסה אשר תכלול את השינוי </li></ul><ul><li>מתאימים התאמות שונות לשינוי כגון בדיקות </li></ul>
  22. 22. תהליך השינוי בקשת שינוי זיהוי ה - Configuration Item רישום Change Request הערכת הבקשה חקר משמעויות שלם CCB החזרה למבקש דחייה לפיתוח אישור גרסת יעד חסר
  23. 23. Configuration Item Tree (Example) “ The project” CI Models Subsystems Documents Object Model Dynamic Model Database User Interface . . . . Code Data Unit Test RAD ODD . . . . . . . . . . . .
  24. 24. הגדרת Baseline <ul><li>A specification or product that has been formally reviewed and agreed to by responsible management, that thereafter serves as the basis for further development, and can be changed only through formal change control procedures. </li></ul>
  25. 25. סוגי Baselines <ul><li>Developmental baseline (Integration test) </li></ul><ul><ul><li>Goal: Coordinate engineering activities </li></ul></ul><ul><li>Functional baseline (first prototype, alpha release) </li></ul><ul><ul><li>Goal: Get first customer experiences </li></ul></ul><ul><li>Product baseline (product) </li></ul><ul><ul><li>Goal: Coordinate sales and customer support </li></ul></ul><ul><li>Many naming scheme exist (1.0, 3.14159, 6.01a,, ...) </li></ul><ul><li>A 3 digit scheme is quite common: </li></ul>MacOS X 10.3.6 Release (Customer) Version (Developer) Revision (Developer)
  26. 26. ניהול Baselines Release Baseline A (developmental) Baseline B (functional, 1st prototype) Baseline C (functional, β test) Time סביבת פיתוח
  27. 27. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  28. 28. Check-in בסיסי גזע Trunk http://betterexplained.com/articles/a-visual-guide-to-version-control/ חלב r1 חלב ביצים r2 חלב ביצים מיץ r3 חלב ביצים מרק r4
  29. 29. Check-out & Edit גזע Trunk חלב ביצים מרק Check out Check in Sand box Revert חלב ביצים מיץ r3 חלב ביצים מרק r4
  30. 30. Diff מעקב שינויים גזע Trunk חלב r1 חלב ביצים r2 חלב ביצים מיץ r3 חלב ביצים מרק r4 + ביצים + מיץ מיץ - מרק +
  31. 31. Branch ענף גזע Trunk שירותים חדשים חלב ביצים מרק לחם r7 חלב ביצים מרק r5 חלב ביצים מרק r4 חלב ביצים מרק אורז r6
  32. 32. Merge מיזוג גזע Trunk שירותים חדשים + אורז + לחם + אורז חלב ביצים מרק לחם r7 חלב ביצים מרק r5 חלב ביצים מרק r4 חלב ביצים מרק אורז r6 חלב ביצים מרק לחם אורז r8
  33. 33. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  34. 34. כלים של ניהול תצורה AccuRev AllFusion BitKeeper Bugzilla Changelogic ClearCase codebeamer Configuration Management Kit Fossil Mercurial MKS Source PVCS Professionale Perforce PureCM Visible System's Razor Sablime SharpForge StarTeam Surround SCM Synergy/CM Trac Vault Visual Enabler Visual Source Visual Studio Team System Subversion (software)
  35. 35. דוגמאות של כלים <ul><li>RCS (Revision Control System, ~1975) </li></ul><ul><ul><li>very old but still in use; only version control system </li></ul></ul><ul><li>CVS (Concurrent Version Control) </li></ul><ul><ul><li>based on RCS, allows concurrent working without locking </li></ul></ul><ul><li>Perforce </li></ul><ul><ul><li>Repository server; keeps track of developer’s activities </li></ul></ul><ul><li>ClearCase </li></ul><ul><ul><li>Multiple servers, process modeling, policy check mechanisms </li></ul></ul>
  36. 36. MS Visual SourceSafe <ul><li>Weak </li></ul><ul><li>Unreliable </li></ul><ul><li>Idiosyncratic </li></ul><ul><li>Microsoft Windows only </li></ul><ul><li>Apparently not used by Microsoft themselves </li></ul><ul><li>VSTS is better </li></ul>
  37. 37. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  38. 38. Standards <ul><li>IEEE Std. 828-1998 IEEE Standard for Software Configuration Management Plans </li></ul><ul><li>ANSI/EIA-649-1998 National Consensus Standard for Configuration Management </li></ul><ul><li>MIL-STD-973 Military Standard for Configuration Management (cancelled, but still good reference) </li></ul>
  39. 39. ניהול תצורה הגדרה לפי IEEE <ul><li>תהליך החותר לשמירה על עקביות המוצר ביחס למסמכיו המבוקרים לכל אורך חיי המוצר . </li></ul><ul><li>זיהוי ותיעוד מאפיינים , המצב הפונקציונאלי והפיזי של רכיב בודד . </li></ul><ul><li>בקרת שינויים . </li></ul><ul><li>תיעוד ושמירת תהליך השינוי . </li></ul><ul><li>מקור : גיון ברייס - טסנט </li></ul>
  40. 40. Guidelines <ul><li>IEEE Std. 1042-1987 IEEE Guide to Software Configuration Management </li></ul><ul><li>MIL-HDBK-61A 7 February 2001 CONFIGURATION MANAGEMENT GUIDANCE </li></ul><ul><li>ISO 10007 Quality management - Guidelines for configuration management </li></ul><ul><li>GEIA-HB-649 - Implementation Guide for Configuration Management </li></ul>
  41. 41. ISO 9000-3:1991 <ul><li>The [CM] system should </li></ul><ul><li>a) identify uniquely the versions of each software item; </li></ul><ul><li>b) identify the versions of each software item which together constitute a specific version of a complete product; </li></ul><ul><li>c) identity the build status of software products in development or delivered and installed; </li></ul><ul><li>d) control simultaneous updating of a given software item by more than one person; </li></ul><ul><li>e) provide coordination for the updating of multiple products in one or more locations as required; </li></ul><ul><li>f) identify and track all actions and changes resulting from a change request, from initiation ... to release.&quot; </li></ul>
  42. 42. CMMI level 2 <ul><li>Identifying the configuration of selected work products that compose baselines at given points in time </li></ul><ul><li>Controlling changes to configuration items </li></ul><ul><li>Building or providing specifications to build work products from the configuration management system </li></ul><ul><li>Maintaining the integrity of baselines </li></ul><ul><li>Providing accurate status and current configuration data to developers, end users, and customers </li></ul>The Configuration Management process area involves the following activities:
  43. 43. מסמך שחרור גרסה SVD Software Version Description <ul><li>זיהוי הגרסה ( גרסה , מהדורה Build ) </li></ul><ul><li>תיאור הגרסה </li></ul><ul><li>פרטים פיזיים ( מיקום הקוד ,DLL , תיעוד ) </li></ul><ul><li>תיאור רכיבי התוכנה הקשורים לגרסה </li></ul><ul><li>רשימת השינויים מהגרסה הקודמת </li></ul><ul><li>רשימת תקלות ידועות פתוחות </li></ul><ul><li>הוראות התקנה – לרכיבי התכנה , כולל הסבת נתונים במידת הצורך </li></ul><ul><li>עדכונים למדריך למשתמש </li></ul>מקור : טסנט
  44. 44. ניהול תצורה - נושאים <ul><li>הבעיות הבסיסיות </li></ul><ul><li>הפתרונות של SCM </li></ul><ul><li>דוגמא להמחשה </li></ul><ul><li>כלי SCM </li></ul><ul><li>סטנדרטים </li></ul><ul><li>סיכום </li></ul>
  45. 45. A definition <ul><li>A system for keeping track of large projects. Although version control, which maintains a database of revisions, is part of the system, a full-blown software configuration management system (SCM system or CM system) automatically documents all components used to build executable programs. It is able to recreate each build as well as to recreate earlier environments in order to maintain previous versions of a product. It may also be used to prevent unauthorized access to files or to alert the appropriate users when a file has been altered. </li></ul>http://www.answers.com/topic/configuration-management
  46. 46. פעילויות SCM <ul><li>Configuration item identification </li></ul><ul><ul><li>modeling of the system as a set of evolving components </li></ul></ul><ul><li>Promotion management </li></ul><ul><ul><li>the creation of versions for other developers </li></ul></ul><ul><li>Release management </li></ul><ul><ul><li>the creation of versions for the clients and users </li></ul></ul><ul><li>Change management </li></ul><ul><ul><li>the handling, approval and tracking of change requests </li></ul></ul><ul><li>Branch management </li></ul><ul><ul><li>the management of concurrent development efforts </li></ul></ul><ul><li>Variant management </li></ul><ul><ul><li>the management of versions intended to coexist </li></ul></ul>
  47. 47. להתראות ! Thanks!

×