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