Skip to main content

Search Bar Icon Close Menu

Online classes

Effective: Late Spring 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.. (2015). 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 software engineering, or for those who think it is a fancy word for programming, software engineering is the study of the various ways to specify, design, develop, test, and deploy software, including both embedded and non-embedded software. It is not just programming, but includes all the steps needed to write good, high quality software. In fact, in this course, we will do very little (if any) programming. Knowledge of any language is not required, although it will help if you have developed some kind of software.

In this course, we will examine the various aspects of software engineering through the entire life cycle of a product, from a bright idea to deployment of the final product. The 8-week session will be divided 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, as well as software quality assurance. During Weeks 5 and 6, we will examine software development and explore the design process. Finally, during Weeks 7 and 8, we will discuss software and how software is tested, including both software verification and software validation. We will conclude the course with software metrics and configuration management.

Throughout the session, we will approach the software development from the point of view of safety critical systems. These are some of the most complex systems and require high levels of quality. In each case, however, we will discuss 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 Learning Outcomes

  1. Compare and contrast different software engineering and development processes.
  2. Explain analysis and design modeling principles.
  3. Develop use cases.
  4. Develop a testing strategy.
  5. Use metrics to manage projects.

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
Discussions (16) 240 24%
Dropbox Assignments (8) 200 20%
Project 320 32%
Midterm Exam 100 10%
Final Exam 140 14%
Total 1000 100%


Schedule of Due Dates

Week 1
Assignment Points Due
Introduction Discussion -- Thursday
Discussion 1 15 Thursday/Sunday
Discussion 2 15
Dropbox Assignment 1 25 Sunday
Project: Part A 40
Week 2
Assignment Points Due
Discussion 3 15 Thursday/Sunday
Discussion 4 15
Dropbox Assignment 2 25 Sunday
Project: Part B 40
Proctor Information N/A
Week 3
Assignment Points Due
Discussion 5 15 Thursday/Sunday
Discussion 6 15
Dropbox Assignment 3 25 Sunday
Project: Part C 40
Week 4
Assignment Points Due
Discussion 7 15 Thursday/Sunday
Discussion 8 15
Dropbox Assignment 4 25 Sunday
Project: Part D 40
Midterm Exam 100
Week 5
Assignment Points Due
Discussion 9 15 Thursday/Sunday
Discussion 10 15
Dropbox Assignment 5 25 Sunday
Project: Part E 40
Week 6
Assignment Points Due
Discussion 11 15 Thursday/Sunday
Discussion 12 15
Dropbox Assignment 6 25 Sunday
Project: Part F 40
Week 7
Assignment Points Due
Discussion 13 15 Thursday/Sunday
Discussion 14 15
Dropbox Assignment 7 25 Sunday
Project: Part G 40
Week 8
Assignment Points Due
Discussion 15 15 Thursday/Saturday
Discussion 16 15
Dropbox Assignment 8 25 Saturday
Project: Part H 40
Final Exam 140
Total Points 1000

Assignment Overview

Discussions

Each week you will have questions that must be answered (publicly) under the appropriate topic in the Discussions area of the course. You are expected to post your own answer to the question by 11:59 p.m. CT, Thursday of each week. Each original answer is worth 10 points. The posting should demonstrate your understanding of the material, and be well thought-out and complete. A key component of project management is the ability to properly communicate an idea completely and succinctly. The same is expected for discussions: your responses should answer the questions completely and succinctly. If you can completely answer a question in 2 or 3 sentences, go ahead, though that is unlikely. For most discussion questions, a couple of paragraphs are sufficient. There are no specific citations and writing styles needed.

You must post original thoughts before reading the posts of your classmates. For each discussion question, you are also expected to post a substantive response (follow up posting) to at least one other student’s original posting. This should go beyond, “I agree,” or, “Great post”; it should be a well-thought-out response to the original post. Suggested themes for follow-up posts are included in each discussion question. The responses are worth 5 points for each discussion question and are due by Sunday of each week at 11:59 p.m. CT, except for Week 8 where it is due by 11:59 p.m. CT, Saturday.

