developing software engineering class projects with an internal client dr. christelle scharff...

22
Developing Software Developing Software Engineering Class Engineering Class Projects with an Projects with an Internal Client Internal Client Dr. Christelle Scharff Dr. Christelle Scharff Computer Science Department Computer Science Department Internal Client: Michelle Perez Internal Client: Michelle Perez Director Office of Housing & Residential Life Director Office of Housing & Residential Life Contact: Diana White Contact: Diana White Office of Housing & Residential Life Office of Housing & Residential Life Students: Asif Students: Asif Baksh, Sze-Man Chan, Baksh, Sze-Man Chan, Brian Hernandez, Zulfikar Shameer, Denny Brian Hernandez, Zulfikar Shameer, Denny Singh, Sonny Szeto Singh, Sonny Szeto

Upload: garey-rodgers

Post on 23-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Developing Software Developing Software Engineering Class Engineering Class Projects with an Internal Projects with an Internal ClientClient

Dr. Christelle ScharffDr. Christelle ScharffComputer Science DepartmentComputer Science Department

Internal Client: Michelle Perez Internal Client: Michelle Perez Director Office of Housing & Residential LifeDirector Office of Housing & Residential Life

Contact: Diana WhiteContact: Diana WhiteOffice of Housing & Residential LifeOffice of Housing & Residential Life

Students: Asif Students: Asif Baksh, Sze-Man Chan, Brian Baksh, Sze-Man Chan, Brian Hernandez, Zulfikar Shameer, Denny Singh, Sonny Hernandez, Zulfikar Shameer, Denny Singh, Sonny

SzetoSzeto

OutlineOutline

• Software EngineeringSoftware Engineering• Software Engineering Class: CS 389Software Engineering Class: CS 389• Project RequirementsProject Requirements• List of Projects for Spring 2004List of Projects for Spring 2004• Partnering with an Internal ClientPartnering with an Internal Client

– How? Why? Impact? Assessment? How? Why? Impact? Assessment?

• Students InterviewsStudents Interviews• DemonstrationDemonstration• Conclusions and Future WorkConclusions and Future Work

Software EngineeringSoftware Engineering• Software = Software = Computer Program + Computer Program +

DocumentationDocumentation

• Software Engineering is a discipline, which Software Engineering is a discipline, which is concerned by all aspects of building is concerned by all aspects of building high-qualityhigh-quality software from the early stages software from the early stages of software of software specificationspecification, , developmentdevelopment and and validationvalidation, to the , to the maintenancemaintenance of the of the system after it has been system after it has been deployeddeployed

• Quality depends on the Quality depends on the methodsmethods, , techniquestechniques and and toolstools used during the used during the software engineering process software engineering process

Some NumbersSome Numbers

• In 2002, In 2002, 34%34% of software products were of software products were completed on budget, and completed on budget, and 17%17% were complete were complete failure failure [Standish Group][Standish Group]

• Defective software cost companies more than Defective software cost companies more than $200 billions$200 billions annually annually [Sustainable Computing [Sustainable Computing Consortium]Consortium]

• It takes It takes $10$10 to fix a bug during development, to fix a bug during development, $100$100 to fix a bug during quality assurance, to fix a bug during quality assurance, $1000$1000 to fix a bug during beta test, and to fix a bug during beta test, and $10,000$10,000 to fix a bug post-deployment to fix a bug post-deployment [Alan [Alan Zeichlick, SD Times]Zeichlick, SD Times]

Software Engineering Software Engineering Course: CS 389Course: CS 389• Core course of the Computer Science curriculum Core course of the Computer Science curriculum

taken by junior and senior studentstaken by junior and senior students• Main Topics: Main Topics:

– Software Engineering Process ModelsSoftware Engineering Process Models– Requirements EngineeringRequirements Engineering– Object-Oriented Design and UMLObject-Oriented Design and UML– Programming and technologiesProgramming and technologies– TestingTesting

