Software Lifecycle
THE COMPLETE SOFTWARE DEVELOPMENT LIFECYCLE COURSE
In 2004, CISDD designed a course called "The Complete Software Development Lifecycle" class. In the fall of 2004, CISDD offered this class as a full year, non-credit course intended to offer students the opportunity to learn important skills that had often been ignored in typical coursework. The course gave students an understanding of project management for a large project and a hands-on experience working on a (medium sized) project from beginning to end. In addition, students gained knowledge of the differences between the business and academic environments, as well as communication and project management skills, version control, collaboration tools, and specification needs.
SYLLABUS
Session Outline for "The Complete Software Development Lifecycle Course"
Industry representatives have made it clear that students would be well-served to take coursework that covered a variety of issues that are currently either not covered or only lightly emphasized in current coursework. Before entering the financial services industry, many students need further training in topics related to the industry. While the industry usually provides additional training, the type of course we are discussing will help CUNY students improve their possible outcomes. CUNY's recent offering of "The Complete Software Lifecycle," has sought to fill the needs of both students and employers. The following is a brief outline of the course CISDD recently offered.
- Introduction
Topics:
Intro & Syllabus Review
Powerpoint outline
The Phases of a Software Development project
The spectrum of popular methodologies
Forces determining the applicability of a development methodology
Project team tools and techniques - development groupware
Homework:
Install Subversion client
Chapters 1-4 of Subversion manual
- Risk Assessment and reduction
Topics:
Artifacts of the Analysis & Design phases
Introduction to the Unified Modeling Language
Article: "The One Minute Risk Assessment Tool"
Unit Testing
Regression Testing
XUnit testing frameworks
Homework:
Part I of "Code Complete"
- Analysis Techniques
Topics:
Use Cases - a process walkthrough
Sample Use Case review
Homework:
Chapter 5 of "Code Complete"
Install Eclipse
Omondo UML plug-in
Subclipse Subversion plug-in
- Client Speaker: (Joseph Haddock, Thomson Media)
Topics:
Development Methodologies and practices in use
Why his choices work
What he would like to change or address
The need for Up Front Requirements gathering
User involvement
- Client Speaker: (Jeff Decresenzo, Ivan K, UBS)
Topics:
Presentation materials - hard copy (my notes attached)
Development Methodologies and practices in use
Why their choices are in use
The SDLC process model
Key artifacts of their process
Homework
Subversion exercise - checkout, commit
- Client Speaker: (Credit Suisse, no-show)
Topics:
Discussed financial industry's need for Artifact and process-heavy development methodologies
Regulation
Accountability
Subversion group exercise: collaborative writing effort through the repository
- Student Interviews
Skills assessment
Team member proposals by skills and client preferences
- Client, Team meetings
Project presentation by clients
Role assignment
Project Plans
Procure resources
- Project Status Recap
Review of the development lifecycle
Process goals
Phases
Assessment of each project and it's place in the process
Projections of project progress through the process