1 / 16

Development environment for Software Engineering class

Development environment for Software Engineering class. Leonardo Salayandia, Steve Roach, and Evelyn Torres. Overview. Technologies to be used Subversion (SVN) Virtual Machines (VMWare) Windows Server 2003 Structure of the version repository Usage of the version repository. Disclaimer.

damisi
Download Presentation

Development environment for Software Engineering class

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. Development environment for Software Engineering class Leonardo Salayandia, Steve Roach, and Evelyn Torres

  2. Overview • Technologies to be used • Subversion (SVN) • Virtual Machines (VMWare) • Windows Server 2003 • Structure of the version repository • Usage of the version repository

  3. Disclaimer • I’m here to • Assist with system administration • Serve as mediator for UTEP IT • Help you help yourself • I’m not here to • Configure your development/test environments • Install your databases • Do things for you • Symbiotic relation • You need a grade • I need to reuse this solution in other projects

  4. Subversion (SVN) • Successor to the Concurrent Versions System (CVS) • Open source version control system • Manages changes made to files and directories • Keeps previous versions of your data • Managing Binary vs. Text files • Text file versions are incremental • Binary file versions are not!(Watch out for space issues)

  5. Subversion (SVN)

  6. Subversion (SVN) • Basic Work Cycle • Update your working copy(update) • Make changes (add, delete, copy, move) • Examine your changes(status, diff) • Possibly undo some changes (revert) • Resolve conflicts (update, resolve) • Commit your changes (commit) • Read more (free online book) • http://svnbook.red-bean.com/

  7. Virtual Machines • Virtual Machine • Software Container simulating a physical computer • Contains its own virtual hardware resources • CPU, Memory, Hard Disk, and Network Card • Runs its own OS and apps • VMWare(VMWare Player) • Software that runs a virtual machine • Runs on several “host” OS’s, e.g., Windows and Linux • Another alternative • Virtual PC (Microsoft’s virtual machine software)

  8. Virtual Machines • General Infrastructure • More information • http://vmware.com

  9. Windows Server 2003 • Microsoft’s server OS • Latest version is Windows Server 2008 • Your customer is using 2003 • Similar to Windows XP except that it has: • Added security features • Administrative modules • Active Directory (User/Computer account management) • Policy management • For the most part, administrative settings should be minimal for you

  10. Structure of the version repository /dev /TeamX /Code /Root /Image /test /VirtualMachines /ReleaseCandidate /NightlyBuild /Root /TeamX /prod Your development code Your contributions to the file system of the server in the development phase Your contributions to the virtual machine files (only Teams 2, 6, and 7) V&V-approved build Automated/Semi-automated integration of team’s contributions for system testing Each team’s contributions to the file system of the server submitted for testing

  11. Structure of the version repository • /dev • Team2 • Root • Image • Code • … • Team 7 • /test • VirtualMachines • ReleaseCandidate • NightlyBuild • Root • Team2 • … • Team7 • /prod • Development • Each team has its own space • Everybody can read everybody else’s space • Test • Everybody can read everything • Teams 2 and 7 modify the virtual machines • Each team can write to its own space under root • Prod • Everybody can read • Only Team 7 can write

  12. Usage of the version repository • Software development • Decide which IDE to use, and install an SVN client for it • Start your initial project and commit your initial version at /dev/teamX/code • Update/Commit from /dev/teamX/code as you continue the development process with your peers

  13. Usage of the version repository • Unit testing • Use the latest running virtual machines • Synchronize with the teams that are in charge of the virtual machines to get connection parameters • Get a copy of the latest virtual machine from CVS from /test/virtualmachines/releasecandidate or /test/virtualmachines/nightlybuild • Start the virtual machine in your development computer • You have both the client and the server “machines” running in your own computer to test

  14. Usage of the version repository • Deploying updates to test virtual machine • Create deployment scripts to be run on the server • E.g., ant script • These scripts should “install” your module in the server • Commit your scripts to your /dev/teamX/root repository as you develop the scripts with your peers • Once you are ready to share with the rest of the class, commit your scripts to /test/root/teamX

  15. Usage of the version repository • Creating nightly builds • Create scripts that do the following: • Stop the running nightly build VM • For each team, get the latest version of /test/root/teamX • Copy the files to the appropriate location in the virtual machine • Run the deployment scripts to “install” the software • Commit the changes to the VM when all teams have been processed • Restart the nightly VM

  16. Contact Information • Leonardo Salayandia • Computer Science, room 126 • Telephone: 747-5995 • Email: leonardo@utep.edu • I prefer going by appointment

More Related