Software Engineering

Curriculum guideline

Effective Date:
Course
Discontinued
No
Course code
CSIS 3275
Descriptive
Software Engineering
Department
Computing Studies & Information Systems
Faculty
Commerce & Business Administration
Credits
3.00
Start date
End term
201820
PLAR
Yes
Semester length
15 Weeks X 4 Hours per Week = 60 Hours
Max class size
35
Contact hours
Lecture: 2 Hours per week Seminar/Lab: 2 Hours per week Total: 4 Hours per week
Method(s) of instruction
Lecture
Lab
Seminar
Learning activities

Lecture, case study

Course description
This course will introduce the student to comprehensive concepts, theory, principles, and examples of software engineering. Materials covered will help the student understand the software engineering evolution, the software product components such as software life-cycle models, managing software projects, software process and project metrics. The course will also focus on using research, observation, interviews, prototypes and feedback to gather stakeholders' requirements for systems development. The student will learn how to document requirements by writing use-case descriptions, identifying and designing objects, classes, and their relationships to each other which include links, associations, and inheritance using the Unified Modeling Language (UML). An in-depth case study will be used throughout the course to allow the student to apply what they learn.
Course content
  1. Overview of Software Engineering, The Product, The Process
  2. The Software Crisis; brief history of information systems analysis, and comparison of traditional techniques with OO methodology
  3. Software Life-Cycle Models, Managing Software Project Software Process and Project Metrics and Software Project Planning, Review Project Management
  4. Scope of CASE, Risk Management/ Software Quality Assurance
  5. Software Configuration Management
  6. Object-Oriented Systems Analysis & Design using UML
  7. Business Event Analysis
  8. Use cases and System Sequence Diagrams, Domain Models
  9. System and Program design using Interaction diagrams and design class diagrams
  10. Designing Database interface and User Interface
  11. Gathering, Managing and Reporting Information
  12. Managing OO System Development
Learning outcomes

The student will be able to:

  1. explain the management and technical aspects of the software engineering discipline;
  2. apply concepts of managing software projects, including the software process, project planning and metrics, scheduling, risk management, configuration management, and quality assurance;
  3. compare conventional and object-oriented software engineering methods;
  4. explain modern information system analysis techniques used in business, society and government;
  5. explain the object-oriented systems development life cycle (OODLC) process;
  6. compare structured vs. OO Analysis and Design Models;
  7. discuss the importance and use of the “object-oriented systems development life cycle model” (OODLC) in the analysis of information systems;
  8. complete term project assignments using CASE modeling tool, to reinforce the concepts, techniques and methods learned.
Means of assessment
Assignments and Term Project    25% - 35%
Participation    0% - 5%
Quizzes  5% - 15%
Midterm Examination 20% - 30%
Final Examination 25% - 30%
Total        100%
Textbook materials

Textbooks and Materials to be Purchased by Students:

Roger Pressman. Software Engineering - A Practitioner’s Approach. Latest edition. McGraw-Hill.

References:

Robert V. Stumpf & Lavette C. Teague. Object-Oriented Systems Analysis and Design with UML. Latest

edition. Prentice-Hall.

Ian Sommerville. Software Engineering. Latest edition, Addison Wesley

Alistair Cockburn. Agile Software Development: The Cooperative Game, Latest edition.

Prerequisites