Systems Development:  

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

Systems Development: Requirements, Design, Implementation, Testing

Background

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.

Prerequsites

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.

Objectives

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.
Needs
Assessment
Introduction to interviewing. Developing survey instruments. Sources of requirements. Customer interaction. Gather information needed to develop formal requirements.
Requirements
Specification
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.
Requirements
Analysis
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.
Preliminary
Design
Software design. Object oriented concepts. Sequence diagrams. Trace matrix. Specified diagrams. Subsystem interface specifications.
Detailed
Design
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, 2024 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.