The University of Western Ontario
London, Canada
Department of Computer Science
CS 4470Y - Software
Maintenance and
Configuration Management
Course duration: September to April (of the following year)
Course Outline - Fall 2019 – Winter 2020
Course Description
At
the core, software maintenance involves taking existing software artefacts,
understanding them, and then modifying or extending the code and/or other work
products associated with the software (such as requirements, design and test
suites). Other aspects, such as migrating a system from one platform to
another, reverse-engineering (i.e., extracting higher-level artefacts such as
design from code), and inter-connecting existing systems for inter-operability,
are also part of this field. It is estimated that 60-70% of the software
development effort in industry is maintenance and evolution. In this course,
students will get practical experience in this field, working in a team, and
addressing real-world issues of third-party systems.
Software maintenance requires at least three
kinds of knowledge:
-
Domain knowledge: knowledge about the area of application of the
software (e.g. mobile applications, physics simulations, processing large
amounts of data, computer music, healthcare, medical equipment, social, legal,
improving software development, and more), the context in which the software
system will be running (e.g., business, hospital, govt. department, etc.), the
users of the system, and other.
-
Technology knowledge: knowledge about
the various software tools, languages, packages and technologies used in the
software (e.g. iOS, Android, PHP, Java, application-specific
technologies, etc.).
-
Code knowledge: knowledge about the
actual code, documentation, test cases and so on.
Students are anticipated to acquire all these
three types of knowledge as appropriate for their projects.
Class time:
Fall / Winter: Monday 11:30 - 12:30pm MC 316
(See later below for specific class meeting
days)
Prerequisites:
Computer Science 3307A/B/Y; plus 1.5 courses
from: Computer Science 3305A/B, 3331A/B, 3340A/B, 3342A/B, 3350A/B; plus
registration in the Minor in Software Engineering
Note:
Unless you have either the
prerequisites for this course or written special permission from your Dean to
enroll in it, you may be removed from this course and it will be deleted
from your record. This decision may not be appealed. You will receive no
adjustment to your fees in the event that you are dropped from a course for
failing to have the necessary prerequisites.
Instructor Information
Instructor: Nazim Madhavji
Office: MC 381
Office Hours: emails, anytime
E-Mail: madhavji <<<at>>>
<geeemay l>>> <<<com>>>
Course Texts
There
are no required texts for this course. To assist with project development,
there are many excellent references available online.
.
Lectures
Lecture time will not be used for the delivery
of lectures in the traditional sense. Instead, this time will be primarily used
for organizing and tracking the status of project deliverables and milestones
in the course. It is important to note that there may not be class held each
week for the duration of the course; further details on class scheduling will
be posted on OWL.
Course Webpage and OWL
The CS4470Y webpage is accessible through the
departmental website. Class and project information and announcements will be
posted on OWL. You are responsible for reading this information on a regular
basis.
Computing Facilities
Each student will have access to an account on
the Computer Science Department senior undergraduate computing facility, GAUL.
In accepting the GAUL account, a student agrees
to abide by the department's Rules of Ethical
Conduct.
Note:
After-hours access to certain
Computer Science lab rooms is by student card. If a student card is lost, a
replacement card will no longer open these lab rooms, and the student
must bring the new card to the Systems Group. Likewise, if a student card
ceases to provide access where it should, it should be brought to the Systems
Group as well.
E-Mail Contact
We will occasionally need to send e-mail
messages to the whole class, or to students
individually. E-Mail will be sent to the UWO e-mail address assigned to
students by Information Technology Services (ITS), i.e. your e-mail address
@uwo.ca. It is each student's responsibility to read this e-mail on a frequent
and regular basis, or to have it forwarded to an alternative e-mail address if
preferred. See the ITS website for directions on
forwarding e-mail.
However,
you should note that e-mail at ITS (your UWO account) and other e-mail
providers may have quotas or limits on the amount of space they can use. If you
let your e-mail accumulate there, your mailbox may fill up and you may lose
important e-mail from your instructors. Losing e-mail that you have forwarded
to an alternative e-mail address is not an excuse for not knowing about the
information that was sent.
Wherever
you receive e-mail, be sure to configure your spam filter to allow e-mail from
the instructor's e-mail address given above. Otherwise, important messages
could get trapped by your spam filter and missed. This is also not an excuse
for not knowing about information that has been sent.
Student Evaluation
Grades will be based on group project work,
divided across the specified set of milestones as indicated in the table below.
If for any reason the project schedule given below cannot be adhered to, the
project marks will be prorated accordingly.
Accommodation and Accessibility
If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or supporting documentation to the Academic Counselling Office of your home faculty as soon as possible. If you are a Science student, the Academic Counselling Office of the Faculty of Science is located in WSC 140, and can be contacted at scibmsac@uwo.ca.
For further information, please consult the university’s medical illness policy at http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf.
You may also wish to contact Services for Students
with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding
an accommodation.
Link to policy on Accommodation Consideration for
Student Absences
www.uwo.ca/univsec/pdf/academic_policies/appeals/Academic_Consideration_for_absences.pdf
(which includes a link to the Student Medical Certificate)
Project
Milestones and Deliverables
Milestones |
Deliverable
Description*** |
Due date |
Weight % |
1 |
Progress Report (PR) 1 |
18th November, 2019 |
15 |
2 |
PR 2 |
3rd February, 2020 |
25 |
3 |
FINAL Report |
27th March, 2020 |
60 |
4 |
Project presentation |
TBA |
|
|
Classes end |
3rd
April, 2020 |
|
*** EXTREMELY IMPORTANT:
(1) All deliverables are
mandatory. A course grade of zero will be recorded for the group if there are
any missing deliverables.
(2) Please note that final
report date and presentation date (TBA) are FIXED without exception (only
university exception applies). THESE ARE (or will be) FIRM DATES. Failing
to deliver these on the due date will result in the course grade of zero marks;
no exception will be made.
(3) Remote presentations
will NOT be entertained for any individual or group. Please make sure that EACH
GROUP MEMBER is present for the date and time of your presentation. No
employment job reasons or family trips or other reasons that preclude you from
being present in the class for your presentation will be acceptable. Please
kindly make arrangements such that you are physically present in the class for
your presentation. An absent member will receive a grade of zero mark for the
course if not physically present during group presentation. Any timeslots
indicated as TBA are within the school term and you are expected to be present
in this course during the school term.
About the Milestones and
Assessment
·
Milestones 1-3
are meant to thrust the project towards completion and will involve core
software development aspects (program code, architecture and design, testing,
project management, documentation, etc.) and technologies. Milestone 4 is
project presentation which will be scheduled at a later date.
·
The
specification of the deliverables will be posted on OWL.
·
Any
clarification or revision to the deliverables will also be posted on OWL. It is
your responsibility to monitor this closely.
·
The weight of
each milestone is indicated above. They will be assessed by the project
supervisors and the course instructor.
Use of Third Party software
artefacts
·
Use of third
party software artefacts (e.g., code, architecture, requirements, etc.) is
permitted subject to any restrictions indicated at source.
·
Use of third
party artefacts must be explicitly declared in your documentation, giving
citation of the source of the material used.
·
If you use third
party software artefacts not permitted at source, you may be charged with an
academic offence.
Submission of Milestones
-
All milestone
deliverables will be submitted to OWL.
Late Submissions
-
Please note: Late milestones submissions will not be accepted. Final
report and presentations will take place firmly on the scheduled date. No
extensions will be possible.
-
If you have
serious medical or compassionate grounds for an extension, you must take
supporting documentation to the Academic Counselling unit of your faculty for
advice.
Regulations
·
Projects will be
carried out in groups as specified in the proposal. However, the Dept. reserves
the right to take exceptional measures. Student requests for single-person
group will not be entertained.
·
Project
supervisor can be changed only PRIOR to an agreement is made with the
supervisor. The supervisor-student-group relationship is bound once the
agreement has been made.
·
Supervisor selection
is an asynchronous process. Any group of students or an individual student can
contact any supervisor independently.
·
Student acceptance by
a supervisor is the prerogative of the supervisor; the course instructor will
not interfere in that process.
·
Any individual
student (or group) can solicit another student to join of form the group
(subject to the size limit in the project proposal).
·
The
project topic can be changed (only
with the same supervisor) subject to the approval of the course
instructor.
·
There are other
specific issues to do with physical presence for final presentation, late
submission, etc. These are not listed here.
·
Further regulations
(implicit or discovered in real-time): There may be other issues that may crop
up that are not listed above. The course instructor reserves the right to make
the final decision on those issues and they may not be appealed.
Ethical Conduct
Scholastic offences
are taken seriously and students are directed to read the appropriate policy,
specifically, the definition of what
constitutes a Scholastic Offence, at the
following Web site:
http://www.uwo.ca/univsec/pdf/academic_policies/appeals/scholastic_discipline_undergrad.pdf.
Plagiarism: Students must write their essays and assignments in their own words.
Whenever students take an idea, or a passage from another author, they
must acknowledge their debt both by using quotation marks where appropriate and
by proper referencing such as footnotes or citations. Plagiarism is a major
academic offence. Please note,
however, that students are not allowed to make use of the work of others unless
explicitly instructed to do so in the description of an assignment.
All projects are to be exclusively your own
work. While project work requires you to work in teams, each team is expected
to act individually. You may discuss approaches to problems among yourselves;
however, the actual details of the work (coding, documentation, etc.) must be
an individual effort. Incidents that
are judged to be the result of academic dishonesty will be reported to the Undergraduate Chair. The
selection of penalty to be applied is up to the Chair, with consultation of the
instructor.
The standard departmental penalty for
assignments that are judged to be the result of academic dishonesty is, for the
student's first offence, a mark of zero
for the assignment, with an additional penalty equal to the weight of the
assignment also being applied. You are responsible for reading and respecting the Department of Computer
Science's policy on Scholastic Offenses. and Rules of Ethical Conduct.
The University of Western Ontario uses software
for plagiarism checking. Students may be required to submit their written work
and programs in electronic form for plagiarism checking.
All
required papers may be subject to submission for textual similarity review to
the commercial plagiarism detection software under license to the University
for detection of plagiarism. All papers submitted for
such checking will be included as source documents in the reference database
for the purpose of detecting plagiarism of papers subsequently submitted to the
system. Use of the service is subject to the licensing agreement, currently
between The University of Western Ontario and Turnitin.com (http://www.turnitin.com/).
Accessibility
Statement
Please
contact the course instructor if you require material in an alternate format or
if you require any other arrangements to make this course more accessible to
you. You may also wish to contact Services for Students with Disabilities (SSD)
at 661-2111 x 82147 for any specific question regarding an accommodation.
Support
Services
Learning-skills
counsellors at the Student Development Centre (http://www.sdc.uwo.ca)
are ready to help you improve your learning skills. They offer presentations on strategies for
improving time management, multiple-choice exam preparation/writing, textbook
reading, and more. Individual support is offered
throughout the Fall/Winter terms in the drop-in Learning Help Centre, and
year-round through individual counseling.
Students
who are in emotional/mental distress should refer to Mental Health@Western
(http://www.health.uwo.ca/mental_health) for a complete list of options
about how to obtain help.
The website for Registrarial Services is http://www.registrar.uwo.ca.
University Students’ Council
Link to services provided by the University Students’
Council: http://westernusc.ca/services/