CSC 550 - Software Engineering
TR 5:00-6:15pm,
Congdon Hall 1012
Spring 2023 - 3 credits
Instructor:
Dr.
Ron Vetter, Email: vetterr@uncw.edu, Cell
Phone: (910) 538-3523, Office Hours: (Congdon Hall, Room 2033): TR
10:00am-11:00am and by appointment.
Text and
Supplemental Material:
·
Text: Engineering
Software Products: An Introduction to Modern Software Engineering, by Ian
Sommerville, Pearson, 2020.
·
Link to author online resources is here.
·
Selected Readings: The text will be supplemented by research
articles from software engineering related journals and conference proceedings.
·
IEEE Computer Society Software Magazine's Software Engineering Radio
·
CMU Software Engineering Institute's: Podcasts
Course
Objectives:
·
Comprehension: The student should understand: (1) the software engineering process;
(2) the activities and aspects of the process; (3) the issues (software crisis)
that are motivating the growth and evolution of the software engineering
discipline; (4) the differences between academic or personal programming and software
engineering; (5) a reasonable set of principles, models, representations,
methods, and tools; (6) the role of analysis and evaluation in software
engineering.
·
Application: The
student should be able to: (1) apply fundamental principles in the performance
of the various activities; (2) apply appropriate formal methods to achieve
results; (3) use appropriate tools covering all activities of the software
process; (4) execute a plan (e.g., test plan), apply documentation standards in
the production of software engineering documents.
·
Analysis: The
student should be able to: (1) participate in technical reviews and inspections
of various software work products, including documents, plans, designs, and
code; (2) analyze the needs of customers.
·
Synthesis: The
student should be able to: (1) perform the activities leading to various
software products, including requirements specifications, designs, code, and
documentation; (2) develop plans (project plan, quality assurance plans, test
plans etc.); (3) design data for and structures of software tests; (4) prepare
oral presentations, and plan and lead software technical reviews and
inspections.
·
Evaluation: The
student should be able to: (1) evaluate software products for conformance to
standards; (2) use appropriate qualitative and quantitative measures in
evaluate software products; (3) perform verification and validation of
software.
Course
Description:
An
introduction to software life cycle models; size estimation; cost and schedule
estimation; project management; risk management; formal technical reviews;
analysis, design, coding, and testing methods; configuration management and
change control; and software reliability estimation. Emphasis on large
development projects. Individual project following good software engineering
practices required during the semester.
Grading:
1.
Homework Assignments - 20%
2.
Two Exams - 40%
3.
Final Course Project - 40%
Note 1: Material for
the exams will be drawn from lectures, readings, and assignments.
Note 2: Pluses/minuses are awarded at the discretion of the instructor.
Homework:
Homework assignments
will be given normally a week ahead of their due dates.
Course
Project:
This course will
entail completing a 15-week, group-oriented software engineering project. Each
team will consist of four to five students. System deliverables, documentation,
and team participation count toward the grade.
Course
Attendance:
You are expected to
attend all lectures. Absence does not relieve you from meeting all course requirements.
You are responsible for all reading, assignments, and exams. Keep up with the
day-to-day reading requirements of the class.
All students are
expected to attend and participate in person at an assigned day/time
determined by instructor within assigned class schedule. Some course content
may be delivered online asynchronously. See Course Schedule below.
Health and
Safety Considerations:
Students who
experience COVID-19 symptoms should immediately contact the Abrons Student
Health Center at (910) 962-3280.
Students
with Special Needs:
Students with
diagnosed disabilities should contact the Disability Resource Center. If you
require accommodation for test-taking, please make sure you have registered
with the Disability Resource Center no fewer than three days before the test.
Code of
Academic Responsibility and Conduct:
Students
are responsible for submitting their own work. Students who cooperate on oral
or written examinations or work without authorization share the responsibility
for violation of academic principles, and the students are subject to
disciplinary action even when one of the students is not enrolled in the course
where the violation occurred.
Copyright Notice:
Any dissemination of
class notes, lecture slides, recordings, handouts, copies of exams, or any other
course materials without permission of the instructor is prohibited by UNCW
policy. UNCW Copyright Use and Ownership
Policy http://www.uncw.edu/policies/documents/01210.copyrightpolicy.pdf)
specifies that class notes and related materials are considered derivative of
original intellectual property of the course instructor. Therefore, the
instructor (not the student) owns the copyright and must provide specific
permission to distribute and/or reuse those materials for anything other than
personal use and scholarship by the student. Commercial use, display, or
dissemination of such notes, copies, or recordingsas well as posting to
websites--will generally constitute an infringement of copyright and the Honor
Code. Materials that qualify as
student-owned are listed in the policy.
Course
Schedule:
·
Week 1: Software Products Chapter 1 (.pptx). Watch: The History of Software
Engineering, Grady Booch, ACM Learning Webinar, April 25, 2018.
· Week 2: Agile Software Engineering Chapter 2 (.pptx). Readings: The End of Programming, CACM, Vol. 66, No. 1, January 2023, pp. 34-25. See also, GitHub CoPilot Project.
·
Week 3: Features,
Scenarios, and Stories Chapter 3 (.pptx). Readings: Managing IT Professional Turnover,
CACM, Vol. 64, No. 9, September 2021, pp. 72-77. Deliverable #1
Due, Feb 7th.
·
Week 4: Software
Architecture Chapter 4 (.pptx).
Readings: Static Analysis at
GitHub, CACM, Vol. 65, No. 2, February 2022, pp. 44-51.
·
Week 5: Cloud-based
Software Chapter 5 (.pptx). Readings: The Software
Industry is Still the Problem, CACM, Vol. 65, No. 6, June 2022, pp.
42-43. Deliverable
#2 Due, Feb 21st.
Exam #1
Thursday, February 23, 2023
·
Week 6:
Microservices Architecture Chapter 6 (.pptx).
Readings: The SPACE
of Developer Productivity, CACM, Vol. 64, No. 6, June 2021, pp. 46-53.
·
Week 7: Security
and Privacy Chapter 7 (.pptx). Readings: The
Four Horsemen of an Ailing Software Project, CACM, Vol. 65, No. 12,
December 2022, pp. 22-23.
·
Week 8: Reliable
Programming Chapter 8 (.pptx). Readings: The Time I stole $10,000
from Bell Labs, CACM, Vol. 64, No. 2, February 2021, pp. 44-46.
·
Week 9: Spring Break March 5-11, 2023
· Week 10: Testing Chapter 9 (.pptx). Readings: Software Engineering A Profession in Waiting, Computer, May 2021, pp. 62-64. Deliverable #3 Due, March 16th.
Ψ The Complete Guide for Writing a Software Test Plan
Ψ What is Software Testing and Why is it so Important? (video)
· Week 11: DevOps and Code Management Chapter 10 (.pptx). Readings: Not Teaching Software Engineering Standards to Future Software Engineers Malpractice?, Computer, May 2021, pp. 81-88.
March
28 Business Week No Class!
March
30 Work on Group Projects!
·
Week 12: Prepare for
Group Presentations
Exam #2 Tuesday, April 4, 2023
Deliverable #4 Due, April 4, 2023
· Week 13: Easter Holiday - Thursday, April 6, 2023
·
Week 14: Project Presentations:
Ψ Prepare for presentations April 11th No Class
Ψ WITX Event April 13th No Class; register and attend WITX
·
Week 15: Project Presentations:
Ψ Team Honeybadger 3D Model Companion (April 18, 2023)
Ψ MHA Prototype
Project with PowerBI (April 20, 2023)
·
Week 16: Project Presentations:
Ψ CheckMate: To Do List Project (April 25, 2023)
Ψ Multiplayer Video Game (April 25, 2023)
Ψ See Shell Project (April 27, 2023)
FINAL PROJECT
REPORTS DUE: Thursday, May 4th @ 7:00pm.
Last Updated:
April 25, 2023