ITEC316 Software Engineering

Aim of the Course

The aim of this course is to introduce some fundamental principles of software engineering discipline and illustrate the application of those principles in the context of the graduation project. Main topics covered are software process models, software metrics, risk analysis and management, testing and quality assurance, software estimation techniques, software quality and configuration management and software reengineering.

Teaching/Learning Strategy

The topics will be introduced in lecture hours. Student participation in discussion is important in promoting successful learning. Students will work in groups of 4 on a project where they have to perform analysis, design and programming as discussed in class.



Project Submissions+PresentationHomework

Lecture Material

 Text Book:Pressman, Roger S. Software engineering: a practitioner's approach. Palgrave Macmillan, 2015.

Week 1-2
Overview of the course, Software and Software Engineering Chapter_01sp1718.ppt
Week 3Process Models Chapter_02sp1718.ppt
Week4Agile Development Chapter_03sp1718.ppt
Week 5Project SCope/Requirements Presentation

Week 6
User Scenarios
User ScenarIOS.pptx
Week 6
Non Execution based Testing:Inspection and Walkthrough testing inspection.pptx
inspection and walkthrough.pptx
(from Object-Oriented and Classical Software Engineering,Stephen R. Schach)
Week 7
Software Quality Concepts Chapter_14 sp1718.ppt
Week 10
Blackbox Testing: Boundary Value Analysis, Equivalence Partitioning
BlackBoxTesting supporting material sp1718.pptx
Week 8-9
Whitebox Testing: Cyclomatic Complexity, CFG, coverage criteria Whitebox TestIng supporting material sp1718.pptx
Week 10-11
Configuration Management
Configuration Management spring 201617.pptx
Week 12
Cost Estimation
itec316 spring Estimation.pptx

Week 13
Risk Management
Week 14
Project submission

 Project Deliverables:

0.Team Formations (Done)
1.Scenarios (Done)
2. UML First Pass: Use Case Diagrams, Activity Diagrams, Sequence Diagrams and Class Diagram  Due 10/04/2019

3. Project Presentations   (23/05/2019) : TBA. All members of all teams must be present at the beginning of class. All members will participate in the presentation. 

Final Report (Due 10/05/2019) : both hardcopy and CD containing softcopy of report and codes) 

Must include the following:

  • Introduction: Description of the project/scope/users
  • Proposed System: Design Documentation:Event List, Activity Diagrams (one for each event), general use case diagram, use case specifications, Structural/Static Model:class diagrams; Behavioral/Dynamic Model: Sequence Diagrams
  • Conclusion
  • Appendix: User guide prepared by showing all the interfaces.(GUI  Design)

  • CD: Containing all source codes and the copy of the report!


Team Presentation: Automated Testing Framework. Install a testing framework and present as a team. Each team member  must do one of the following: demonstrate a feature/show an example/show installation/discuss the alternatives. all team members must be present at the beginning of class on 16/05/2019