CSE3205 (Software Engineering and Information System Design)
Objectives:
This course covers good principles of introduction to Software Engineering where we learn
the difference between programming and software engineering, the current challenges in our discipline.
the basic elements of a modeling language, UML, used in object-oriented techniques.
basic concepts of project organization and communication.
the description of the project organizations and discuss what constitutes effective communication.
determine the functionality users need and a usable way of delivering it. During analysis, developers formalize this knowledge and ensure its completeness.
the definition of the system from the developers’ point of view. During this phase, developers define the architecture of the system in terms of design goals and a subsystem decomposition. They address global issues, such as the mapping of the system onto hardware, the storage of persistent data, and global control flow.
We focus on how developers can use architectural styles, components, and UML to deal with solution domain complexity.
Finally, we describe the validation of system behavior against the system models. Testing detects faults in the system, including those introduced during changes to the system or its requirements. Testing activities include unit testing, integration testing, and system testing.
We describe several testing techniques, such as whitebox, blackbox, path testing, state-based testing, and inspections, and discuss their application to object-oriented systems.
Class Lectures