1 / 27

Software Configuration Management

https://flic.kr/p/Lj3bW. Software Configuration Management. What knowledge/skills have you learned so far?. OR. Code Monkey. Software Engineer. https://flic.kr/p/ bqHSWr. https://flic.kr/p/8kzUK8. How can you tell?.

jmounts
Download Presentation

Software Configuration Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. https://flic.kr/p/Lj3bW Software Configuration Management

  2. What knowledge/skills have you learned so far? OR Code Monkey Software Engineer https://flic.kr/p/bqHSWr https://flic.kr/p/8kzUK8 How can you tell?

  3. Consult the SWEBOK Guide(Software Engineering Body Of Knowledge) http://www.computer.org/portal/web/swebok

  4. One possible definition ofSoftware Engineering:Appling SWEBOK to softwarecreation and evolution So what’s in this SWEBOK anyway?

  5. 15 Knowledge Areas (KAs) Has Boot Camp covered any? • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Models and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations

  6. 15 Knowledge Areas (KAs) 3 stand out to me • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Models and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations Let’s pick on this one

  7. Software Configuration Management (SCM)“Configuration management … is the discipline ofidentifying the configuration of a systemat distinct points in timefor the purpose ofsystematically controlling changes to the configurationandmaintaining the integrity and traceability of the configuration throughout the system life cycle.” (SWEBOK)

  8. SCM Subtopics Which have you learned about?

  9. SCM Subtopics Git! “Version control tools” Let’s see how much you’ve learned…

  10. Pop Quiz • 5 questions • Update diagram in each • Commit nodes • Branch nodes • Based on actions of Alice and Bob • Collaborating via GitHub repo

  11. Start like this Scott Fleming SF 1 GitHub master master 11111 11111 Alice Bob

  12. Question 1 • Alice: • $ git clone https://github.com/whatever.git • $ cd whatever • Bob: • $ git clone https://github.com/whatever.git • $ cd whatever (include the HEAD node)

  13. Question 2 • Alice: • $ git branch myfix • $ git checkout myfix

  14. Question 3 • Alice: • $ rails generate scaffold User … • $ git add . • $ git commit # 22222 • Bob: • $ rails generate scaffold Micropost … • $ git add . • $ git commit # 33333

  15. Question 4 • Bob: • git push

  16. Question 5 • Alice: • git pull

  17. What if… Alice did this: app/models/micropost.rb app/models/micropost.rb class Micropost < ActiveRecord::Base validates :content, length: { maximum: 140 } end class Micropost < ActiveRecord::Base validates :content, length: { maximum: 120 } end Bob did this:

  18. What if Alice did this? master 33333 11111 $ git checkout master $ git merge myfix 22222 myfix

  19. $ git merge myfix Auto-merging app/models/micropost.rb Automatic merge failed; fix conflict and then commit result. app/models/micropost.rb class Micropost < ActiveRecord::Base <<<<<<< HEAD validates :content, length: { maximum: 140 } ======= validates :content, length: { maximum: 120 } >>>>>>> myfix end To resolve: Manually fix the file; git add and commit

  20. SCM is more than version controlCan you think of more that you’ve learned?

  21. SCM is more than version controlCan you think of more that you’ve learned? • “Build handling tools”: • rvm • bundler

  22. SCM Problems:Your code AND external dependencies ruby jquery Your code sqlite …

  23. rvm and bundler work togetherto control external dependencies Let’s take a quick tour

  24. RVM: Set Rails and Gemset versions Few more handy RVM commands: $ rvm list $ rvm current $ rvm info

  25. Problem: RVM config is not part of projectHow to solve?

  26. Problem: RVM config is not part of projectHow to solve? Gemfile in project stores all Gems(external dependencies) and their versions Use bundle to run (exec) commands (automagically uses versions in Gemfile) RVM also can use Gemfile versions when pwd is in project (see chapters 1.2.4 and 3.6.1)

  27. Summary • Software Configuration Management (SCM) • Version control tool • Git • Build handling tools • rvm • bundler What’s next?

More Related