In the follow up posting assignments, you will be asked to pose counterarguments to another student, or to identify weaknesses or areas of improvement for their posts. It is expected that your posts will offer respectful, professional, constructive criticism and not personal attacks or unsubstantiated destructive criticism.


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 to the appropriate folder in the Dropbox area of the course and are due by 11:59 p.m. CT, Sunday for Weeks 1 through 7, and 11:59 p.m. CT, Saturday for Week 8.

Each assignment should answer the question completely and succinctly. For most questions, a one to two-page answer should be sufficient. Some questions, however, may require a bit more or a bit less.

Your writing style should be appropriate for a business report to senior management or a short article in a scholarly journal. In other words, proper English should be used, with no use of slang terms. If you need to include citations, please follow the style defined by the Association for Computing Machinery.

In the event the question asks for a figure, diagram, or chart, feel free to use whichever drawing package you prefer. If you do not have access to a drawing package (Visio, Paint, etc.) then you may submit a scan of a hand drawn image. Keep in mind, however, that it must be legible; points may be deducted if the instructor misunderstands the drawing.


Project

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 selected 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 used to develop these documents.

These assignments are to be submitted to the appropriate folder in the Dropbox area of the course and are due by 11:59 p.m. CT, Sunday for Weeks 1 to 7, and 11:59 p.m. CT, Saturday for Week 8.  Each assignment should answer the question completely and succinctly. For most questions, a one to two-page answer should be sufficient. Some questions, however, may require a bit more or a bit less.

There are no specific citations and writing styles needed.  It is left to your discretion.


Exams

There will be a Midterm exam (during week 4) and a Final exam (during week 8) in this course. Each exam will be proctored and will last 2 hours. Submit the “Student Proctor Information Submission Form” to the Proctor Information Dropbox by the end of Week 2. This form and additional information about proctoring is located in the Content area of the course. Each Columbia College site has its own hours and methods for handling proctoring.

Midterm Exam

This exam is proctored and covers material from Weeks 1 to 4. You will have 2 hours and only one attempt to finish it. The exam consists of 20 multiple-choice questions and 4 essay questions (2 short answers and 2 long answers). The exam opens on Monday, 12:01 a.m. CT and closes on Sunday, 11:59 p.m. CT of Week 4.

Final Exam

This exam is proctored and covers material from Weeks 5 to 8. You will have 2 hours and only one attempt to finish it. The exam consists of 30 multiple-choice questions and 6 essay questions (2 short answers and 4 long answers). The exam opens on Monday, 12:01 a.m. CT and closes on Saturday, 11:59 p.m. CT of Week 8.



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 3, 4 & 19
  • Therac-25 Case Study (in Content area)
Introduction Discussion

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 1

This week we have seen three different development models: waterfall, iterative, and prototype. Please describe the main differences between these models, including strengths and weaknesses, and provide, for each model, an example of an appropriate project.

For your feedback posting, please select the original posting of another student and consider their examples. Does their selection of a development model for each project coincide with the strengths of each model? Is there a better choice of model?

As always, feel free to share any real-life experiences or thoughts you may have that are apropos.

Discussion 2

We touched on software quality and how it can be designed into your product/project. Is it possible to create a product that provides value to a customer without using an effective process? Why or why not? Additionally, are there cases where you may not want/need the overhead of a quality process to develop your product? In other words, can you envision a scenario where following a good software quality process does NOT provide value to the final product? If you can think of a case, please describe the scenario. If you are unable to, explain why.

For your feedback posting, please select the original posting of another student and consider their posting. Does their rationale for occasionally not using a formal process (or always using a formal process) make sense? Do you see any potential issues or pitfalls in their discussions?

As always, feel free to share any real-life experiences or thoughts you may have that are apropos.

Dropbox Assignment 1

Read the article “An Investigation of the Therac-25 Accidents” (IEEE Computer, Vol. 26, No. 7, July 1993, pp 18-41). Discuss the two biggest failures by Atomic Energy Commission Limited (the manufacturer of the device) when they developed the software for the Therac-25 device. How would modern software engineering principles have helped?

