Systems Development:  

Systems Home | Introduction | Needs Assessment | Requirements Specification | Requirements Analysis | Preliminary Design | Detailed Design | Implementation | Testing

Systems Development: Requirements, Design, Implementation, Testing


This course is designed to teach the engineering discipline and practice required when implementing a software project. Students completing the course will develop some non-trivial system and visit all stages of the development live cycle.


This is a senior seminar course for second year students. The course covers the entire software development and engineering life cycle. Students should have exposure to algorithms, databases, object oriented concepts, programming, and UML prior to starting this course.


Students who complete the course will develop a software system and participate in each phase of the development life cycle:

  • Introduction: What is the core concept behind systems development?

  • Needs Assessment: Gathering system expectations from customers who are subject matter (or domain) experts, but may not have familiarity in the computer sciences or information technology.

  • Requirements Specification: Developing a formal, testable, written list of function and performance requirements to be met by the system under development.

  • Requirements Analysis: Decomposition of requirements into software subsystems.

  • Preliminary Design: Top level mapping of requirements to design contructs.

  • Detailed Design: Modeling of the inner workings for each subsystem.

  • Implementation: Development of the software in accordance with requirements and design specifications.

  • Testing: Verification the software meets its specified requirements with proper functionality and adequate performance.

Phase Topics Activities
Introduction The system design life cycle. Project description. Course timetable. Reading assignments.
Introduction to interviewing. Developing survey instruments. Sources of requirements. Customer interaction. Gather information needed to develop formal requirements.
What is a requirement? What makes a requirement testable? Postponing design decisions during requirements phase. Documenting requirements. Develop formal requirements list for approval by customer.
Object oriented requirements analysis. Conflict resolution. Subsystem decomposition. Input-process-output diagrams. Use cases. UML notation. Complete system specification for presentation to customer. Diagrams for peer review.
Software design. Object oriented concepts. Sequence diagrams. Trace matrix. Specified diagrams. Subsystem interface specifications.
Collaboration diagrams. Pseudo code. Database normalization. Human factors. Table design. Report and screen design. Critical code design.
Implementation Coding standards and style. Other topics as necessary during the phase. Software development of components in accordance with design specifications.
Testing Test plans and procedures. Test methods: analysis, experiment, inspection, verification. Test procedure to requirements trace. Development of test plan and execution of test procedure with customer as witness.

Systems Home | Introduction | Needs Assessment | Requirements Specification | Requirements Analysis | Preliminary Design | Detailed Design | Implementation | Testing

Copyright ©2006-2012, Left Brained Geeks. All Rights Reserved. License for reproduction, derivative works, internal commercial, and external non-commercial use granted to GITC faculty, staff, and students.