Department of Mathematics and Computer Science

Adelphi University

Fall 2015

 

 

0145-440-001  

Software Engineering Applications - 3 credits – revision 1.0

MWF 10:00am-10:50am

Location: HHE*110 until 9/21 and then Gallagher Lab

Visiting Assistant Professor Kristin Pepper

102 / 103 Post Hall until move to SCI 408

(516) 297-5241

pepper@adelphi.edu

www.adelphi.edu/~pe16132

 

Office Hours

Monday       8:20 - 8:50; 11:00 – 12:00 ; 1:00 – 2:15

Wednesday 8:20 - 8:50; 11:00 - 12:00

Friday          8:20 - 8:50; 11:00 – 12:15

 

Course Description and Purpose

Learn techniques and principles of systematic software development, including requirements engineering, object-oriented analysis and design, design patterns, testing, verification and validation. Consider issues regarding ethics, management and emerging technologies (e.g. security engineering). Learn a standardized specification language (UML) and relevant tools to build a quality software system.

 

Course Learning Goals

Students will identify kinds of users, scenarios, and use-cases for systems presented in class and for one system in which the student takes the role of the software user.  Students will experiment with using both iterative (ex:Agile) and plan based (ex: Waterfall) methodologies to design a complete new system. The design documentation will use UML design notations. The design process includes requirements analysis, selection of test cases, solution design and implementation, testing, and documentation.  Students will become familiar with selecting and applying appropriate design patterns to address a given software design issue by using design patterns in their final project. In designing their project, students will demonstrate proficiency in a change management tool and test design. (CS Assessment goals 1c & 4b)

 

Prerequisite

CSC172 or CSC173

Texts

Required: Sommerville, Ian. Software Engineering,  New York: Addison-Wesley, 2011 edition 8 or 9 or 10 ISBN of edition 10: 9780133943030

Recommended: a 16 gb flash drive, but may not be required.

Not required but recommended, and hope to make available in the library

  • UML Distilled, Third Edition, by Martin Fowler, Addison-Wesley, 2004. ISBN-10: 0321193687  or ISBN-13: 9780321193681
  • Practical Software Development Techniques 4th edition. By Crookshanks, Edward, CreateSpace Independent Publishing Platform, Sept 3, 2013. ISBN 978-1492334293 or 1492334294
  • Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley. 1995. ISBN-10: 0201633612 • ISBN-13: 9780201633610 
  • Object-Oriented Software Engineering, by Bernd Bruegge and Allen H. Dutoit, Addison-Wesley. 2010. ISBN-10: 0136061257 | ISBN-13: 9780136061250
  • Project-Based Software Engineering: An Object-Oriented Approach, by Evelyn Stiller and Cathie Leblanc, Addison-Wesley. 2002. ISBN-10: 020174225X | ISBN-13: 9780201742251
  • The Mythical Man-Month, by Frederick Brooks, Addison-Wesley. 1996. ISBN-10: 0201835959 • ISBN-13: 9780201835953 

Major Assignments

  • One major assignment with many deliverables: As a member of a small technical team, specify, design, implement and test one complete project. This team will interface to other teams in as part of a larger project, so each team will also serve as a user of the other team's design. Deliver well designed working code as your final project and make intermediate deliveries throughout the semester. Students will be graded individually in this group project based upon tasks assigned by the group.
  • There will also be many small individual assignments to ensure understanding of the principles.

 

Grading

The midterm must be completed as a minimum for credit. Each exam must be taken at the time scheduled. 10% will be dropped for anything 1 week late. Be sure to back up your classwork frequently so that you do not lose work.

The course grading scale is: A 93-100, A- 90-92, B+ 87-89, B 83-86, B- 80-82, C+ 77-79, C 73-76, C- 70-72, D 60-69, and F is below 59. A+ is given at the professor's discretion.

The final grade will be a traditional letter grade (A-F). Excessive absences, lateness, and any activities which run counter to the best interests of the class will be deducted at the end of the semester from the final grade as a percentage to be determined by the professor.

Grade Percentages:

Midterm Exam - 25%

Project Deliverables - 40%

Assignments - 15%

Final Exam - 20%

Attendance

The following is the Adelphi University General Attendance Policy:

Only students who are registered for courses, and whose name appears on the Official Class Roster may attend courses at the University. Adelphi students make a commitment to be active participants in their educational program; class attendance is an integral part of this commitment. Attendance requirements for each course will be announced by the faculty member at the beginning of each term. Students are expected to be present promptly at the beginning of each class period, unless prevented by illness or by other compelling cause. In the event of such absence, students may request that faculty members be notified by the Office of Academic Services and Retention. Students are responsible for completing course work missed through absences. Students should wait a reasonable length of time for an instructor in the event that the instructor is delayed.

 

Additionally, you are also responsible for whatever work is covered in class whether or not you are there. Absence from the final exam will be excused only for a good and well-documented reason. The decision to allow a make-up exam will be made in accordance with the policies of Adelphi University.

 

If the University is closed for any class session due to an emergency, log onto this course site under the MOODLE tab in eCampus each day for instructions and assignments. Please check your Moodle News on snow closing days as snow days may be replaced with online instruction. 

 

Moodle