Project: Part A

SQA and Development Process - Choose one of the provided projects or one of your own and describe the development process you will use for your project. Keep in mind the complexity of the project and the risk that the project may change or the customer may make changes. What steps will you take to ensure a quality release of software is developed?

Week 2: Software Processes
Readings
  • Pressman: Chapters 31-33
Discussion 3

Your company has been producing a very successful line of implantable artificial kidneys for many years. Your supplier has recently notified you that many of the parts in the current project will no longer be available in 2 years. Your marketing department has convinced senior management that, since the software needs to be updated anyway, the product needs a new and cutting-edge user interface that interacts with the device using new wireless programming technology similar to, and better than, the competition’s.

The project will, basically, consist of two parts. Part 1 is the re-design of the artificial kidney device to support the new components. This is a very straightforward project that seeks to produce a device nearly identical to the one in the field. Part 2 constructs a new external programmer device that can be used to manipulate the device’s settings. The UI for this will be brand-new, cutting-edge software. The marketing folks aren’t quite sure what it needs to look like, and you expect that you will need to create several prototypes.

Describe the software process model(s) you would use to complete the project. Would you choose a single model or a hybrid? Why did you select this approach?

For your follow-up posting, select another student’s posting and consider their response. While you may have selected a different approach, does the student’s approach and rationale make sense? Is there something the student missed in their discussion that could have a significant impact on the possible success of the project? Is there something they identified that you missed in your answer?

As always, feel free to share any real-life experiences or thoughts you may have that are apropos.

Discussion 4

As we learned this week, the project scope statement defines what the project will include and, as important, what the project will not include. In this case, you are a Project Manager for a company that builds consumer robotics products. You have been tasked with creating the software for a fully automated lawn mower. Assume that you have been involved in the project all along and the hardware delivered has all the sensors and controls you had originally specified. Write a bounded statement of scope that describes the software. If you’re unfamiliar with robots, do a bit of research before you begin writing. Also, state your assumptions about the hardware that will be required. You may substitute a project of your own interest if it is similar in size and scope.

For your follow-up posting, consider another student’s scope statement. Can you think of an ambiguity in the statement that could cause a missing or unanticipated feature being included? Are there any other confusion points with the scope statement? (Keep in mind that including features that are NOT needed takes extra time and money that could be better utilized elsewhere.)

As always, feel free to share any real-life experiences or thoughts you may have that are apropos.

Dropbox Assignment 2

Pressman Question 33.4: Do a functional decomposition of the robot software you described in Discussion Question #4 (this week’s second question). Estimate the size of each function in LOC. Assuming that your organization produces 450 LOC/pm with a burdened labor rate of $7000 per person-month, estimate the effort and cost required to build the software using the LOC-based estimation technique described in this chapter.

Additionally, if management decides that the timeline for the project must be compressed by 10%, what approach would you use to accelerate the project? What if the management wanted the budget reduced by 10% instead? How would you reduce cost?

Project: Part B

Project Monitoring: While developing the communications plan associated with your new project, you—the VP of product development—are asked to construct a dashboard for the meeting every other week that distills your project to date into 4 different metrics. These metrics will be reported using “Green–Yellow–Red” coloration to reflect “Good”, “Concerning”, and “Bad.”

Two metrics should measure your process, and two should measure the project itself. You must be concerned with how well commitments are being met and the overall quality of the product. Choose 4 metrics that will adequately summarize the quality and forward progress of both the project and the process. Establish the thresholds for “Green-Yellow” and “Yellow–Red” colors.

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-9
  • Template: IEEE Software Requirements Specification (in Content area)
Discussion 5

Two easy sources of requirements are the customer and business rules. Please name three other sources of requirements and describe why they should be considered. Prioritize the three additional sources you have described, based upon the relative importance of the source. Lastly, indicate if the source of requirements typically generates requirements that must be implemented, should be implemented, or can be implemented (“must have”, “should have”, or “nice to have”).
For your follow-up post, consider another student’s answer. Do any of these sources give you an idea about other sources? Do you agree with the typical priority (must, should, nice) of these requirements, or should more (or less) consideration be given?

