System, subsystem and environment. Life cycle and traditional systems development techniques. Modern techniques and methodologies. Problem analysis, requirements analysis and modeling. Techniques for transitioning from requirements analysis to design. Design approaches and structured design. Function-oriented analysis: flowcharts, process specifications (structured English, decision tables and trees, data dictionary). Data analysis and entity-relational model. Structured diagrams. Architectural design and pseudocode development. Coding and documentation, system testing and verification. System maintenance and updating. Object-oriented analysis and design using the Unified Modeling Language (UML). UML diagrams for data modeling and systems analysis, design and implementation: class diagrams, use case diagrams, sequence diagrams, collaboration diagrams, state diagrams, etc. Computer aided software engineering (CASE) tools.
Upon successfully completing this course, the students: