Skip to main content

Search Bar Icon Close Menu

Online classes

Effective: Late Fall 8-Week, 2017/2018

CISS 465: Software Engineering

Course Description

An introduction to software engineering including process models, software metrics, configuration management, risk analysis, testing techniques and quality assurance, project management and tracking.

Prerequisite: CISS 243 or CISS 245

Proctored Exams: Midterm and Final



Syllabus Contents

Textbooks

Required

  • Pressman, R. S.. Software Engineering - A Practitioner's Approach. 8th . McGraw Hill.
    • ISBN-978-0-07-802212-8

MBS Information

Textbooks for the course may be ordered from MBS Direct. You can order

For additional information about the bookstore, visit http://www.mbsbooks.com.


Course Overview

Welcome to Software Engineering (CISS 465) online!  For those of you who are not familiar with what software engineering really is, or for those who think it is a fancy word for programming, it is the study of the various ways to specify, design, develop, test, and deploy software, both embedded and non-embedded.  It is not just programming but includes all of those steps needed to do a good job of writing good, high quality software.  In fact, in this course, we will do very little, if any, programming and knowledge of a specific language (or any language) is not required (though it will help if you have developed some kind of software).

In this course, we will examine various aspects of software engineering through the entire life cycle (from a bright idea to deployment of the final product).  We will break the 8 week session into 4 sections.  First, we will discuss software lifecycles, when a development process is needed, project estimation, and common challenges with software development.  Starting in week 3, we will cover requirements analysis, including use cases.  We will also talk about sources of requirements and what makes a good requirement.  We will also introduce software quality assurance.  During weeks 5 and 6, we will examine software development and explore the design process.  We will wrap it up during weeks 7 and 8 discussing software and how software is tested, including both software verification and software validation.  We will conclude the course with software metrics and configuration management (both how and when to start doing it)

Throughout the session, we will approach the software development from the point of view of a safety critical system.  These are some of the most complex systems and require a high level of quality – the worst case scenario, if you will.  In each case, however, it will be mentioned how techniques and processes may be altered or relaxed if the project does not require this level of process. 



Technology Requirements

Participation in this course will require the basic technology for all online classes at Columbia College:
  • A computer with reliable Internet access
  • A web browser
  • Acrobat Reader
  • Microsoft Office or another word processor such as Open Office

You can find more details about standard technical requirements for our courses on our site.


Course Objectives

  • To develop an engineering approach to complex software system development.
  • To utilize metrics to manage development.
  • To write software requirements specifications.
  • To develop use cases.
  • To utilize analysis modeling techniques.
  • To utilize configuration management tools.
  • To develop testing plans.
  • To use UML as a development and documentation aid.
  • To understand Risk Management.

Measurable Learning Outcomes

  • Explain the common system development models.
  • Explain analysis and design modeling principles.
  • Explain requirements engineering.
  • Develop use cases.
  • Explain architectural design principles and options.
  • Develop a testing strategy.
  • Prepare a risk management plan.
  • Develop a set of metrics for project management

Grading

Grading Scale
Grade Points Percent
A 900-1000 90-100%
B 800-899 80-89%
C 700-799 70-79%
D 600-699 60-69%
F 0-599 0-59%
Grade Weights
Assignment Category Points Percent
Discussion (16) 240 24%
Dropbox Assignments (8) 200 20%
Project 320 32%
Midterm 100 10%
Final 140 14%
Total 1000 100%


Schedule of Due Dates

Week 1
Assignment Points Due
Introduction - Thursday
Discussion Question 1 10
Discussion Question 2 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 1 25
Project: Stage 1 40
Week 2
Assignment Points Due
Discussion Question 3 10 Thursday
Discussion Question 4 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 2 25
Project: Stage 2 40
Proctor Information N/A
Week 3
Assignment Points Due
Discussion Question 5 10 Thursday
Discussion Question 6 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 3 25
Project: Stage 3 40
Week 4
Assignment Points Due
Discussion Question 7 10 Thursday
Discussion Question 8 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 4 25
Project: Stage 4 40
Midterm Exam 100
Week 5
Assignment Points Due
Discussion Question 9 10 Thursday
Discussion Question 10 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 5 25
Project: Stage 5 40
Week 6
Assignment Points Due
Discussion Question 11 10 Thursday
Discussion Question 12 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 6 25
Project: Stage 6 40
Week 7
Assignment Points Due
Discussion Question 13 10 Thursday
Discussion Question 14 10
Discussion Question Follow Up Postings 10 Sunday
Dropbox Assignment 7 25
Project: Stage 7 40
Week 8
Assignment Points Due
Discussion Question 15 10 Thursday
Discussion Question 16 10
Discussion Question Follow Up Postings 10 Saturday
Dropbox Assignment 8 25
Project: Stage 8 40
Final Exam 140
Total Points 1000

Assignment Overview

Discussion Questions

These are questions that must be answered (publicly) in the Discussions Area of the course. Each student is expected to post their own answer to the question.  The posting should demonstrate your understanding of the material, be well thought out, and complete.  A key component of project management is the ability to properly communicate an idea completely and succinctly.  For discussions, the expectation is the same.  These are to be posted in the appropriate topic in the Discussions Area of the course.


Discussion Follow Up Postings

These are your opportunity to ask questions, make suggestions, and add your thoughts or point of view, in response to other classmates. Your posting should be well thought out and complete.  If you can do this in a couple of sentences, this is fine (though a little more is expected).  Responses are not expected to be as long as the original postings. These are to be posted in reply to other student postings in the appropriate topic in the Discussions Area of the course.


Dropbox Assignments

These weekly assignments will be used to demonstrate how much of the week’s material you have learned.  They will vary from week to week and will include short case studies, discussions related to the topic(s) of the week and other small (1-2 pages) discussions.  For objective questions, more weight will be given to the correctness of the answer than what is expected for the answers to the Discussion Questions (described above).  For more subjective questions, your line of reasoning should mesh with the material covered and reflect proper application of the material.  These assignments are to be submitted in the appropriate folder in the Dropbox area of the course.

Project Assignments

Throughout the session, we will be working on the Software Engineering aspects of a project. There will be 8 stages of the project, with one stage due each week.  During week 1, you will need to select which project (of 2 or 3 possibilities) you wish to work on.  During the subsequent weeks, you will work on some aspect of the project.  While we won’t actually create a complete Software Requirements Specification or other project documents, we will explore what is needed to write these documents and go through the thought processes we use if we were going to develop these documents.   These assignments are to be submitted in the appropriate folder in the Dropbox area of the course.

Exams

There will be 1 midterm exam (during week 4) and 1 final exam (during week 8).  Each exam will be proctored and will last 2 hours.  Please see Proctor Policy below for information on arranging your proctor.  More details concerning the exam contents will be provided as the session proceeds. 


Course Outline

Click on each week to view details about the activities scheduled for that week.

Week 1: Introduction to Software Engineering
Readings

Pressman:  Chapters 1, 2, 31

Introduction

Please post your introduction.  Tell us a little bit about yourself.  How much programming have you done?  Have you worked on any software projects?  Feel free to share any personal information as well (what city you live in, family, etc…).  We will be spending the next 8 weeks together and it would be good to get to know each other a little bit.

Discussion Question 1

Textbook Question 1.3

Discussion Question 2

Many times, the customer and the end user of a piece of software is the same, but this need not always be the case.  Describe three real-life situations where the customer and the end user are not the same person.  Explain how you would prioritize the requirements of each stakeholder.

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 1 & 2 (5 points each).

Dropbox Assignment 1

Case Study:

Read the article “An Investigation of the Therac-25 Accidents” (IEEE Computer, Vol. 26, No. 7, July 1993, pp 18-41).  http://courses.cs.vt.edu/cs3604/lib/Therac_25/Therac_1.html.  After reading the case, discuss the two biggest failures by Atomic Energy Commission Limited (the manufacturer of the device) when they developed the Therac-25 device.  How would modern software engineering principles have helped? Your response should be roughly 1 page in length.

Project: Stage 1

Statement:

For the project assignment specified in the Content Area of the course, please submit a statement of scope that bounds the problem.

Week 2: Software Processes
Readings

Pressman: Chapters  3, 4, 33.

Discussion Question 3

Textbook Question 4.6.

Discussion Question 4

More often than not, a software development schedule is developed before the requirements are completed and the delivery date is promised to management.  As the project team starts to develop requirements, it is found that the project will take longer to complete and the Project Manager must slip the project.  Often times, the project is significantly late when finally released.  Why does this happen?  If you were the PM, how would you improve the situation?  

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 3 & 4 (5 points each).

Dropbox Assignment 2

Compare and contrast waterfall and iterative development models.  Describe the strengths and weaknesses of each.  For each of the following two scenarios, describe the better of the two development models and why it would be:

  1. Your company is developing a product using new, unproven technology.  As it is new territory for both the company and the industry, there is much ambiguity in the requirements and the scope of the final project.
  2. A “Line Extension” project builds a significant set of new features onto an existing project.  The features come from detailed customer feedback and there is very little gray area in what is needed or how to implement it.  The customer has basically said “You know what we want, go ahead and build it, and call us when it is done.”
Project: Stage 2

Development Model Description:
For your project, please provide a description of the development model you would use.  Why did you choose this model?  If you chose an iterative model, how many iterations will you plan and what is the goal of each iteration?  If you chose a waterfall model, how do you plan to handle any requirement changes late in the process?

Proctor Information
Submit your proctor form to the appropriate Dropbox folder by the end of the week. Remember to “Save” the form before placing it in Dropbox. See the Content area for more information.
Week 3: Requirement Analysis and Modeling
Readings

Pressman: Chapters 7, 8, 9.

Discussion Question 5

Two easy sources of requirements are customer needs and business rules.  Name two other sources of requirements and briefly describe why they should be considered.

Discussion Question 6

Textbook Question 9.1.

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 5 & 6 (5 points each).

Dropbox Assignment 3

Textbook question 9.5 & 9.6

Project: Stage 3

For stage 3 of your project, complete two (2) use cases and develop 5 well-written requirements (clear, complete, implementable, testable) sufficient for a developer to implement each use case.  Note that the set of 5 requirements need not completely specify the activity.

Week 4: Risk Management and Software Quality I
Readings

Pressman: Chapters 35, 19, 21

Discussion Question 7

Textbook Question 35.4.

Discussion Question 8

Far too many organizations use the concept of “Testing in Quality”.  Why is this an inferior approach to “Designing in Quality”?  

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 7 & 8 (5 points each).

Dropbox Assignment 4

For each of the following two software controlled systems, identify three hazards that can be linked to software failures.  Identify steps that can be taken at different stages during the software lifecycle to minimize the probability of these failures.

System 1:
A GPS navigation system on a commercial aircraft.

System 2:
An Elevator in a high-rise building.

Project: Stage 4

For stage 4 of your project, identify 3 project risks and 3 product risks.  Describe the risks, and how you will handle them during the project.

Midterm Exam
Take the midterm exam during your scheduled time. Due by Sunday.
Week 5: Software Design and Implementation
Readings

Pressman: Chapters 12, 13, 14

Discussion Question 9

Textbook Question 13.2

Discussion Question 10

An Independent Reviewer is a member of a formal or informal technical review who is not part of the development team, and may not even be a member of the company!  Why would such a role be beneficial on a Technical Review?  How independent should the reviewer be?

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 9 & 10 (5 points each).

Dropbox Assignment 5

Textbook Question 12.12

Project: Stage 5

For your project, discuss how you will go about designing the software, the approach you will take, and the tasks that must be completed.  For tasks that you would do, explain why you would do them.  For those you do not need to do, explain why they are not needed. 

Week 6: More Software Design and Implementation
Readings

Pressman: Chapters 15, 16, 18

Discussion Question 11

Early programming did not pay particular attention to the user interface and sometimes considered it an afterthought.  Describe some of the problems that may arise from not developing a good user interface for a piece of software.  How would proper UI design have affected the Therac-25 case we discussed in week 1?  

Discussion Question 12

Question 15.1.

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 11 & 12 (5 points each).

Dropbox Assignment 6

Textbook Question 18.4

Project: Stage 6

For your project, create two mock-ups of a user interface display.  These should be of substantial screens, not a simple log-in/log-off screen.  For each, include a textual description of the types of controls (mouse, keyboard, touchscreen, trackball, etc…) and how the user interacts with them to control the software. 

Course Evaluation
Please evaluate the course. You will have an opportunity to evaluate the course near the end of the session. A link sent to your CougarMail will allow you to access the evaluation. Please note that these evaluations are provided so that I can improve the course, find out what students perceive to be its strengths and weaknesses, and in general assess the success of the course. Please do take the time to fill this out.
Week 7: Testing
Readings

Pressman: Chapters 22, 23, and 24

Discussion Question 13

Describe the differences between Verification and Validation.  What is the goal of each and how is each done?

Discussion Question 14

Textbook Question 22.8.

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 13 & 14 (5 points each).

Dropbox Assignment 7

During formal testing of a product’s software, your team identifies a critical bug due to misunderstood requirement.  Your team determines that correctly fixing the defect will require complete redevelopment of one module but is isolated just to that module.  Describe how you would retest that module and any other testing that you would perform to ensure that the changed requirement is implemented correctly.  Include regression testing (if any) that you would perform.   

Project: Stage 7

Develop a testing strategy describing how you will approach testing of your project.  Consider both Verification and Validation.  Develop one or more test cases for the requirements identified in week 3.

Week 8: Change and Configuration Management, Software Metrics
Readings

Pressman: Chapters 28, 29

Discussion Question 15

Many developers, early in their career, complain that Change Control Boards are a waste of their time and negatively impact their productivity.  Their preference is to allow the developer the ability to choose which defects and features to fix/implement in a way to maximize their time.  Is this a good idea in general?  If not, is there a situation where this is appropriate?

Discussion Question 16

FDA requires all software released in products to be under strict revision control.  The development team must be able to reconstruct a released version of software from source code.  Why do they require this?  What benefit does this provide?  

Discussion Question Follow Up Postings

Post follow-up responses to your classmate's postings, for Discussions 15 & 16 (5 points each).

Dropbox Assignment 8

Textbook questions 29.2 

Project: Stage 8

For your project, what baselines would you define and how would you control them?  In other words, we know from our reading that a baseline is, effectively, a snapshot of the project in time.  At which point(s) in time would you create a baseline of all of your project deliverables?

(OPTIONAL)  Throughout the session, we have been working on this project, which demonstrates many of the aspects of software engineering.  Please describe the best part(s) of the project and/or the worst parts of the project.  Future offerings of the course may be based upon this feedback, so both positive and negative feedback is of interest.

Final Exam

Take the Final Exam during your scheduled time.  Due by SATURDAY.



Course Policies

Student Conduct

All Columbia College students, whether enrolled in a land-based or online course, are responsible for behaving in a manner consistent with Columbia College's Student Conduct Code and Acceptable Use Policy. Students violating these policies will be referred to the office of Student Affairs and/or the office of Academic Affairs for possible disciplinary action. The Student Code of Conduct and the Computer Use Policy for students can be found in the Columbia College Student Handbook. The Handbook is available online; you can also obtain a copy by calling the Student Affairs office (Campus Life) at 573-875-7400. The teacher maintains the right to manage a positive learning environment, and all students must adhere to the conventions of online etiquette.

Plagiarism

Your grade will be based in large part on the originality of your ideas and your written presentation of these ideas. Presenting the words, ideas, or expression of another in any form as your own is plagiarism. Students who fail to properly give credit for information contained in their written work (papers, journals, exams, etc.) are violating the intellectual property rights of the original author. For proper citation of the original authors, you should reference the appropriate publication manual for your degree program or course (APA, MLA, etc.). Violations are taken seriously in higher education and may result in a failing grade on the assignment, a grade of "F" for the course, or dismissal from the College.

Collaboration conducted between students without prior permission from the instructor is considered plagiarism and will be treated as such. Spouses and roommates taking the same course should be particularly careful.

