Upload
esl4m-diaa
View
872
Download
4
Tags:
Embed Size (px)
DESCRIPTION
The 3rd juniors session in CAT 5 - 5 - 2010
Citation preview
Welcome to the 3rd Junior Session
Prepared by
Eslam Mohammed Diaa El-Din
Twitter : @esl4mdiaa
Agenda !Agenda ! Agile .. ?
Scrum .. !!
Open Source Projects !!
Revision Control◦ GIT◦ Mercurial
Installing Mercurial on your system
Mercurial Commands
Example of Agile Development .. “Web2py”
MVC
Agile !!Agile !!
- are methods break tasks into small increments
with minimal planning ..
and do not directly involve long-term planning !!
- Software Development Life Cycle (SDLC) ..
More a bout agilehttp://en.wikipedia.org/wiki/Agile_software_development
Software Development Software Development Life CycleLife Cycle
Analysis ..
Design ..
Implementation .. “code”
Testing
Agile methodsAgile methods
Agile Unified Process (AUP)
DSDM
Extreme Programming (XP)
Feature Driven Development (FDD)
Scrum
…..
Scrum !!Scrum !!
Other slides !!◦ It’s Name : Redistributable Intro To Scrum
More about scrum
http://en.wikipedia.org/wiki/Scrum_(development)
Open Source ProjectsOpen Source Projects
Before we talk about Open Source Projects , we need to know
What is the meaning of the word ”Open Source” ?
About Revision About Revision Control ..Control .. is the process of managing multiple versions
of a piece of information.
In its simplest form, this is something that many people do by hand :-◦ every time you modify a file, save it under a new
name that contains a number, each one higher than the number of the preceding version .
Examples : GIT . Mercurial .
GIT !!GIT !!
I will leave it forMohamed Gamal’s Session
@ CAT Scope 11http://catreloaded.net/scope/2010/05/mohammed-
gamal/
Mercurial ..Mercurial ..
is a cross-platform , distributed revision control tool for software developers.
It is mainly implemented using the Python programming Language .. written in C
Mercurial was initially written to run on Linux , Mac and windows .
Why Choose Why Choose Mercurial ?Mercurial ? It is easy to learn and use.
It is lightweight.
It scales excellently.
It is easy to customize.
Installing Mercurial on Installing Mercurial on your systemyour system
Linux :◦ Debian :
apt-get install mercurial
◦ Fedora Core : yum install mercurial
◦ OpenSUSE : yum install mercurial
….
Installing Mercurial on Installing Mercurial on your system ..your system ..Solaris :
◦ Sun FreeWare , at http://www.sunfreeware.com
Windows :◦ Mercurial for Windows at
http://mercurial.berkwood.com
◦ This package has no external dependencies; it “just works”.
Getting started !Getting started !
To begin, we'll use the hg version command to find out whether Mercurial is actually installed properly.
◦ $ hg version
Mercurial Distributed SCM (version -)
Copyright (C) 2005-2008 Matt Mackall <[email protected]> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Mercurial Commands !!Mercurial Commands !!
Most known commands :
◦ $ hg commit … On your Local Machine
◦ $ hg pull … Take the latest code on server
◦ $ hg merge … when there are an error with others
◦ $ hg push … So others can see your “working code” !
Mercurial ..Mercurial ..
Example of Agile Example of Agile DevelopmentDevelopment
Web2py
is an open source web application framework . Its primary goal is to support agile development.
Web2py is written in the Python language and is programmable in Python.
Using MVC technology
More about Web2pyhttp://en.wikipedia.org/wiki/Web2py
MVC !!MVC !!M = Model
V = View
C = Controller
More about MVChttp://en.wikipedia.org/wiki/Model-view-controller
ReferencesReferences
http://en.wikipedia.org/
hgbook-en
web2py_manual