Discussion 6

In most programming courses, an assignment is given with a developed set of requirements, and the student typically begins coding almost immediately with, maybe, a little planning before he/she starts. In their early careers, many students (your instructor included) approach a software product/project in a similar fashion—they are given a high-level set of functional requirements and immediately (or almost immediately) fire up their IDE’s and start coding. As we have learned, this is typically not a good idea. But is it ever possible to begin coding immediately after a requirements model has been created? Can we skip the architecture and detailed design phase without significantly compromising the quality or delivery of the product? Please describe any scenarios where this is possible, or describe why it is not possible.

For the follow up post, consider another student’s posting.  Does their explanation make sense?  Can you see something that they missed that could potentially change their answer (e.g. project size, team size, etc.)?

Dropbox Assignment 3

Pressman Question 9.5: The department of public works for a large city has decided to develop a web-based pothole tracking and repair system (PHTRS). A description follows:

Citizens can log onto a website and report the location and severity of potholes. As potholes are reported, they are logged within a “public works department repair system”, assigned an identifying number, and stored by street address, size (on a scale of 1 to 10), location (middle, curb, etc.), district (determined from street address), and repair priority (determined from size of the pothole). Work order data are associated with each pothole and include pothole location and size, repair crew identifying number, number of people on crew, equipment assigned, hours applied to repair, hole status (work in progress, repaired, temporary repair, and not repaired), amount of filler material used, and cost of repair (computed from hours applied to repair, number of people, and material and equipment used). Finally, a damage file is created to hold information about the reported damage due to the pothole and includes citizen’s name, address, phone number, type of damage, and dollar amount of damage. PHTRS is an online system; all queries are interactive.

Draw a UML, use case diagram PHTRS system. You’ll have to make a number of assumptions about the manner in which a user interacts with the system.

Pressman question 9.6: Write two or three use cases that describe the roles of various actors in the PHTRS described in Problem 9.5. These should use the “Use Case Template for Surveillance” on page 178.

Project: Part C

Use Cases: For Part C of your project, complete two (2) use cases (using the SafeHome Surveillance Use Case on page 178 as an example). For each use case, develop 5 well-written requirements (clear, complete, implementable, testable) sufficient for a developer to implement. Note that the set of 10 requirements need not completely specify the activities.

Week 4: Risk Management and Software Quality I
Readings
  • Pressman: Chapters 35
  • Quality Training Portal: 10 steps to conduct a DFMEA (in Content area)
  • Software Safety Hazard Analysis (in Content area)
  • Template for Project Risk Management (in Content area)
Discussion 7

Your management has asked you and your team to build software to support a low-cost video editing system. The system accepts digital video as input, stores the video on disk, and then allows the user to do a wide range of edits to the digitized video. The result can then be output to DVD or other media. Do a small amount of research on systems of this type and then make a list of technology risks that you would face as you begin a project of this type. For each risk, describe in some level of detail how you would go about managing it. How will you mitigate it? What is (are) the risk trigger(s)? How will you minimize the chance of it happening? Or will you just not worry about it and accept the consequences if it were to happen? (This, in fact, may be appropriate for risks with minimal consequences or very low probabilities - for example, strong hurricanes in northern Iowa.)

For your follow-up postings, consider a post by another student. Can you think of ways to improve their risk descriptions and plans? How about other risks that they did not consider?

Discussion 8

The DFMEA process provides a systematic method of determining whether or not an anomaly (bug, defect, etc.) needs to be fixed. This implies that there is a category of anomalies that do not need to be fixed or, to say it more strongly, should not be fixed. Is this a bad thing? Are there cases where bugs/anomalies/defects should not be fixed? Describe, in some detail, why or why not.

For your follow-up post, consider another student’s original post.  Write a post that attempts to change their mind about their position.  Reminder:  Follow up posts should be written to offer professional constructive criticism of their approaches and reasoning.  It must not attack the student personally or consist of destructive criticism.