All required papers may be submitted for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers may be included in the Turnitin.com reference database for the purpose of detecting plagiarism. This service is subject to the Terms and Conditions of Use posted on the Turnitin.com site.

Non-Discrimination

There will be no discrimination on the basis of sex, race, color, national origin, sexual orientation, religion, ideology, political affiliation, veteran status, age, physical handicap, or marital status.

Student Accessibility Resources

Students with documented disabilities who may need academic services for this course are required to register with the office of Student Accessibility Resources. Until the student has been cleared through this office, accommodations do not have to be granted. If you are a student who has a documented disability, it is important for you to read the entire syllabus as soon as possible. The structure or the content of the course may make an accommodation not feasible. Student Accessibility Resources is located in Student Affairs in AHSC 215 and can be reached by phone at (573) 875-7626 or email at sar@ccis.edu.

Online Participation

You are expected to read the assigned texts and participate in the discussions and other course activities each week. Assignments should be posted by the due dates stated on the grading schedule in your syllabus. If an emergency arises that prevents you from participating in class, please let your instructor know as soon as possible.

Attendance Policy

Attendance for a week will be counted as having submitted any assigned activity for which points are earned. Attendance for the week is based upon the date work is submitted. A class week is defined as the period of time between Monday and Sunday (except for week 8, when the work and the course will end on Saturday at midnight.) The course and system deadlines are based on the Central Time Zone.

Cougar Email

All students are provided a CougarMail account when they enroll in classes at Columbia College. You are responsible for monitoring email from that account for important messages from the College and from your instructor. You may forward your Cougar email account to another account; however, the College cannot be held responsible for breaches in security or service interruptions with other email providers.

Students should use email for private messages to the instructor and other students. The class discussions are for public messages so the class members can each see what others have to say about any given topic and respond.

Late Assignment Policy

An online class requires regular participation and a commitment to your instructor and your classmates to regularly engage in the reading, discussion and writing assignments. Although most of the online communication for this course is asynchronous, you must be able to commit to the schedule of work for the class for the next eight weeks. You must keep up with the schedule of reading and writing to successfully complete the class.

No late discussion posts will be accepted.

For the dropbox and project assignments, there will be a 10% deduction of the maximum score for each 24 hour period that the assignment is late.  For example, if your grade on the assignment is 10 out of 15 and you turn it in 70 hours late, your actual grade will be 7 out of 15.  (10/15 – 4.5/15 = 6.5/15 = 7/15).

The mid-term and final exams will not be accepted late without prior approval.

Course Evaluation

You will have an opportunity to evaluate the course near the end of the session. A link will be sent to your CougarMail that will allow you to access the evaluation. Be assured that the evaluations are anonymous and that your instructor will not be able to see them until after final grades are submitted.

Proctor Policy

Students taking courses that require proctored exams must submit their completed proctor request forms to their instructors by the end of the second week of the session. Proctors located at Columbia College campuses are automatically approved. The use of ProctorU services is also automatically approved. The instructor of each course will consider any other choice of proctor for approval or denial. Additional proctor choices the instructor will consider include: public librarians, high school or college instructors, high school or college counseling services, commanding officers, education service officers, and other proctoring services. Personal friends, family members, athletic coaches and direct supervisors are not acceptable.


Additional Resources

Orientation for New Students

This course is offered online, using course management software provided by Desire2Learn and Columbia College. The course user guide provides details about taking an online course at Columbia College. You may also want to visit the course demonstration to view a sample course before this one opens.

Technical Support

If you have problems accessing the course or posting your assignments, contact your instructor, the Columbia College Helpdesk, or the D2L Helpdesk for assistance. Contact information is also available within the online course environment.

Online Tutoring

Smarthinking is a free online tutoring service available to all Columbia College students. Smarthinking provides real-time online tutoring and homework help for Math, English, and Writing. Smarthinking also provides access to live tutorials in writing and math, as well as a full range of study resources, including writing manuals, sample problems, and study skills manuals. You can access the service from wherever you have a connection to the Internet. I encourage you to take advantage of this free service provided by the college.

Access Smarthinking through CougarTrack under Students -> Academics -> Academic Resources.


+

Request info