• Semester-long software development group Semester-long software development group project project – Students choose their groups and projectsStudents choose their groups and projects– Students have the opportunity to work with an Students have the opportunity to work with an

internal clientinternal client

Two Important Questions Two Important Questions Concerning the ProjectConcerning the Project

• What software engineering process What software engineering process model to use? model to use? – Waterfall modelWaterfall model

• How to best simulate the “real How to best simulate the “real world” conditions?world” conditions?– Type of project, group work, Type of project, group work,

technologies, deliverables, technologies, deliverables, deadlines and other constraints, deadlines and other constraints, client…client…

Projects – Spring 2004Projects – Spring 2004• Online Web Pages BuilderOnline Web Pages Builder 8 students8 students

• Online Wedding Planner SystemOnline Wedding Planner System

• Online Volunteers Management Online Volunteers Management 7 students7 students

System for NYC 2012System for NYC 2012• Online Pace University Schedule BuilderOnline Pace University Schedule Builder

• Online Room Transfer Requests Online Room Transfer Requests 6 students6 students

SystemSystem• Online Work Order Requests SystemOnline Work Order Requests System

Projects RequirementsProjects Requirements• Communication skills Communication skills • DocumentationDocumentation

– Feasibility StudyFeasibility Study– Requirements DocumentRequirements Document– Design DocumentDesign Document– Testing DocumentTesting Document– Code ListingCode Listing

• Professional experienceProfessional experience– Impact: Users Satisfaction SurveyImpact: Users Satisfaction Survey– Visibility (web page)Visibility (web page)

• ProgrammingProgramming– Learn at least one new technologyLearn at least one new technology– Practice with at least one CASE toolPractice with at least one CASE tool

Partnering with an Internal Partnering with an Internal ClientClient

• Steps:Steps:– First Contact with the Housing First Contact with the Housing

and Residential Life Officeand Residential Life Office– Regular follow up with the client Regular follow up with the client

and the studentsand the students– Invitations to presentations and Invitations to presentations and

demonstrationsdemonstrations– Assessment Assessment

Survey Results: Why Some Survey Results: Why Some Students Did not Work with Students Did not Work with the the H & RL?H & RL?

• 15 students out of 2115 students out of 21• Proposed projects not challenging enough Proposed projects not challenging enough • Scope and size of the proposed projects too Scope and size of the proposed projects too

largelarge• Decision of the teamDecision of the team• Interest in their own software to be Interest in their own software to be

developeddeveloped• Needed to be ensured that the H & RL will be Needed to be ensured that the H & RL will be

committed and helpfulcommitted and helpful• Needed to be ensured that the software will Needed to be ensured that the software will

be deployed and usedbe deployed and used• Needed an extra-curriculum reward!Needed an extra-curriculum reward!

Advantages of Partnering Advantages of Partnering with an Internal Client 1with an Internal Client 1

• Real world experienceReal world experience

• Understand clients’ needs and changes in Understand clients’ needs and changes in requirementsrequirements

• Project managementProject management experience experience

• Development of communication and Development of communication and negotiation skillsnegotiation skills

• Acquire experience and diverse skills Acquire experience and diverse skills valuable on the market placevaluable on the market place

Advantages to Partnering Advantages to Partnering with an Internal Client 2with an Internal Client 2

• Experiential learning to support students’ Experiential learning to support students’ academic, ethical, and social developmentacademic, ethical, and social development

• Developing software that will directly benefit a Developing software that will directly benefit a large number of students’ peers large number of students’ peers

• Intimate understanding of various policies and Intimate understanding of various policies and proceduresprocedures

• An opportunity to directly impact the quality of An opportunity to directly impact the quality of services students’ receiveservices students’ receive

• Inspires students’ to become involved and Inspires students’ to become involved and active citizens of the residential community active citizens of the residential community

Experience as a ClientExperience as a Client

• Initial Contact Initial Contact