Dropbox Assignment 4

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

  1. Anti-lock brake subsystem in an automobile
  2. An elevator in a high-rise building
Project: Part D

Risk Management: For Part 4 of your project, identify 3 project risks, 3 product risks, and 3 software hazards. Briefly describe each risk, how you will handle it (accept, mitigate, transfer, etc.), how you will monitor it, and the impact if it were to occur.

Midterm Exam

This is a proctored exam. It covers material from Weeks 1 to 4. You will have 2 hours and only one attempt to finish it. The exam consists of 20 multiple-choice questions and 4 essay questions (2 short answers and 2 long answers). The exam opens on Monday, 12:01 a.m. CT and closes on Sunday, 11:59 p.m. CT of Week 4.

Week 5: Software Design and Implementation
Readings
  • Pressman: Chapters 12, 13, 14 & 29
Discussion 9

Present two examples of applications for each of the architectural styles noted in Section 13.3.1 in your text book. For each, explain why you feel the architecture fits the application. 

For your response, consider another student’s posting. Is there another architecture that might also fit one or more of the student’s applications? Is it a close fit, or will there be some shortcomings in the alternative architecture?

Discussion 10

Your team is developing a new product with new software that is loosely based on a product currently being shipped. One feature in the old system is similar to what is needed in the new system; your team is investigating re-using the feature from the old system in the new system. While the architecture of the old system and the new system are somewhat similar, they are not the same. The functionality of the feature is also similar, but not the same. Choose one of the following choices for how to proceed and explain why you think it is the best way forward.

    1. Utilize the architecture and design of the old system in the new system. This will easily allow the re-use of the feature, but will make it a bit more challenging to incorporate some of the new features that the marketing team wants, as they are not a natural fit into the design.
    2. Modify the old feature so that it fits into the new architecture. This will involve re-working about 25% of the feature.
    3. Do not use the feature from the old software, but design a new one that fits into the desired architecture and design.

For your response, consider another student’s posting. Is their approach the best one, or is one of the other two options more promising? Explain and support your reasoning.

Dropbox Assignment 5

Pressman Question 12: Apply a “stepwise refinement approach” to develop three different levels of procedural abstraction for one or more of the following programs:

  1. Develop a check writer that, given a numeric dollar amount, will print the amount in words normally required on a check. 
  2. Iteratively solve for the roots of a transcendental equation.
  3. Develop a simple task-scheduling algorithm for an operating system.
Project: Part E

For your project, please complete these two parts:

Part 1: Discuss how you will go about designing the software, the approach you will take, and the tasks that must be completed. Explain why you would do the tasks you have chosen to do. If you have chosen not to do certain tasks, explain why they are not needed.

Part 2: Describe how you will manage the software configuration. When will you create the first baseline? When will you make subsequent baselines? What items will you place under configuration management control?

Week 6: More Software Design and Implementation
Readings
  • Pressman: Chapters 15, 18 & 20
Discussion 11

An Independent Reviewer (IR) 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. How independent should the IR actually be? Can they work for the same company or division? Are there times when they should be chosen from outside the company? What are the risks and challenges of doing this?

For your follow-up posting, consider another student’s post. What type of project would the student’s choice of IR be best suited for—a straight-forward project with many organizations that have similar products and little novelty in the algorithms (like an online store shopping cart), or a one-of-a-kind, cutting-edge set of proprietary algorithms that is considered a tightly kept corporate secret?

Discussion 12

Think about the two best and the two worst mobile user interfaces you have used. What made them the best or the worst? What features did you like, and which would you replace? In the context of this week’s material, please explain why.

For the follow-up posting, consider another student’s post. Have you used anything similar with the same or different results? Do you have a different set of good and bad features? Consider the features that you liked that the other student didn’t and vice versa.

Dropbox Assignment 6

Pressman Problem 15.5: Consider one of the following interactive applications:

  1. A desktop publishing system
  2. A computer-aided design system
  3. An interior design system (as described in Section 15.3.2)
  4. An automated course registration system for a university
  5. A library management system
  6. An Internet-based polling booth for public elections
  7. A home banking system
  8. An interactive application assigned by your instructor

