Link Search Menu Expand Document

Course Schedule & Graded Activities

This calendar is tentative, and subject to revision during the semester.

Week

Date

Topic

Assignment Due/Milestone/Notes

1

01/11/2021

01/13/2021

Course Overview & Team Setup

01/15/2021

L01 – History of Software Engineering

2

01/18/2021

L02 – Software Lifespan Model

01/20/2021

L03 – Software Technologies

01/22/2021

Introduction to xfig project

Start working on X Window presentation, and proposing two extra features

3

01/25/2021

L04 – Software Models

01/27/2021

Lab: Install and build xfig on Ubuntu Linux Server/Laptop/Virtual machine

01/29/2021

Supporting Techniques of xfig and its Discussion – X Window (Presented by Students)

Presentation slides are due before the class

4

02/01/2021

Discussion: the Architecture of xfig Source Codes (Illustrating the Architecture with UML style diagrams drawn by xfig itself)

Start working on the xfig architecture diagrams

02/03/2021

L05 – Introduction to Software Changes

02/05/2021

P01a – xfig Architecture Presentation (Section I)

Presentation slides/document are due before the class

5

02/08/2021

P01b – xfig Architecture Presentation (Section II)

02/10/2021

S01 – Special Topic 1

02/12/2021

Career Fair

6

02/15/2021

Discussion: discuss the new features (new send to back/bring to front + new export format + your proposed 2 features) & writing requirements of new features

Your proposed two features need to be ready for discussion before the class

02/17/2021

February Break

02/19/2021

L06 – Concepts and Concept Location

7

02/22/2021

L07 – Impact Analysis

02/24/2021

P02a – Requirement Presentation (Section I)

Presentation slides/document are due before the class

02/26/2021

P02b – Requirement Presentation (Section II)

8

03/01/2021

L08 – Actualization

03/03/2021

L09 – Refactoring

03/05/2021

L10 – Verification

9

03/08/2021

L11 – Code Inspection

03/10/2021

Spring Break

03/12/2021

L12 – Conclusion of Software Changes

Essay Assignment

Start working on the essay

10

03/15/2021

P03a – Design (Concept Location & Impact Analysis) Presentation (Section I)

Presentation slides/document are due before the class

03/17/2021

P03b – Design (Concept Location & Impact Analysis) Presentation (Section II)

03/19/2021

L13 – Software Security

11

03/22/2021

Spring Break

03/24/2021

Review

03/26/2021

Discussion: Test Cases & Plan, Code Inspection Plan & Assignments

12

03/29/2021

Exam

03/31/2021

P04a – Test Plan & Cases Presentation (Section I)

Github repository ready by March 31, 2021

Presentation slides/document are due before the class

04/02/2021

P04b – Test Plan & Cases Presentation (Section II)

13

04/05/2021

Coding/Testing/Code Inspection Meeting

Submit the requested materials according to the code inspection planning before the meeting

04/07/2021

Coding/Testing/Code Inspection Meeting

04/09/2021

Coding/Testing/Code Inspection Meeting

14

04/12/2021

Coding/Testing/Code Inspection Meeting

04/14/2021

Coding/Testing/Code Inspection Meeting

Booked

04/16/2021

Coding/Testing/Code Inspection Meeting

Booked

15

04/19/2021

Coding/Testing/Code Inspection Meeting

Booked

04/21/2021

Coding/Testing/Code Inspection Meeting

Booked

04/23/2021

RAPS

16

04/26/2021

S02 – Special Topic 2

04/28/2021

P05a – Team Presentation and Demo of New Features (Section I)

Presentation slides/document & source codes repository are due before the class

04/30/2021

P05b – Team Presentation and Demo of New Features (Section II)

Essay is due by May 7, 2021

This course project is team based. Students attending this course will be grouped into 4 teams (5 students per team) and focus on software maintenance of a well-known open source software xfig. Teams will work on 4 new features of xfig, which are listed below.

Feature #

Change Request/New Feature

Scope

#1

(1). Each xfig object (e.g., arch, line, rectangle) has a property called depth, which is used to identify and group the objects on the same layer. This feature is important to address the object overlapping relationship.

(2). Users are allowed to change the depth of any xfig object, and then re-organize the overlapping among objects. However, it is not very convenient, if users just want to flip flap overlapped objects.

(3). A quick way is to add a new feature called “send to back” and “bring to front”, which will set the depth of the selected object to the maximum value and then put it on the bottom layer (Note that Depth 0 is the top of the drawing order).

This new feature has global impact to xfig source codes, and these components below will be involved:

(1). Relevant grouping /recording functions of accessing data structures of all xfig objects regarding.

(2). The new x window menu item and shortcut button.

#2

1). xfig allows users to export xfig figure into multiple figure formats, such as PNG, EPS, JPG, PDF, etc;

(2). Microsoft Visio has its own format named VDX, which is well-documented XML Schema-based format. If xfig could export the figure into VDX format, Visio could edit the figure generated by xfig;

(3). Add the export format VDX into xfig. Note that the genuine VDX format is complicated. Students can design a “simply” VDX for this feature. If the genuine VDX format has been implemented, 10 points bonuses will be offered.

This new feature has global impact to xfig source codes, and these components below will be involved:

(1). The new item in listbox of figure type.

(2). The new x window of setting VDX figure properties.

(3). Interpreting figure data between the original xfig and VDX.

#3 & #4

Self-proposed features (follow the examples of #1 & #2 to finish this table).

Follow the examples of #1 & #2 to finish this table

Each team needs to choose a member as the project leader (with 5% bonus of the final project points). The project leader has the responsibility of managing the project and assigning tasks. Each feature will have a feature champion (others team members, except the team leader), who will lead this feature development. All documents, presentation slides, source codes and other deliverables must be uploaded to the moodle before the due date. At the end of the semester, the team members will do a cross evaluation of contribution among each other.

Grading rules for each deliverable will be posted on moodle assignments. Late submission will not be accepted unless the instructor has been notified with an acceptable reason.

Grading

  • 70 points (projects)

– xfig Architecture Document & Presentation: 10 points

– New Features Analysis (a.k.a., Requirements): 10 points

– Design (Concept Location & Impact Analysis): 10 points

– Test Cases & Results: 10 points

– Code Inspection: 10 points

– New Features: 20 points (10 points/feature, feature champion: your feature + sum of other features/3, team leader: sum of all features/2)

  • 5 points – xfig Supporting Technique – X Window Document & Presentation
  • 5 points - Cross Evaluation of Contribution of Team Members
  • 5 points – Essay for Ethics and Social Issues in Software Engineering under the COVID-19 pandemic (minimal 2 pages excluding references)
  • 15 points – Exam

Criteria

  • Grading rule for each assignment will be posted on moodle.