CS 360 Sftware Develpment Spring 2008 Tuesdays and Thursdays 3:30 p.m. 4:45 p.m. Instructr: Ingrid Russell Office: Dana 343 email: irussell@hartfrd.edu http://uhaweb.hartfrd.edu/irussell Curse Descriptin: This curse fcuses n the design and develpment f large-scale sftware that is reliable, understandable and maintainable. Students will wrk in teams n a semester lng sftware develpment prject. Prject rganizatin, prfessinal standards and ethics will als be cvered. Curse Prerequisite: CS 220 Required Text Object-Oriented Sftware Engineering, Stephen Schach, 2008, McGraw Hill. Optinal Text Prfessinal Sftware Develpment: Shrter Schedules, Better Prjects, Superir Prducts, Enhanced Careers, Addisn-Wesley, August 2003, ISBN 0321193679 Grading plicy Semester-lng prject 60% Exam 1 15% Exam 2 15% Participatin 10% 1
Material t be Cvered and Tentative Timeline Timeline may be mdified during the semester. Chapter 1: Chapter 2: Chapter 3: Chapter 4: Chapter 5: Chapter 6: Chapter 7: Chapter 8: Chapter 9: Chapter 10: Chapter 11: Chapter 12: Chapter 13: Chapter 14: The Scpe f Object-Oriented Sftware Engineering: Histrical aspects, ecnmic aspects, maintenance aspects, requirements, analysis, design, team develpment aspects, ethical issues. Sftware Life Cycle: A cmparisn f Life Cycle Mdels. The Sftware Prcess: The Unified prcess, iteratin and implementatin, requirements wrkflw, analysis wrkflw, design wrkflw, implementatin wrkflw, test wrkflw, pst delivery maintenance, Phases f the Unified Prcess. Teams: Team rganizatin, teams fr agile prcesses, pen surce prgramming teams. The Tls f the Trade: Stepwise refinement, cst-benefit analysis, sftware metrics, sftware versins, cnfiguratin cntrl, build tls. Testing: Sftware quality assurance, nn-executin-based testing, executin-based testing, what shuld be tested, testing versus crrectness prf. Frm Mdules t Objects: The Object-Oriented paradigm, chesin, cupling, data encapsulatin, infrmatin hiding, inheritance, plymrphism. Reusability& Prtability: Reuse cncepts, reuse during design and implementatin, design patterns, prtability. Planning & Estimating: Planning and the sftware develpment prcess, estimatin issues, cmpnents f a sftware prject, sftware prject management plan. The Requirements Wrkflw: Client needs, understanding the dmain, initial requirements, requirements revisin, rapid prttyping, metrics fr the requirements wrkflw, challenges f the requirements. The Analysis Wrkflw: Extracting the entity classes, functinal mdeling, entity class mdeling, actrs and use-cases, challenges f the analysis wrkflw. The Design Wrkflw: Object-Oriented design, the design wrkflw, frmal techniques fr detailed design, metrics fr design, challenges f the design wrkflw. The Implementatin Wrkflw: Chice f prgramming language, gd prgramming practice, Cding standards, cde reuse, integratin, the implementatin wrkflw, test case selectin, testing techniques, testing issues, unit testing, integratin testing, prduct testing, acceptance testing, metrics fr the implementatin wrkflw, challenges f the implementatin wrkflw. Pst delivery Maintenance: pst delivery requirements, management f pst delivery maintenance, maintenance issues, pst delivery maintenance skills versus develpment skills, metrics fr pst delivery maintenance, challenges f pst delivery maintenance. 2
Sftware Prject This is a team-riented semester-lng bject-riented sftware develpment prject with deliverables thrughut the semester. The gal f this prject is t prduce a useful, user-friendly, and pwerful quality sftware package, a final prduct that everyne wuld want t actually use. The prject will utilize bject-riented and sftware engineering techniques and shuld be written in Java. The gal f the App-Trac prject is t develp an applicatin that will allw the Literacy Vlunteers f Greater Hartfrd (LVGH) t mnitr usage f literacy sftware applicatins in rder t better evaluate students learning needs and streamline reprt generatin fr management. LVGH des nt have an independent system t mnitr students usage f the rganizatin s literacy applicatin suite, which cnsists f a mixture f applicatins, frm third party vendrs. Currently the technlgy manager at LVGH has a rudimentary clck-in system t allw users t lg when they use the cmputer. The manager manually accesses individual literacy applicatin backend databases t exprt usage infrmatin t Micrsft Excel spreadsheets, which are then cmbined by hand t generate specific use data statistics fr management and instructrs. This present apprach des nt allw LVGH t gather all the statistics required, due t the verhead assciated with the manual data retrieval and cllectin prcess. App-Trac is an attempt t intrduce an autmated system t help streamline the data gathering and prcessing, t help alleviate a significant amunt f human verhead, freeing up valuable staff time and help reduce assciated peratinal csts. The prject will be divided int smaller assignments f varying length that address the varius phases in the sftware develpment life cycle. These are used as milestnes in the develpment f the prject and are due at varius times thrugh the semester. Prper dcumentatin and a user s guide shuld als accmpany yur final sftware package. These smaller assignments are used as milestnes in the develpment f the prject and will cnsist f varius deliverables including: (1) Requirement specificatin dcument (RSD) (15%) Due Date: February 12, 2008 (2) RSD Revisited + presentatin (10%) Due Date: February 19, 2008 (3) Design Mdel + presentatin (20%) Due Date: March 6, 2008 (4) Test plan dcument (15%) Due Date: March 13, 2008 (5) Sftware Release (25%) Due Date: April 22, 2008 (6) Class presentatin (15%) Due Date: April 29, 2008 3
Prject Rules: Each deliverable will include additinal details abut the varius rules listed belw. Cme up with a team name and a prject name. Be creative! Each team member is expected t cntribute equally t each prtin f the prject. Specifically, each team member is expected t cntribute t the specificatins dcument preparatin, and t the verall design. In additin, each team member shuld be respnsible fr a specific prtin f the detailed design, implementatin and cding, and the final prduct dcumentatin. Each team must select a team leader. The team leader is respnsible fr crdinating and supervising the wrk f the deliverable and upn cnsultatin with team members, assigning r reassigning peple t varius tasks. This shuld be a rtating rle amng the members and rtated amng deliverables. Sme useful tips t the team leader: Create a clear agenda addressing the essential tasks that must be accmplished in rder t cmplete the necessary deliverables. Stick t the agenda items during a meeting. At the end f each meeting make sure t identify actin items and d nt adjurn until every member is clear n what is he/she expected t d. Ensure that tasks are equitably distributed. Select a recrder t recrd the minutes f meeting fr the duratin f the deliverable prtin f the prject and make sure minutes are psted sn after the meeting is ver. Select the next meeting time and lcatin. Each team must select a recrder t recrd minutes f all meetings. This shuld be a rtating rle amng the members and rtated amng deliverables. The minutes shuld include: Date and time f meeting Team leader name and recrder name Members present Summary f discussins with relevant details and a list f actin items. The recrder shall als be respnsible fr maintaining a prject nline ntebk. The prject ntebk shuld include current versins f all dcumentatin, specificatins, design, schedule, etc. Dcumentatin is an essential part f this prject and the ntebk can be used in preparing the user dcumentatin. Nte that this des nt necessarily mean that the prject recrder will d all the wrk but just crdinate it. It is the respnsibility f the recrder t distribute these tasks amng team members. 4
Each team member shuld keep a lg f the time spent n this prject with specifics as t dates, tasks, and amunt f time spent n each task. The lgs must be up t date at all times and available nline fr me t review as I grade each deliverable. I will review all lgs and prvide cmments fr revisins. These lgs shuld als prvide guidance t yu in future sftware design prjects. Each team member shuld maintain a webpage t pst the lgs. Yur prject website shuld include links t team members lg web pages. Each team member and team is expected t adhere t all deadlines. Failure t d s may impact the prgress f the prject which in turn will impact yur grade n the prject and may result in a late penalty. In additin t being evaluated by me, yur wrk will be evaluated by yur team leader, team members, and by yur client. A limited amunt f class time will be used fr team meetings in rder t give yu an pprtunity t receive feedback frm me. Hwever, mst team meetings shuld be scheduled utside f class time. Team members are expected t attend all team meetings. Each grup shuld submit ne cpy f the dcument due as each stage with names f all team members n it. In additin, each team member must submit 1-2 pages summarizing his/her cntributin t the deliverable submitted. Yur team will receive a grade n each deliverable. Each team member will als receive an individual grade. Yur grade n each deliverable is the average f yur individual grade and yur team grade. Each piece f cde and dcumentatin shuld clearly identify the authr and date created. If a student withdraws frm the class, the team will wrk tward the same set f gals with the current members. If a team is left with 2 members, arrangements can be made t adjust the requirements. Finally, wrking in a team can be fun and at the same time challenging. As we wrk n this prject we will discuss issues related t teamwrk. Smetimes, it is tempting fr a team member t wrk alne r d mst f the wrk. Yu shuld avid the temptatin t d s. Yu will find ut that team members have different wrk habits, persnalities, and pinins. Yu shuld respect yur team members pints f view, even if yu disagree. Yu will need t wrk arund yur differences. If there is a cnflict, yu shuld try t reslve it amng yurselves. Only if yu are nt successful shuld yu request my invlvement t reslve the cnflict. Nte: This prject handut will be revised thrughut the semester as we add the varius deliverables. 5
Deliverables: Each assignment includes a list f deliverables and deadlines. Yu must have a webpage t pst all prject related assignments. Yu must als submit hardcpies fr all assignments by the deadline specified in each. These deliverables must all be cmpiled and again submitted with the final prject alng with prper system dcumentatin by April 22, 2008. Each grup is expected t present their prject in class. These presentatins will be held April 29. 6