MSCFOSS/DIF122/Software Development Practices
To introduce the concepts and principles of FOSS practices of software development, and familiarize with the technologies and tools that facilitate them
Introduction to the software development process: Software process – Process and Project., Component Software Process, Software Development Process Model – Waterfall, Prototyping, Iterative development, Rational Unified Process, Timeboxing, Agile and Extreme. Project Management Process.
Unified Modeling Language -- introduction, static vs dynamic models, UML static Modeling- Class diagram, Use case diagram, UML Dynamic Modeling-interaction, Sequence diagram, Collaboration diagram, State diagram, Activity diagram, Implementation, Component diagram and Deployment diagram. FOSS tools for UML – AgroUML / Umbrello
Progressive Methodologies – Agile software development methods -Extreme Programming, SCRUM, Crystal family, Feature Driven development, Rational Unified Process, Dynamic Systems Development Method, Adaptive Software Development, Open Source Software Development
FOSS Development Practices & tools: Using – Bug reporting – Fixing: Patching – Co-development – Developing – Tools: Communication Channels - Mailing list, Instant Chat, Wiki, Forums. FOSS IDE - Eclipse. Revision Control Systems - SVN. Bug tracking system - Bugzilla. Database Tools: PostgresSQL - PgAdminIII. Testing tools - Selenium
Project Management: The concept of BDFL and decision making process - Management – Build & Release – Cathedral & Bazaar Models. Package Management - DEB and APT. Release Management - Release Cycle and Daily development. Project Management Tools - Trac. Documentation Tools - Doxygen, Docbook.
Practical exercises to implement the features covered in units II, IV and V.
- MSCFOSS/DIF122/Software Development Practices: http://demo.amachu.in/mscfoss/dif115/book/All_Units.pdf
- An Integrated Approach to Software Engineering, By Pankaj Jalote, Springer
- Object oriented systems development using the unified modeling language – By Ali Bahrami, Tata McGraw-Hill Edition
- Extreme Programming Explained: Embrace Change, By Kent Beck and Cynthia Andreas, Addison-Wesley; 2nd edition
- Producing Open Source Software, by Karl Fogel URL: http://producingoss.com/en/index.html
- Practical Development Environments by Mathew B. Doar ISBN: 9788184040050 Shroff/ O' Reilly
Sources & Acknowledgements
Download contents as PDF/ ODT