CIS 758: Software Engineering...

27
CIS 758: Software Engineering Project Presented by Nick Allen <allen@cis > With Dr. Rajiv Ramnath <ramnath@cis > and Dr. Michael Stovsky <stovsky@cis >

Transcript of CIS 758: Software Engineering...

Page 1: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

CIS 758: Software Engineering Project

Presented by Nick Allen <allen@cis>

With Dr. Rajiv Ramnath <ramnath@cis> and Dr. Michael Stovsky <stovsky@cis>

Page 2: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

AgendaIntroductionCourse ObjectivesA Day in the Life of CIS 758Capstone Course ObjectivesSummary

Page 3: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

IntroductionCapstone CourseOffered Autumn and SpringMeets T, R 9:30am – 10:48amTwo sections: Stovsky, Ramnath

Page 4: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Course Objectives

Page 5: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Primary ObjectivesTo give the students a “real world” software development experienceTo exercise the knowledge and experience gained in previous courseworkTo teach and support good software engineering practices

Page 6: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

ProcessMust include appropriate metrics

Quantify progress

Configuration ManagementHow to properly track software and artifacts

Project ManagementTeam roles, schedules, and responsibilities

Use of proper software development methodologies

Page 7: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Creation of Appropriate Project Artifacts

Project PlanRequirements descriptionDesign documentTesting PlanUser guide

Page 8: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

DesignDriven by non-functional requirements such as scalability, security, and performance Pattern-based designFocus on evaluating design alternativesLess of a focus in Dr. Stovsky’s course

Page 9: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Technical PresentationsPresentation of work to peers

To allow students to help one another

Presentation of work to customersIncluding the industry sponsor and/or the instructor

Page 10: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

A Day in the Life of CIS 758

Page 11: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

The ProjectsCentered around a quarter-long software engineering projectCompleted in teams of 5 to 7Some of the projects have industry sponsors

Page 12: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Projects - with Industry Affiliation

Ford (Stovsky)Design Structure Matrix (DSM)Aids in reasoning about complex interactions between numerous system components

Northwestern Ohio Security SystemsEnterprise Resource Planning (ERP) The integrated software package behind every business

Cable LabsNetwork Dimensioning SystemVisualizing network state at any given time

Page 13: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Projects – contd.Ohio State University:

ERP system for large Universities

Ramasoft Solutions:ERP system for medical organizations

MOSSL:Soccer referee system

Page 14: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Tracking ProgressWeekly progress updates

Written or verbalIndividual presentations

Focused on current technologies and standardsProject documentation

Project Plan, SRS, SDS, Test Plans, User GuideFinal group presentation and product demoFinal Report

Student reflections on the course and project

Page 15: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Guest LecturesDavid Robinson

Software architectures in practiceDrew Robbins

Process for designing secure code in MS SWITodd Nussbaum

SARK project case study on project pitfallsJason Little

Demo of persistent data access layerDennis Frailey

Hardware and software integrated system lifecycle management at Raytheon

Page 16: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria

Page 17: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #1, #2Course requires Senior Level and Relevant Prerequisites

Explicit prerequisite 757By requiring 757, the course requires 560 and Senior standing

Page 18: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #3Design must be the major component of the course. Students should explore and evaluate possible design alternatives.

Students are wholly responsible for the design of each projectDiscussion and reference materials are provided to support good software design

Page 19: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #4Realistic Constraints

“Real-world” deadlinesNon-functional requirements such as performance, robustness, security, and extendibility are emphasized

Page 20: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #4Standards

Certain standards are discussed in course lectures

SRS, SDS, etc which are IEEE standards

Other standards are discussed in the student’s individual presentationsMost projects are web applications where standards are of primary concern

Page 21: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #4Maintainability

Good design choices are discussed to promote maintainabilityStudents are pointed to appropriate references (books, patterns, etc)Maintainability is stressed as a non-functional requirement

Page 22: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #4Ethical and social issues

We got no stinking ethics!

Page 23: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #5Deliverables should include suitable documentation

Students are required to provide numerous documents supporting each stage of the project

Project Plan, SRS, SDS, Test Plan, User Guide

Page 24: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #6Oral presentations

Students are required to give individual presentations during the quarter

20 to 40 minutes in length

A final group presentation is required to showcase their work

30 to 60 minutes in length

Page 25: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #7Team work

Ramnath: Students are divided into teams based on skill sets

Skills determined by student surveyAim is to get an even distribution of experience and knowledge

Stovsky: Teams are self-selectedSelf-selection seems to be effective

Page 26: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

Capstone Criteria #8Enrollment for each section should be capped at 30 students

Page 27: CIS 758: Software Engineering Projectweb.cse.ohio-state.edu/~soundarajan.1/abet/CAPST/EVAL/758/758.… · CIS 758: Software Engineering Project Presented by Nick Allen

SummaryThe course provides excellent “real world” experience for students – however experience has been mixedThe course forces the students to work within a team under tight time constraintsStudents are forced to learn new technologies and methodologies on-the-flyNo ethical issues are discussed