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 | |||
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 | |||
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 | |||
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.