All course materials will be delivered through Moodle. The All Assignments task will describe all assignments and due dates. Use Moodle to hand in all assignments. A Moodle tutorial can be found at http://fcpe.adelphi.edu/moodle/student/

 

Tentative Schedule (Subject to Change). PR = Project Deliverable; HW = homework assignments not related to your final project

 

Date

Subject

Chapter

Tests, Quizzes and Assignments due

8/31, 9/2, 9/4

Software Processes introduction; Code of Ethics;

Change Control – GIT intro

1-3

 

 9/9, 9/11 , no class 9/7

Requirements Elicitation

System Specifications Vs User Specs

 

(labor day 9/7 no class)

3-4

HW - Question Responses

plus GIT practice

9/14, 9/16, 9/18

Creating System Specs:

  • System Modeling at the Requirements Level
  • UML using StarUML
  • Architectural Design

4-6

PR1a Project Requirements Only User Specs

HW  - UML practice

9/21, 9/23, 9/25

Creating Technical Specs:

  • Object Oriented Design
  • CRC Cards
  • Gantt Chart; Project Management

7, 8

PR1b Project Requirements Completed 

 

9/28, 9/30, 10/2 - 9/28 last day to drop a course

Database Design - ERD Diagram

MySql Intro

3,5

PR2 Partial Technical Design Spec with Gantt Chart

10/5, 10/7, 10/9

Agile Cycle Analysis

Tools to get a release planned and coded:

  • Quality Control  - brief user acceptance and unit tests
  • SCRUM Cycle Analysis – plan release
  • Eclipse
  • Burn Down

 3, 25

PR3   Database Design Spec

 

10/14, 10/16

- No class 10/12

UML Activity Diagram

UML State Diagram

 

10/12 - Columbus day - no class

 

PR4a Sprint 1 Plan with user stories, tasks, user acceptance test plan, burn down chart

HW - UML Activity Diagram

10/19, 10/21, 10/23

Midterm Review & Midterm

 

HW - UML State Diagram

Midterm

10/26, 10/28, 10/30 

Class Diagram UML

Design Patterns

HW: UML Class Diagram

 

11/2, 11/4, 11/6

Junit, Quality Control, Pair Programming


 

23

 PR4b: Burn Down Chart

11/9, 11/11, 11/13

Mock user acceptance for sprint 1

Interface Specifications

Refactoring


 

 

PR4b: Sprint 1 Fully coded  with junit tests and updated UML diagrams

11/16, 11/18, 11/20

Maintenance

Change Control

Refactoring

9

 PR5a: Sprint 2 Plan complete plus Interface Specification

11/23,   - no class 11/25 or 11/27

Security

11

PR5b: Sprint 2 Burn down

AND a Testing report on the other team's software

11/30, 12/2, 12/4

More Design Patterns

 

PR5c: Sprint 2 Burn down

HW: Design Patterns

12/7,

12/9, 12/11

Maybe 12/8

Review

12/8 is a makeup day if needed.

 

PR5d: Sprint 2 final delivery

12/14

Review

 

 

 

Final exam based upon Adelphi Final Exam Schedule; finals held 12/15 - 12/21

 

 

12/22 & 23

Makeup days if needed

 

 

 

 

Turnitin

Adelphi University has a license agreement with Turnitin.com, a service that helps prevent plagiarism from Internet resources. I reserve the right to request an electronic copy of any written assignment submitted in this course for review through Turnitin.com. Please see Adelphi's tips for students on preventing plagiarism and student instructions for Turnitin.com for more information.

 

Students With Disabilities

If you have a disability that may significantly impact your ability to carry out assigned coursework, please contact the Office of Disability Support Services (DSS), located in Room 310 of the University Center, 516-877-3145, dss@adelphi.edu.  The staff will review your concerns and determine, with you, appropriate and necessary accommodations. When possible, please allow for a reasonable time frame for requesting ASL Interpreters or Transcription Services; a minimum of four (4) weeks prior to the start of the semester is required.

 

Honor Code

Students enrolled in this course are expected to abide by the Adelphi University Honor Code. The purpose of the Honor Code is to protect the academic integrity of the University by encouraging consistent ethical behavior in assigned coursework by students. Following is excerpted from the Student Honor Code:

“The Code of Academic Honesty
The Code of Academic Honesty prohibits behavior that can broadly be described as lying, cheating, or stealing. Violations of the Code of Academic Honesty will include, but not be limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas not approved by the professor
  3. Unauthorized multiple submission of one’s own work
  4. Sabotage of others' work, including library vandalism or manipulation
  5. Plagiarism
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating
  10. Other forms of academic dishonesty”

 

Avoid coding plagiarism: Any code you even vaguely take from the internet needs to be cited in comments. If an algorithm you found was used as a basis, cite it. Any person helping you, even a tutor, needs to be listed in the comments. If you work with another person doing homework, include them in your comments.  If you include any piece of code you do not fully understand for your final project, comment that you are using it as a black box. You are responsible for explaining how every piece of code works except those you designate as "black box" portions.

Student Course

Evaluations

During the last two weeks of the class, you will receive notification, via

mail and eCampus, that the course evaluation is available for your input

electronically. Availability will end at the start of the final examination period. Your feedback is valuable and I encourage you to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after the end of the semester and therefore after course grades have been submitted.