cis 758: software engineering...
TRANSCRIPT
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