CS2043 Software Engineering I

2019-2020 Fall Term

Class Time:

FR01A: TuTh 10:00 - 11:20am

FR02A: TuTh 1:00 – 2:20pm

Class Room:

FR01A: GWD124

FR02A: ITC317

Lab Time:

FR01A: Th 2:30 – 4:20pm

FR02A: M 1:30 – 3:20pm

Lab Room:

FR01A: ITD 415

FR02A: GWC112

 

Instructor: Dr. Weichang Du

Office: ITD 422 in ITC Building

Office Hours: TuTh 12:00-1:00pm, M 3:30-4:30pm

Email: wdu@unb.ca

 

Course Web Home Page: http://www.cs.unb.ca/~wdu/cs2043

Course D2L Home:

FR01A: https://lms.unb.ca/d2l/home/162724

FR02A: https://lms.unb.ca/d2l/home/162722

Text Book:

Essentials of Software Engineering (4rd Edition), by Frank Tsui, Orlando Karam, and Barbara Bernal, Jones & Bartlett Learning, 2017.

Course Description:

       Introduction to fundamentals of the discipline of software engineering with focus on the software development life cycle. Topics include software development methodologies and processes, requirements analysis, modeling, architecture, design, implementation, testing, and maintenance. Basics of software management are also introduced.

 

Course Work and Marking Scheme

Lecture Schedule (subject to change)

Week

Tuesday

Thursday

09/02

 

Introduction/Creating a Program

09/09

Building a System

Engineering of Software

09/16

Software Process Models

Software Process Models

09/23

New and Emerging Process Methodologies

New and Emerging Process Methodologies

09/30

Requirements Engineering

Requirements Engineering

10/07

Requirements Engineering

Design: Architecture and Methodology

10/14

Design: Architecture and Methodology

Design: Architecture and Methodology

10/21

Midterm

Design Characteristics and Metrics

10/28

Design Characteristics and Metrics

Implementation

11/04

Implementation

Testing and Quality Assurance

11/11

Testing and Quality Assurance

Configuration Management, Integration, and Builds

11/18

Software Support and Maintenance

Software Support and Maintenance

11/25

Software Project Management

Software Project Management

12/02

Epilogue and Some Contemporary Issues

Lab Topics (subject to change)

No

Date

Topic

 

01A: 09/05

No Lab

1

02A: 09/09  01A: 09/12

Software development with Eclipse and debugging techniques

2

02A: 09/16  01A: 09/19

Rational Software Architect Designer (RSAD) UML Class diagram

3

02A: 09/23  01A: 09/26

Rational Software Architect Designer (RSAD) forward and revere engineering

4

02A: 09/30  01A: 10/03

Rational Software Architect Designer (RSAD) UML Use Case diagram and specification

5

02A: 10/07  01A: 10/10

Configuration management and Version Control with GitHub and Eclipse

6

01A: 10/17  02A: 10/21

Rational Software Architect Designer (RSAD) UML Interaction diagram

7

01A: 10/24  02A: 10/28

Application design

8

01A: 10/31  02A: 11/04

Application implementation

9

01A: 11/07  02A: 11/18

Rational Software Architect Designer (RSAD) UML Activity diagram

10

01A: 11/21  02A: 11/25

JUnit testing in Eclipse

11

01A: 11/28  02A: 12/02

Rational Software Architect Designer (RSAD) UML State, Component, and Deployment diagrams