CIS 758: Software Engineering...

Post on 22-Apr-2020

13 views 0 download

Transcript of CIS 758: Software Engineering...

CIS 758: Software Engineering Project

Presented by Nick Allen <allen@cis>

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

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

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

Course Objectives

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

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

Creation of Appropriate Project Artifacts

Project PlanRequirements descriptionDesign documentTesting PlanUser guide

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

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

A Day in the Life of CIS 758

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

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

Projects – contd.Ohio State University:

ERP system for large Universities

Ramasoft Solutions:ERP system for medical organizations

MOSSL:Soccer referee system

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

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

Capstone Criteria

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

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

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

Capstone Criteria #4Realistic Constraints

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

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

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

Capstone Criteria #4Ethical and social issues

We got no stinking ethics!

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

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

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

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

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