• The process:The process:– Time investment to meet the studentsTime investment to meet the students– Attendance to demonstrations and Attendance to demonstrations and

presentationspresentations

• Interest: Interest: CCustomizedustomized software developed to meet software developed to meet the specific needs of the residential communitythe specific needs of the residential community

• Significant needs of customized software for the Significant needs of customized software for the residential communityresidential community

Survey Results: Students who Survey Results: Students who worked with H & RLworked with H & RL

• Why did they choose to work with a client?Why did they choose to work with a client?– Challenge, gain experience, resume, Challenge, gain experience, resume,

participating in the community , time participating in the community , time management and follow-upmanagement and follow-up

• Experience with the clientExperience with the client– Very proactive, helpful, committed and Very proactive, helpful, committed and

understanding clientunderstanding client– Changes in the requirements were introduced Changes in the requirements were introduced

smoothly because of the regular meetings and smoothly because of the regular meetings and discussionsdiscussions

• All of the students would repeat the All of the students would repeat the experienceexperience

Students InterviewStudents Interview

• How much time did you spend on the project? How much time did you spend on the project? What required the most time?What required the most time?

• How would you describe your experience with How would you describe your experience with the internal client?the internal client?

• Was the scope and size of the project well-Was the scope and size of the project well-defined from the beginning?defined from the beginning?

• Would you like to see partnerships like this one Would you like to see partnerships like this one in other Computer Science classes?in other Computer Science classes?

• What do you believe are the impacts of this What do you believe are the impacts of this experience on your career?experience on your career?

The OLWOR SystemThe OLWOR System

OnLine Work Order Request System OnLine Work Order Request System

Asif, Damian, DennyAsif, Damian, Denny

Client: Michelle Perez, Director of Client: Michelle Perez, Director of Housing & Residential Life Housing & Residential Life

Supervisor of the project: Diana Supervisor of the project: Diana White. H & RL White. H & RL

OLWOR Stakeholders and OLWOR Stakeholders and Main Features Main Features

• All users of the system All users of the system (Residents, H & RL Staff (Residents, H & RL Staff and Direction)and Direction) have a profile in OLWORhave a profile in OLWOR

• Residents can submit work order requests onlineResidents can submit work order requests online– DoIt, B&G, S&S, CoinMacDoIt, B&G, S&S, CoinMac

• Confirmation emails sent to the staff and Confirmation emails sent to the staff and residents about all requests and updatesresidents about all requests and updates

• Residents keep track of the status of their work Residents keep track of the status of their work order requests (submitted, in progress, closed)order requests (submitted, in progress, closed)

• Staff and Director of H & RL have access to all Staff and Director of H & RL have access to all work order requests (using different criteria)work order requests (using different criteria)

OLWOR DemonstrationOLWOR Demonstration

Conclusions and Future Conclusions and Future WorkWork

• Problems and questionsProblems and questions– Server? Support for the Server?Server? Support for the Server?– Financial support?Financial support?– Availability and willingness of the Availability and willingness of the

students to finish the project? students to finish the project? – Maintenance of the system Maintenance of the system

afterward?afterward?

Conclusions and Future Conclusions and Future WorkWork

• Success story: Deployment of the OLWOR Success story: Deployment of the OLWOR systemsystem– Internship offered by the Office of Housing Internship offered by the Office of Housing

and Residential Lifeand Residential Life– Summer I 2004: Deployment Summer I 2004: Deployment – Summer II 2004: Use of the system by the RAs Summer II 2004: Use of the system by the RAs

in Maria’s Tower, and in Maria’s Tower, and assessmentassessment– Fall 2004: Use of the system by the students Fall 2004: Use of the system by the students

in Maria’s Tower, and in Maria’s Tower, and assessmentassessment

• On the road for Fall 2004 and Spring On the road for Fall 2004 and Spring 2005…2005…

Questions & AnswersQuestions & Answers