Develop a user model, design model, mental model, and implementation model for any one of these systems.

Project: Part F

For your project, create two mock-ups of a user interface display. These should be 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 these items 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: Software Testing
Readings
  • Pressman: Chapters 22 & 23
  • Test Plan Template (in Content area)
Discussion 13

Many developers hear and use the phrase “Verification and Validation” (V&V) without truly understanding the purpose and goals of each. Describe the differences between Verification and Validation. What is the goal of each, and how is each done? Specifically, who does each type of testing, which is typically done first, and what kinds of issues are found by each type of testing?

For the follow-up posting, consider another student’s post. Can Verification and Validation be done differently from how the student described (in the field versus in the lab)? Or by different people (by the customer/user instead of V&V technicians)?  What are the advantages and disadvantages of doing these differently?

Discussion 14

During the formal testing of a product’s software, your team identifies a critical bug due to a misunderstood requirement. Your team determines that to correctly fix the defect will require the complete redevelopment of one module; however, other modules will not be affected. Describe how you would retest that module and any other testing that you would perform to ensure that the changed requirement is implemented correctly. Clearly mention which of the types of testing you would do (unit testing, integration, system testing, formal verification, and formal validation, etc.), and how extensively you would test or retest (25%, 75%, or 100% of the test cases).

For the follow-up posting, consider another student’s post. Is the amount and type of testing the student proposes adequate, in your opinion? Would you do more, less, or different testing?

Dropbox Assignment 7

Who should perform the validation test—the software developer, the software user, both, or someone else? Justify your answer. If you choose more than one role, describe which parts each person/group must do.

Project: Part G

For your project, create the first part of the software testing plan by describing in detail how you will perform unit testing, integration testing, and verification testing. Use the test plan document as a template.

Week 8: Object-Oriented Testing, Validation, and Alpha/Beta Testing
Readings
  • Pressman: Chapters 24 & 26
Discussion 15

Your project has a sub-system consisting of three classes: A, B, and C. Class C derives from class B which, in turn, derives from class A. During early V&V testing, several bugs that require significant changes to class B are found; no changes are needed for classes A and C. You have been asked to identify the set of classes that require full and partial re-testing. For each class A, B, and C, which classes will require full re-testing? Which will require partial re-testing? Is there a class where you can get by without testing? All classes contain “public,” “private,” and “protected” methods and attributes (using C++ terms).

For the follow-up posting, consider another student’s post. Do you agree with the student’s recommendations? Why or why not?

Discussion 16

Alpha and beta testing are common terms used to denote pre-release testing. Often, beta testing is used as a validation type test, where the software is put into the hands of typical users with the goal of assessing the software’s usability and its fitness for its purpose. If a secondary goal of the testing is to “identify bugs and other requirements shortcomings,” is the beta testing still purely validation, or is it something else? Please explain. How does this hybrid approach change how the testing is done, documented, or evaluated?

For the follow-up posting, consider another student’s post. Do you agree with the student’s post? Why or why not?

Dropbox Assignment 8

Pressman Problem 26.13: Is it possible to test every configuration that a mobile application is likely to encounter in the production environment? If it is not, how do you select a meaningful set of configuration tests?

Project: Part H

Complete the software test plan by including a description of how your project will be validated. Also include any alpha and/or beta testing you will perform.

Final Exam

The exam is proctored and covers material from Weeks 5 to 8. You will have 2 hours and only one attempt to finish it. The exam consists of 30 multiple-choice questions and 6 essay questions (2 short answers and 4 long answers). The exam opens on Monday, 12:01 a.m. CT and closes on Saturday, 11:59 p.m. CT of Week 8.



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, 10% of the maximum score will be deducted 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. If at any time you realize you will have trouble meeting a deadline, please let the Instructor know as soon as you are aware of the problem.  It will be much easier to get an extension on an assignment if you ask 4 or 5 days (or even 1 day) ahead of time than if you e-mail 1 hour before it is due.  Except in extreme circumstances, an extension will not be granted if you ask after the assignment is due.

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