Home
appendices 1.0 project management
Contents
1. Could be doing a better job with test ing 28 PROJECT MANAGEMENT Keep In Mind TABLE 13 Weekly Evaluation Week 42 Element Code Comments Carsten says OK OK OK Good testing this week KIM Document Good that we used time this week on updating and put ting together Sent to MC as one report file Just a few parts missing for what has been submitted like the new requirements for iteration 0 Plan Apparently not a very useful tool nobody looks at it despite the fact it is E mailed and hanging on workroom wall Only point that gets noticed is anything that applies precisely to one individual mostly on our plan this is the Bread Plan Team We are at a stage where things are functioning so well that we are now really ready to continue with project just when we are about to close down XP Testing accomplished 1 6 Keep In Mind The Keep In Mind KIM table follows It was used as a wall chart in our work room and was quite helpful Some points were not OK at the time of inclusion in the report Table 14 KIM What Who Deadline Status Get Lotus Approach from PDS C ASAP OK DB access from word C ASAP OK Coding Standards C ASAP OK Junit HC 27 8 OK 07 09 html tools J 17 8 OK db baseline 1 C 21 8 OK UII baseline J 24 08 OK Test Proto H 07 09 OK Sys Dev meth P 30 09 Revise Proj Estab H 07 09 OK
2. HEADING 2 This is body text Insert a reference as author last name page Shneiderman 150 Footnote SubSection body BOLD Add a Format A table Heading Row in Black 50 Table Heading Text Arial 10 in white TABLE 17 Table head Title 1 Cell Heading Text Arial 10 in white cell body FIGURE 8 Use Figure format FIGURES To stretch figure to full page width right click in Anchored Frame select Anchored Frame de select CROP and Apply 1 See Appendix Contracts Chapter Title Report Title Format 69 STAGES OF PROTOTYPING APPROACHES TO PROTOTYPING Section Heading Heading 1 5 0 PROTOTYPING Prototyping is an interactive technique in which users are actively involved in the mocking up of screens and reports The purpose of a prototype is to show the end user the possible steps for the system Prototyping is not a suitable technique for all types of application projects accord ing to their size and topic The topic and the time frame of our project is applicable to use the prototying as methodology Objectives The objectives of prototyping should be made explicit the presence of misunderstandings and misinterpretations of the expressed functionality The output of this phase will be documentation of prototyping plan Functionality The next stage is to decide what to put into and perhaps more impor tantly what to leave out of the prototype The output of this stage will be to outline
3. PROJECT MANAGEMENT 29 Keep In Mind Table 14 KIM What Who Deadline Status Doc Baseline P OK JDBC Driver C 31 08 OK per 07 09 List of final docs C 02 09 OK Minutes in PDF to H weekly C J P continuous Update PC s C 01 09 OK Central DB C 24 09 OK Central Code Pool C 24 09 OK Update Data Dictionary C continuous OK per 30 09 Refactor Iteration 1 All 28 09 OK Task Cards i E form P 01 10 OK html template J 28 09 OK User Guide J 24 10 OK Installation DOC immediate OK Project Estab Conclusion H immediate OK All chapters intro amp conclusion TOC how to format PE OK Arrange printing w Sanne 23 10 JOK Remove IIS ServletExect from tools C Immediate 30 PROJECT MANAGEMENT PURPOSE Internal Contract 2 0 CONTRACTS 2 1 Internal Contract The internal contract provides rules and guidelines for the project team concerning working methods socialization commitments and conflict solving Team members agree this project will receive 100 of their attention and capabilities for the purpose of producing the highest quality products and an excellent experience in regard to the process Working hours Mon Thurs 8 30 15 00 e Fri 8 30 14 00 Place of work Roskilde Business College At PDS as needed and possible Informal meeting At end of each month or phase we will meet outside school to discuss progress of the project We will use
4. e Something Jama will not be present Friday as he is going to visit some family in Jylland SYSTEM DEFINITION Functionality Create participants courses firms etc SEE FUNCTIONAL REQUIREMENTS Application domain Administrator of Courses internal interests Technology A server running SQL Server 2000 Internet Information Server 5 0 with ServletExec 4 0 engine clients running Internet Explorer 5 x Conditions For further development We leave PDS with a working prototype and documentation Objects entities Participants courses firms locations and documents in some form Philosophy Course and participant administration distribution of course information internally TOOLS Why do we use JSP instead of ASP now that PDS is Microsoft Certified Partner Should all pages be JSP to make it consistent instead of HTML e Which is fastest e Which is better e Server issues e Consistency REASON IT We have decided that all pages should be JSP for consistency and functionality We got the software from IT department went and installed it on machine in room 117 MINUTES 39 MINUTES 2001 08 09 External Contract Are we improving working practices or are we making it worse So far requirements are mapped to web page layout Will PDS continue to use JSP or will they change evrything to ASP Are they only using ASP because they are Microsoft Certified Can we get additional fields on the course w
5. APPENDICES 1 0 PROJECT MANAGEMENT 1 EL PANS 5 ses aar A ewan acest eae 2 1 2 P oject Status i E os eee IS AR A AEO E 7 1 3 Report Documents Presage e a a ers 12 1 4 Baselines amp REP OTIS saneret EE ER a eaten EE 13 1 5 Weekly teviews ronin ee eetos ssnesScuseasiccbesdensncebs oeeo ESEE nep Ea EEan ESE EEEE AEK E EE Eai 23 T6 Keep Vin Mand 5 ds ass An se Rare eaan arer EREE E Poe Eor EAEE EO sedge ouoxdsadvestsveredeess 29 2 0 CONTRACTS 31 2 Internal COMMA sc aree e REEE E EE E AE A E AEE EE 31 22 External Contraction naene A A E E NRR rece 32 3 0 MINUTES 34 4 0 STANDARDS 68 5 0 PROTOTYPING 70 Sl Testand Evaluations rneeste entra Ee TE ROEE R RNOR RS 71 6 0 XP 74 6 LS rviyal Kitea a EE T E EA rene AO AaS 74 6 2 Data Dictionary for Database u u ssssseeserersereerereerense renerne renees en serene renerne 80 6 3 Data Dictionary for Java Classes W u u sssevsereererere renere reen renerne e renerne renerne renees 83 64 Easkcardsin rr nerne ede E A O L E A OEE A OAE EER 93 6 5 User Fests Iteration 2 and 33 AEE iii deen RO 107 6 6 Problemis amp Solus era este a a ed ae pled deewdd dees 110 7 0 INSTALLATION GUIDE 113 8 0 SOURCE CODE 115 8 1 Java 8 2 JSP and HTML 8 3 SQL APPENDICES November 4 2001 APPENDICES 1 0 PROJECT MANAGEMENT e Plans Overall Week plans Document finalizing plan e Project Status 1 August 1 September 1 October Baselines and reports e Keep In Mind Chart KI
6. Data Dictionary for Java Classes Attribute method Data type Comment Course string course_no N A Constructor w o dates string course_type int location_no String room_no int max_persons String instructor String comment Course String course_no N A Constructor setCourse_no String void course_no getCourse_no String setCourse_type String void course_type getCourse_type String setLocation_no int location void getLocation_no int setRoom_no String void room_no getRoom_no String setAssigned_persons int void assigned_persons getAssigned_persons int setMax_persons int void max_persons getMax_persons int setInstructor String instruc void tor getInstructor String setComment String com void ment getComment String setDays int days void getDays int setDate1 String datel string void getDatel java util Date setDate2 String date2_string void getDate2 java util Date setDate3 String date3_string void getDate3 java util Date setDate4 String date4_string void getDate4 java util Date 84 XP TABLE 30 Course Attribute method string2Date java util Date date Data Dictionary for Java Classes Data type String Comment Converts a string date of the format YYMMDD to a java util Date date2String String str java util Date Convert
7. The meetings have been to discuss project and personal goals Advisor meeting held to establish the relationship with him and inform of our initial plans PROJECT MANAGEMENT 13 INTERMEDIATE PRODUCTS CRITERIA FOR EVALUATION PROCEDURE FOR EVALUATION PROJECT ESTABLISHMENT BASELINE REPORT AUG 8 RESULTS Baselines amp Reports e Meetings have been held with the sponsor organization to determine the nature of the project and in what form we will be able to work cooperatively with each other e We have described PDS Produced a problem description and delimiting Done an evaluation and selection of system development method Interests and their relation to the project have been determined e Risks determined listed and prioritized according to a point system Tool evaluation and selection completed e An overall plan has been created holding major deadlines and checkpoint The project establishment document is the main product of this baseline e Report introduction which includes the problem description and delimiting Overall project plan e An internal and external contract e Project establishment according to Professional Systems Development chapter 2 e Situation and Action chapter 4 e Project establishment chapter 5 Planning The project establishment document and report introduction are read through as a group and checked for completeness systematic ordering of sections typographical errors inc
8. post city tel fax e mail www food overnight practical comment directions Call set Location bean name add post city tel fax e mail www food overnight practical comment direc tions Call open DB If PK exists generate HTML error message Call store in DB Call close DB Create Location bean with applicable variables Set bean fields also checks fields Get bean fields from DB for testing Open DB Store in DB Close DB Equals x 2 for testing Software engineer s notes Error messages required field empty invalid inputs exists already once committed Things yet to do Comments XP 103 Task cards TABLE 50 Engineering task card Firm_Create Story number Task description Firm_Create Task estimate Software engineer JSP Bean Call Firm_Create submit JSP Call get parameters from form customer_no name add 1 add 2 post city tel fax e mail contact person Call set bean customer_no name add 1 add 2 post city tel fax e mail contact person Call open DB If PK exists generate HTML error message Call store in DB Call close DB Create Firm bean with applicable variables Set bean fields also checks fields Get bean fields from DB for testing Open DB Store in DB Close DB Equals x 2 for testing Software engineer s notes Error messag
9. setComment String comment void getDirections String setDirections String directions void equals Object obj boolean Compares two Location objects storeInDB void INSERTS this Location in the Location table getFromDB int location_no Location SELECTs the Location from the Location table that has this location no getAllFromDB List SELECTs all the Locations from the Location table toString String Returns location_no name_ address postcode city phone fax email www food overnight practical comment directions TABLE 36 Participant Attribute method Data type Comment course_no String person_no int order_no String state String printed int 1 true 0 false for compatibility with SQL SMALLINT Participant N A Constructor Participant String course_no int N A Constructor person_no String order_no getCourse_no String setCourse_no String course_no void getPerson_no int setPerson_no int person_no void getOrder_no String setOrder_no void getState String setState String state void getPrinted boolean setPrinted boolean printed void equals Object obj boolean toString String returns course_no person_no order_no state printed storeInDB void INSERTs this Participant in the Participant table deleteFromDB void DELETES this Participant from the Participant table updateDB void UPDATES this Participant in the Participant table 90 XP Data Diction
10. A person employed by a firm Standard_Letter A generic letter sent to participants throughout the time from they apply for a course until the course is held TABLE 21 Course Attribute Datatype Default course_no VARCHAR 30 NOT NULL PK course_type VARCHAR 15 NOT NULL FK ref Course_Type course_type max_persons SMALLINT NOT NULL Location Max_perso ns location SMALLINT NULL FK ref Location location_no room_no VARCHAR 5 NULL instructor VARCHAR 30 NULL comment VARCHAR 250 NULL TABLE 22 Course_Date Attribute Datatype Null Default Key course_no VARCHAR 30 NOT NULL PK FK ref Course course_no date_ DATE NOT NULL TABLE 23 Course_Type Attribute Datatype Null Default Key course_type VARCHAR 15 NOT NULL PK description_ VARCHAR 30 NOT NULL start_time VARCHAR S NOT NULL end_time VARCHAR S NOT NULL 80 XP Data Dictionary for Database TABLE 23 Course_Type Attribute Datatype Null Default Key materials VARCHAR 250 NULL comment VARCHAR 250 NULL TABLE 24 Firm Attribute Datatype Null Default Key firm_no SMALLINT NOT NULL IDENTITY PK name_ VARCHAR 30 NOT NULL address1 VARCHAR 30 NOT NULL address2 VARCHAR 30 NOT NULL postcode CHAR 4 NOT NULL city VARCHAR 30 NOT NULL phone CHAR 8 NOT NULL fax CHAR 8 NULL email VARCHAR 30 N
11. HTML form to java date and vice versa Java date to SQL date and vice versa Software engineer s notes Possible Tests e yymmdd string converted to SQL smalldatetime and vice versa Future courses only shown use GETDATEQ in SQL Things yet to do Comments XP 95 Task cards TABLE 42 Engineering task card Participant_Error_Handling Story number Task description Partici Task estimate pant Error Handling Software engineer Errors e Search for non existing firm e Attempt to register for a full course e Try to register person to same course twice e Order no must have value Software engineer s notes Possible Tests e Put Harvey at keyboard and observe if it catches all his errors Things yet to do Comments 96 XP Task cards TABLE 43 Engineering task card Print Story number Task description Print Task estimate Software engineer JSP Bean e Loop Call get person course using attributes from participant Show course_no name state list consists of partici pants where printed 0 Make person name link to Showletter jsp along with necessary parameters e uses existing participant bean Software engineer s notes Possible error messages e you must select one for printing
12. Inrelation to plan DB not created As this takes little time it is not considered a problem e Deviations amp Explanations PROJECT SITUATION e General At this point the project is progressing in the planned direction The only setback was need to rework GUI However some time was planned for for this activity as we are doing evolutionary prototyping The feedback is considered very useful and although costs some time now we feel it would have been devastating had this occurred at a point in time much later in the project thereby the benefits of prototyping are achieved In relation to timeplan on time Approaching important conditions User approval of GUI XP start Use of JUnit for testing if using Java for coding Action Review design Implement db Next Checkpoint report Sept 7 XP 1 UI3 BASELINE DESCRIPTION This baseline is concerned with the graphical user interface It controls the layout as well as the documentation necessary to understand the user interface intermediate prod ucts and prerequisites 16 PROJECT MANAGEMENT INTERMEDIATE PRODUCTS CRITERIA FOR EVALUATION PROCEDURES FOR EVALUATION UI3 BASELINE REPORT RESULTS PROJECT SITUATION XP1 0 BASELINE DESCRIPTION INTERMEDIATE PRODUCTS Baselines amp Reports Activity and navigation diagrams e xhtml codes Test plan and test report e Sequence of screens should match navigation map which should have a flat hierar chical set up to min
13. SITE COMMON DRIVE AT RHS SERVER 120 DAY TRIAL EDITION MAJOR PLAN DATES Project Status SQLServer Primary keys representing course type e Document Printing from MS Word e GUI up to us e Interface other Plass DB s for customer data e Risks e Internal Contract e Interests e Contacts e Positions e Bios Missing Tools with reason for selection Standards Plans Overall detail Baselines Working Methods Missing Problem Delimiting No contact In progress ASAP Obtained e Aug 3 Proj estab complete e Aug 8 Proj estab to MC e Prototype 1 complete Aug 14 e Week 38 Counter group meeting Nov I Final proofreading and report correction e Nov 2 Printing CD e Nov 2 Delivery PROJECT MANAGEMENT STATUS PR 1 SEPT UNDERSTANDING OF SYSTEM FUNCTIONALITY TO DATE REQUIREMENTS SCREENS Project Status Register applicants for courses e Save historical course and participant data e Print documents e Control status of applicants e Interface telephone system outside project scope Due to prototyping new requirements were uncovered Summarized these were General Deltagere and Course Must be able to see historic data Printing don t clip pages Primary Key If not used for anything don t show on screen Browser functionality not exploited add more links RULE 1 when at least one deltager has been sent FINAL all new apps are late RULE 2 no de
14. The starting point of the processes will be XP e Documentation of involved basic practices of XP e Task cards with their function list e Implementation of 2 task cards with the following result PROJECT MANAGEMENT 17 CRITERIA FOR EVALUATION PROCEDURES OF EVALUATION XP 1 0 BASELINE REPORT SEPT 7 RESULTS PROJECT SITUATION IN RELATION TO TIMEPLAN APPROACHING IMPORTANT CONDITIONS ACTION NEXT CHECKPOINT REPORT Baselines amp Reports e Test writing which means codes to be tested for the task e java beans to control the functionality of the task e JSP pages to generate the XHTML files where applicable e Connection of the DB All codes should satisfy the code standards in the project establishment Test codes should contain all required methods to test the involved task e Minimize the use of Sessions and cookies to fulfill the user requirement e JUnit for automatic test Internal testing by the group e XP practices where applicable e Quantative None of the task cards have been fully implemented We have java beans and tests No connection to DB and no JSP The XP basic documentation is not written e Qualitative The achieved results fulfill the baseline criteria e Inrelation to plan We are about 2 days behind e Deviations amp Explanations Difficulties with technical prototyping in particular Classpath settings and FORTE4j 2 0 IDE General Each day is a lear
15. Things yet to do Comments XP 97 Task cards TABLE 44 Engineering task card Person_Edit Story number Task description Person Task estimate Edit Software engineer JSP Bean e Make default selection in person drop down to Create e UpdateDB new person e If Create new person has not been chosen then update the person in context e Compare which fields have been altered Software engineer s notes Possible Tests e Use equals method to verify change Things yet to do Comments 98 XP Task cards TABLE 45 Engineering task card Register_Participant Story number Task description Task estimate Register_Participant Software engineer JSP Bean e Call Get Firm data name and phone via customer no e If not found give error message e Call Get list persons related to that firm e Call Get list of available coming courses e Call Create participant bean for each participant that has been checked to attend a course e Call Store participant bean Create Participant bean with applicable vari ables Set bean fields also checks fields Get bean fields from DB for testing Store in DB Equals x 2 for testing Software engineer s notes Error messages e required field empty e invalid inputs e exis
16. at school to do changes to things if they need to be done otherwise it defeats the purpose of pair programming Maybe we should alter the plan to include these little tasks if they are necessary After lunch C and J finished course_date task and P and H wrote tests for Partici pant and experienced problem with broken file error again Harvey left at 2 45 and C P and J ran the test suite which is now up to 13 tests with three failures This is okay though because these were expected due to the fact that the methods were not yet implemented They were also succesfully tested with same errors after integration of the day s work 10 17 When C J and H left yesterday they could use the Firm sucessfully and print a letter Today we couldn t There was some mix up again with integration Thereafter C and J continued work on overview and test on whether converted date from database was correct P and H wrote test for change printed DB P and H refactored some code We used to have a store in DB method a delete from DB method and update DB method and combine them all to be contained in a general update method This was possible due to the fact that the database has the same update method for each of the three instances This is all in the superclass each bean will still have delete insert update but each will call updateDB in superclass After lunch we had problems with the DB Because we made changes to the DB script we had a mysterious ch
17. code Done Front Page e GoLive Aug 3 Proj estab complete Aug 8 Proj estab to MC Aug 22 User prototype evaluation Aug 29 User follow up prototype evaluation Prototype 1 complete Aug 29 XP Iteration 1 complete Sept 14 XP Iteration 2 complete XP Iteration 3 complete at OS GBA ON Week 38 Counter group meeting 10 PROJECT MANAGEMENT PROJECT TEAM EXAMPLE OF RESOURCE EXPENDITURE STATUS UPDATE PR 1 OCT 2001 REQUIREMENTS Project Status 9 Week 38 Internal Project review 10 Nov 1 Final proofreading and report correction 11 Nov 2 Printing CD 12 Nov 2 Delivery OK e Quickly through phases Creation and Organization e Cooperation steadily building No conflicts some misunderstandings due to uncertainty and language e Constructive debate creative input working for results Needs improvement Higher degree of independent initiative e Communication e Assignments This table was created to provide us with an idea of the economy of software develop ment TABLE 1 Resource use August TOTAL Manpower M 4 Days D 23 Approx Daily Hours at 5 school effective H Total Man hours MxDxH 460 Hourly cost 175 Dkk 26000 mo 142 hours Sub total Dkk 80 810 Total Project Management amp 4 assignments daily hours total man hours 23x4 92 sub total 16 162 00 Total cost Dkk 96 972 00 Total Cost based on Dkk 104 000 00
18. go in appendix Use Adobe GoLive 5 for HTML instead of FrontPage e Conclude that FP sucks and GL works e FP weird code and GL fast Tidy to check XHTML syntax Don t write further on documents sent _for_editing Editor will discuss review docu ments edited every monday Takes approx 2 hours in order to be thorough Tools should NOT reflect economic perspectives You gt PT _for_editing PT gt you edited You gt Librarian _final Time is a valuable asset so throw away prototyping is not applicalble to our project Do we only include requirements for further development Only requirements for our project model our viewpoint DB TEST PLAN e Validate transactions INSERT INTO Applicants VALUES DELETE UPDATE e JSP DB integration e JSP web server Lots of broken links on the pages When does a course become removed date MINUTES 45 MINUTES 2001 08 21 MINUTES 2001 08 23 External Contract Afholdt status necessar or just check date We though that trivial testing wasn t needed but this test shows the value of it and the advantage of writing test prior to coding One person diching and one person writing was Course_Edit Check boxes instead of radio buttons Printing from Word is piece of cake after looking in Jama s JSP book setContenttype application msword Opens the page in Word even though the contents of the source page is in HTML We and PDS are missing som
19. in between different screens Required field to fillout The relation between search create edit and delete as they are in same sceen Data types of some fields if they are necessary Do we need to make a class diagram If so there are different possibilities JVision creates from classes to class diagram Each iteration can have one class diagram Common class diagram of interfaces super classes common classes and relation between same lavel classes As our project is not OOAD we will not rush the dessicion to make a class dia gram s It depends our need advisor and if the end user requires more explanation of the systems After going through XP1 problems and solutions we have to stick to make a test integra tion and refactoring Follow the written task card Pair programming one coding the other recording and corrections and should have on hands data dictionary task cards written test and all necessary items to imple ment the task MINUTES 57 26 09 2001 27 09 2001 External Contract If there is deadlock on a task card call assistance from others To make easy the working process we have to have on hands all servival kit Test should be done each class to migrate into the coding pool Create a generic Db class should we import this class or extend We will import as there can be some other classes to extend This class will contain all necessary common meth ods to communicate with the DB Thes
20. javascript First error to handle is those can take place in course_type and can be Are the required fields filled out Non duplicate record in the DB We split the duration field of course type in two start_time and end time Remenber to change all related files XHTML JSP bean database in course_type table 58 MINUTES 28 09 2001 MINUTES WEEK 40 External Contract Time estimates of the next comming task cards are more than the available then we will focus first three tasks and if we succeed ontime we will proceed next tasks As we re behaind of our target we will do some coding activity refactoring at the home even though it contradicts the XP practices The home work should make any deviation to the system design To remove unnecessary DB codes from each bean we have to make sure the Db class test and functionality 10 1 Group went over project review status and that was okay Group went over weekly review and we need more discipline writing and using tests User manual in FrameMaker and HTML format This is an important part of the project with respect to thoroughness Jama says that the user manual will be comprised of the introductory manual and reference manual Functional description and installation doc ument to be included in report Not everything was working 100 but we needed to continue in order to get this itera tion s functionality done We need more proactive proble
21. table getFromDB String Course_Type SELECTs the Course_Type from the Course_Type table that has this course_type course_type 86 XP Data Dictionary for Java Classes TABLE 32 Course_Type Attribute method Datatype Comment getAllFromDB List SELECTS all the Course Types from the Course Type table toString String Returns course_type start_time end_time materials comment TABLE 33 Db Attribute method Datatype Comment con Connection driver String The JDBC driver url String The URL to the SQL Server username String password String Db N A Constructor openConnection void Opens the connection to the database closeConnection void Closes the connection to the database getConnection Connection Returns the connection SQLInsert String query void Performs an INSERT specified by the query SQLSelect String query Object Performs a SELECT specified by the query and returns the first row of the ResultSet SQLSelectAll String query List Performs a SELECT specified by the query and returns all rows of the ResultSet SQLSelectInt String query int Performs a SELECT which MUST use AS integer in the query and returns this integer SQLDelete String query void Performs a DELETE specified by the query TABLE 34 Firm Attribute method Datatype Comment customer_no int name_ St
22. this as means both of ensuring the social relations of the team members are positive and to look at project from a different perspective than the formal working atmosphere provides Decisions It is an objective to reach consensus in the group after knowledgeable discussion and argumentation for viewpoints Mediocre compromise should be avoided We will listen with open minds to the opinion of others and be willing to argue for their viewpoints if the argumentation is valid Delivery of work The initial requirement is that all work be delivered as planned Should this not be pos sible a request must be made at the latest 25 hours prior to scheduled delivery to the project manager for an extension Material must be delivered as agreed on extenstion date This situation will not be accepted more than twice by the team and will require a team discussion as to what action to take in respect to the person in question Minutes A record will be made of meetings within the group and with PDS and our advisor CONTRACTS 31 PROJECT CONTRACT TERMS OF CONTRACT COPYRIGHTS PAYMENT LIABILITY External Contract Internal Communication e Phone latest 22 00 Harvey until 23 00 e E mail latest 22 00 Leavehome Carsten 8 00 Harvey 7 00 Jama 7 30 Paul 7 00 Conflicts Internal Conflicts We will use knowledgeable discussion as the first method to solve a conflict If the conflict is unresolved the project manager
23. usability is more important than details of functional ity or long term software maintainability User engagement with the system The involvement of users in the development process does not just mean that it is more likely to meet their requirements It also means that the end users of the system have made a commitment to it and are likely to want to make it work 5 1 Test and Evaluation Forms and procedures used for evaluating the user interface prototype Internal Evaluation Developers should split into 2 groups Each group has a user and an observer Users follow this script e Go to Course Administration index page PROTOTYPING 71 Test and Evaluation Go to each link e Simulate a form fill in keeping mouse usage to a minimum by using the tabs e Submit the form Observers note the following by recording Yes No and a number or description where applicable e Are all primary screens present according to navigation diagram Are there links from Course Administration to all screens Are there dead links Does the tab jump to correct box according to a logical order as we have deter mined e How many mouse clicks were used to get to each page Does the submit result in a return to the Course Administration page Experience and observations can be quite different depending on the point of view of the individuals involved in the evaluation Therefore positions should be exchanged after the
24. way things are going to be done beause we ve made the user interface already however maybe it s a better way PT Brainstorm of stories is moved for tomorrow AS PAUL FORGOT HIS BOOK Test plan PDS wednesday 29 8 2001 e Carsten show and tell e PDS write down questions meantime e Questions from PDS Torben tries it out e Print out screens and write comments on them directly Mail XP report to Jama and Paul since they have thrown it away 48 MINUTES External Contract Make PDFs for minutes with one week per file Database e What have we done to ensure migration from Approach to SQL Server e Data Transformation Services CF look at write about e Alternatives e Constraints max deltagere don t delete a course with participants e Participant doubles are permitted e Storing taken courses for each participant e Size of DB they don t care about it s cheaper to buy a new harddrive Improve extend futurize their current db e Torben inherited the old DB e Approach visual DB clicking you way through the process PROBLEM TABLE 16 ASP vs JSP comparison Platform WinNT Win9x Independent No Standard Closed Open No Commercial Yes No No Server IIS or PSW Many No Components COM JavaBeans No Extensible Own tags less scripting No Scripting VBScript JScript Java Yes JSP DB access ODBC ADO JDBC ODBC No Learning time Short but com
25. with the 1 M that with time could become M N and therefore you add an entity in between The design we have done is based on their business constraints Coding standards Reference Sun s standards find link for the references New link in the menu on the left side of the screen Breve opens an overview of all the letters than are pending for printing batch printing possible Where do we place the functionality to check the data that is entered JavaScript on the client or Java on the server Do error handling while coding Next PDS meet Systematic check list for Torben thorough Why or why not are we using sessions Thin or thick client Jama will explain in document DB e Table for printing HOW e Standard letters are to be stored in the database as a long HTML formatted string e When do you use stored procedures vs application functions vs views e Technical prototype of JDBC driver XP e Story categories good for user prioritizing Necessary for the system High business value e Would be nice From 03 09 2001 To 07 09 2001 The following section will describe the activities and discussions that take place in the MINUTES 51 2001 09 10 External Contract RHS either in the group room or on the PCs 03 09 2001 We will have two counter group Kenneth and Thomas s group probably on 20 09 e PM explain project status Recommended to have an extra BaseLine for the DB as we h
26. without filling Error message OK in Description Description missing Fill in with existing Error message OK course type Course type missing Fill all in and submit Refresh to e Keep duration as it is now Course_Type with start and end_times Open Course XP 107 User Tests Iteration 2 and 3 TABLE 53 User functional test Iteration 2 Test Submit without filling in Course no Expected result Result Error Message OK Course_no missing on person page without filling in a firm num ber tomer number missing Submit Course Refresh to Course e Links to the overview page did not work Open Person Submit search for firm Error message Cus OK Submit search for firm on person page with a correct firm number Firm name appears on OK form and list of per sons in Select Box Submit Person with out entering a person name Error message Person OK name missing Submit Person Refresh to Person e Page Should be able in person to create multiple people for a firm without having to search for a firm every time Open Participant Submit without select ing firm Error message Miss OK ing firm no Enter firm no and search Firm data with person OK list Submit without enter ing Order no Error message Order OK no missing Submit after select first person Refresh to Overview e Error message in registe
27. CODING STANDARDS AND CONVENTIONS HTML JAVA SQL External Contract 4 0 STANDARDS By establishing standards for writing our documents program and database code we provide a proactive means of increasing the quality of deliverables vs a reac tionary approach of quality control where quality is the result of controls and cor rections It is far simpler and requires fewer resources to build quality as compared to fixing for quality In the following section there are descriptions and templates for standards Having a clearly defined ruleset for code eases the overview and understanding for developers as well as other interests W3C s XHTML 1 0 or HTML 4 01 Java code has been writting according to The Java Language Specification second edi tion and the extract hereof Java Code Conventions There does not really exist any specific rules for how to write SQL The online books installed with SQL Server does however give some ideas of how it should be done CREATE TABLE Person person_no SMALLINT NOT NULL IDENTITY 1 1 customer_no SMALLINT NOT NULL ON DELETE NO ACTION name_ VARCHAR 30 NOT NULL comment VARCHAR 50 PRIMARY KEY person no FOREIGN KEY customer no REFERENCES Firm customer_no 68 STANDARDS Section Heading Heading 1 Chapter Title Report Title Format Report Purpose body in BOLD 4 1 Section Heading Heading 1
28. ELECT via Db SQLSelectInt getSQLString String setSQLString String void sql_string getBeanType String setBeanType String void bean_type checkErrors boolean Return true if there are errors in the error_list otherwise false getError_list List Returns the list of errors XP 85 TABLE 31 Course_Admin Data Dictionary for Java Classes Attribute method Datatype Comment addToErrorList String s void Adds an error string to the error_list getIter Iteratori Returns an iterator for the list of errors TABLE 32 Course_Type Attribute method Datatype Comment course_type String description_ String start_time String end_time String materials String comment String Course_Type N A Constructor Course_Type String N A Constructor course_type String descrip tion String start_time String end_time String materials String comment setCourse_type String void course_type getCourse_type String setDescription_ String void description getDescription_ String setStart_time String void start_time getStart_time String setEnd_time String void end_time getEnd_time String setMaterials String materi void als getMaterials String setComment String com void ment getComment String equals Object obj boolean Compares two Course_Type objects storeInDB void INSERTs this Course_Type in the Course_Type
29. INUTES 2001 09 14 MINUTES WEEK 38 External Contract Redirect happens taken to right attended page Fields are valid date customer_no Not null fields are filled out Tidy validation Cursor positioning after submit Relevant error messages Input data should be checked Data format After submit of a form refresh same form with empty Search without results gives error message e Some key codes will be included in to the report and the rest of the codes will be placed to the appendix as usual e DB connection close test should we make a separate class or are there any other ways to do so e We will make a generic class to connect to the DB using JTurbo then another class DB test which contains the test methods This test will be next iteration e Field validation and data format will be controlled with JavaScript but the question is how is the risk of this for the group probably high There are some other options such as using JSP tag libraries and also we can use java codes servlet to do so AS the knowledge of the group for java is better than JSP and JavaScript then we will implement with JAVA e What are the other possible error messages that needed to display we will make a brainstorming Do we make all task with their test or should we first finish all tasks and then their tasks We couldn t integrate not passed codes in to the code pooling therefore we have to make each task card wi
30. K letter VARCHAR 4000 NULL 82 XP TABLE 29 Classes Data Dictionary for Java Classes 6 3 Data Dictionary for Java Classes Name Package Description Course ontrack beans course Course Admin ontrack beans The superclass for all the beans Course Date ontrack beans The specific dates for when a course is held Course Type ontrack beans The type of course that is held Db ontrack util Takes care of database connectivity Firm ontrack beans The firm customer that has bought software from PDS Location ontrack beans The location at which a course is being held Participant ontrack beans When a person is signed up for a course or has participated in a course he she becomes a participant Person ontrack beans A person employed by a firm TABLE 30 Course Attribute method Datatype Comment course_no String course_type String location_no int room_no String max_persons int instructor String comment String assigned_persons int Calculated on the fly date1 Date date2 Date date3 Date date4 Date days int The total number of days this course lasts Course N A Constructor Course String course_no N A Constructor w dates String course_type int location_no String room_no int max_persons String instructor String comment int days int assigned_persons XP 83 TABLE 30 Course
31. M Plans 1 1Plans FIGURE 1 Overall Plan Part 1 Plan date 0308 revised 2109 heckpoint Evaluate baseline report Corrections plan baseline Project Establishment rototype Development iteration 1 complete mini sys 9 Database 10 Intranet 11 Doc amp Corrections 12 Cover Page 13 Bread Coffee Plan date 2309 Personnel Advisor 16 Corrections plan baseline 17 Review report research preparatio iteration 2 Evaluate amp Conclude Doc amp Corrections Print first draft amp Proofread Final Corrections Proofr 25 Cover final decision 26 Printing CD Deliver Bread coffee PROJECT MANAGEMENT Plans en Continent Mo Week Number Meetings S Advisor FIGURE 3 3 Week Plan 6th August 24th August 3 Week Work Plan Plan date 0308 revised 1808 onTrack Project PDS Other eeel Checkpoint 34 830 Evaluate baseline Corrections plan baseline Project Establishment Sys Meth Research XP OO DB SQLServer training Install Tools O NN JO oO IR JU N Analysis Initial Requirements Requirement
32. ULL contact_person VARCHAR 30 NOT NULL a customer_no is generated in different thousands depending on which customer group they represent e g real estate agents 2000 2999 dentists 3000 3999 etc TABLE 25 Location Attribute Datatype Null Default Key location_no SMALLINT NOT NULL IDENTITY PK name_ VARCHAR 30 NOT NULL address VARCHAR 30 NOT NULL postcode CHAR 4 NOT NULL city VARCHAR 30 NOT NULL phone CHAR 8 NOT NULL fax CHAR 8 NULL email VARCHAR 30 NULL www VARCHAR 30 NULL food VARCHAR 250 NULL overnight VARCHAR 250 NULL practical VARCHAR 250 NULL directions VARCHAR 1200 NOT NULL comment VARCHAR 250 NULL max_persons SMALLINT NULL XP 81 Data Dictionary for Database TABLE 26 Participant Attribute Datatype Null Default Key course no VARCHAR 30 NOT NULL PK FK ref Course course_no person_no SMALLINT NOT NULL PK order_no VARCHAR 10 NOT NULL state VARCHAR 30 NOT NULL Ej FK ref Standard_Letter state bekreftet printed SMALLINT NOT NULL 1 TABLE 27 Person Attribute Datatype Null Default Key person no SMALLINT NOT NULL IDENTITY PK firm no SMALLINT NOT NULL FK ref Firm firm_no name VARCHAR 30 NOT NULL comment VARCHAR 30 NULL TABLE 28 Standard Letter Attribute Datatype Null Default Key state VARCHAR 30 NOT NULL P
33. a definition e Development This stage will cover all tasks to implement the body of the proto type e Evaluation This is the most important stage It focuses on three basic issues what is good about the prototype what is bad about the prototype and what is missing from the prototype After evaluation of the prototype you have to either scrap parts modify parts and even add new parts or is no longer generating any new require ments stablish prototype objective Define prototype functionality Develop Evaluate prototype protype Prototype Outline Executable Evaluatio plan definition prototype n report Consulting different literatures you will find different criteria of prototype classifica tions which are based on the different purposes for which a prototype might be used The following section describes different types of prototypes according to the latest lit erature i e Throw away prototyping The principal function of this prototype is to clarify requirements and provide additional information for managers to asses process risks The objective is to validate or derive the system requirements You should start with 1 Software engineering 6th edition by Ian Sommerville 70 PROTOTYPING SELECTION OF AN APPROACH PROTOTYPE Test and Evaluation those requirements that are not well understood because you need to find out more
34. about them Evolutionary prototyping The objective is to deliver a working system to end users This means starting with the user requirements which are best understood and which have the highest priority In addition to above mentioned prototypes you can find names of other kinds of proto types but most overlap in some way the two we have mentioned It is generally not sufficient to take the existing situation as the one and only starting point for setting up PDS requirements Additionally we conducted several meetings with PDS to clarify the requirements We found that despite our efforts we were still slightly unclear about the requirements particularly with regard to the design of the user interface It was necessary to evaluate what type of prototyping would be most appropriate for our situation We concluded that the choice would be evolutionary prototyping based on the following points Time frame We do not have the time to make a prototype that we will not use e Requirements Major points of the requirements are well understood Close similarity between evolutionary prototyping and XP which will be our future process development The production environment of the prototype is integrated with that of the final product There are two main advantages to adopting this approach to software development e Accelerated delivery of the system Software support is made available quickly In some cases rapid delivery and
35. ad have some BLs before BL will be the end of this iteration e XP1 will include 2 3 screen functionality e E mail from PDS Session Even though is not much applicable in this case Project we will try to use some where in the beans to record the user s history ASP JSP No ASP and will make a reason why we shouldn t Send to them some 3 point to justify why we use JSP Carsten Again if they insist to do so then go back to the contract e Review of documents We end up to make clear the difference similarity of XP and evolutionary prototyping previous thoughts was that the implementation of the evo lutionary prototyping will be XP but you can keep separately these two subjects After discussion we conclude to implement with XP all left iterations The product of each iteration will be prototype e PDS s new requirements We will implement as much as we can and where applica ble e Discussion of cover page Harvey s sample will be temporary e For the counter groups we will check the report on Monday 17th and we will sub mit to Kenneth on same day On tuesday we will submit to the one counter groups Thomas s DOC e Some changes are made in System Development Methods based on Advisor s meeting Why UI prototyping became first thing to do This discussion should be included in the above mentioned section e Technical prototyping Document format should consist general approach then some det
36. ailed experience from our discussion e Server Side Scripting Where to put this section This will be placed same place with Client Server section From jama and this part will be called Web Archi tecture The seminar of NET will be mentioned this part but we will not give a consideration according to our development processes e XPI 52 MINUTES External Contract e We didn t succeed the goals of the baseline We will make a separate section to explain what is the reason for unsuccessfullness e Does the XP practices are new in the system development literature This discus sion s conclusion will be included in the appendix e We minimize to make sessions and cookies to fulfill the user requirement There is no reason to use cookies as there is no login ETTTTTCCCC Instead of session we will use page and application scopes where are necessary e 117 for coding e How to connect the DB Do we make through the JSP do we make a generic bean connection do we make a connection pooling or do we a java file and import the class file in each JSP file e At the beginning we will make java bean connection communication of the DB and use the class bean in the JSP file We unsucceed the above point then we make the following observation e Test the DB connection to call openDBConnection method in the JSP file eExecute an SQL statement in between calling storeInDB method Close the connection by calling the CloseDBConne
37. ange to the database Suddenly the participant table had no connections to the other tables We therefore wasted a lot of time with errors we encountered thereafter because we couldn t understand why things were not working We found this out by referencing a database generated diagram of the tables P S We need to figure out where to put max_persons 10 18 Today Participant wasn t working because we needed to make State a foreign key from the standard letter table We therefore needed to implement the standard letter table first today We discussed how we need to focus on just this iteration s work It is interesting to evaluate what the value of a thorough requirements specification is in XP It has many times confused us thinking about future possibilities of just some brainstorming comments made by PDS Non functional requirements of course are still of high value because they do not change normally throughout the project 64 MINUTES MINUTES WEEK 43 External Contract Tomorrow we are supposed to send the report to Claudius and we each have some things to add so we will work in shifts on the document while others program P and H finished Print and started on Person_edit C and J worked on Participant management and also worked on many not task related articles 10 19 To begin with C and J continued work with Particpant management and P and H pol ished the document for delivery to MC After lunch C and J c
38. ary for Java Classes TABLE 36 Participant Attribute method Data type Comment getFromDB String course_no int void SELECTS the Participant from the Participant table that has this person_no course_no and person_no getPrintList List SELECTS the Participants from the Participant table that has not been printed printed 0 getStates List SELECTS the possible participant states from the Standard Letter table checkErrors boolean Returns true if no errors occured otherwise false getError_list List Returns the list of errors TABLE 37 Person Attribute method Data type Comment person_no int Autogenerated in DB firm_no int name_ String comment String Person N A Constructor Person int customer_no String N A Constructor name_ String comment setPerson_no int person_no void getPerson_no int setCustomer_no int customer_no void getCustomer_no int setName_ String name_ void getName_ String setComment String comment void getComment String equals Object obj boolean Compares two Person objects equals int person_no int boolean Compares this Person with the fields of another Person customer_no String name_ String comment storeInDB void INSERTS this Person in the Person table updatePerson void UPDATES this Person in the Person table getFromDB int person_no Person SELECTs the Person from the Person table that has
39. ath Add C myjava C myjava JTurbo jar to the CLASSPATH If you wish to use JUnit for testing also add C myjava junit jar Remember to separate all files directories with INSTALLATION GUIDE 113 TOMCAT 3 2 RUNNING THROUGH FORTE 3 0 CE Problems amp Solutions Prerequisites The above mentioned prerequisites Forte 3 0 Community Edition Copy the JTurbo jar file to C forte4j lib ext folder At the first run of Forte after the installation you are prompted to specify your working directory Make this C myjava When Forte is done loading Go to the File menu and choose Mount filesystem Click the Add local directory enter C myjava and click Ok Click the Editing tab just below the menu bar and then click in the Explorer win dow Now expand all directories in your way to C myjava ontrack jsp Double click on Overview jsp to view the code in the Source Editor Now click on the Execute button below the menu bar looks like play you can also press F6 Your browser now opens and the system is running 114 INSTALLATION GUIDE Java 8 0 SOURCE CODE 8 1 Java 8 2 JSP and HTML 8 3 SOL SOURCE CODE 115
40. ative Java code mixed in all classes instead of own DB class bad design needs refactoring e Deviations amp Explanations Authentication between Windows and SQL server was biggest problem e General Moving forward 20 PROJECT MANAGEMENT BASELINE DOC MIDWAY DESCRIPTION INTERMEDIATE PRODUCTS CRITERIA FOR EVALUATION PROCEDURE FOR EVALUATION MIDWAY DOC BASELINE REPORT SEPT 25 RESULTS Baselines amp Reports e In relation to timeplan OK e Approaching important conditions See XP1 1 Action Populate tables with data Next Checkpoint report Oct 5 XP2 0 This baseline is for the mid way state of the project report Following documents are finalized or up to date in relation to project phases Intro e Foreword Proj Estab e Prototyping Iteration 0 User Interface Testing Initial requirements e Tools e DB e Server scripting Report is in a structured form e Counter group feedback e Advisor feedback e Own standards e Internal Review Editor proofreading e Reviews with counter groups e Advisor Feedback Quantative All docs as expected except task cards figures and diagrams for C S Qualitative High according to reviews and corrections and structuring after reviews Project establishment needs a conclusion PROJECT MANAGEMENT 21 PROJECT SITUATION Baselines amp Reports Deviations amp Explanations none General e Progress
41. badjillion pages so I didn t bother writing them on the computer PROBLEM DOMAIN QUESTIONS e Kursister som tilmelder sig et overtegnet kursus Salgsafdeling administrerer man uelt Hvis undertegnet Brev med at de ikke skal komme gt salgsafdeling e Salgsafdelingen vil gerne have en venteliste med interessetidspunkt og deltager som prioriteres efter hvor lang tid de har st et p listen Hvis personer gifter sig gt nyt efternavn e Nuv rende systemer DSI C5 Approach SQL Server e Tabeller skal vere fremtidssikrede e Lotus Notes intranet e IIS ikke noget problem e Alt kgrer i Delphi vil konvertere vores system til Delphi Torben ser det som en fordel at systemet k rer via browseren e Vi har f et en lille maskine med IIS SE til form let e Det skal vere s nemt som muligt at tilmelde sig et kursus Kortfristet tilmelding 14 dage for Kursusliste mangler beskrivelse kommentat kursusnavn efter kursusnummeret e Sum af og max antal deltagere ville vere rart Firmaer ligger i telefon systemet Ingen instrukt r tabel bruger kun initialer e Tabeller kolonner variabler skal enten v re p dansk eller engelsk IKKE BEGGE Diplomer udskrives hjemmefra PDS ON XP Par programmering bruges 2 timer pr uge Involvering af kunde bruges ved kravspecifikation og prototyping e Support afdeling fungerer som testbrugere Nye folk bliver sendt ud til kunder Storycards bliver brugt sammen men UniBa
42. can be sure E mail is checked nightly at certain time Individual Work PM needs answers to when material will be ready Ignoring requests is annoying to both PM and person being queried Team OK PROJECT MANAGEMENT 25 Weekly reviews TABLE 7 Weekly Evaluation Week 36 Element Comments Advisor Not much this time We had delivered little too His doubts were calmed as far as if are approach uncovered all entities Website Minutes and baselines missing Need latest references too TABLE 8 Weekly Evaluation Week 37 Element Comments Discussion Often we discuss and don t make decision when they are needed Waste of time Must make final date if decision delayed Results Need more thorough testing By Friday we were up to date on everything but code A mutual wish between PDS and team to delay user evaluation held up completion of XP1 one week Much time was lost due to the terrorist attack on WTC that got the world to stand still in shock PM Still too many e mails Individual Work JDBC to work between JSP Java and SQL Server solved for Monday This was a week later than planned Team All fight for solutions despite the problems XP We have tried a lot of it but not systematic enough just getting feet wet Website Paul says What Web site TABLE 9 Weekly Evaluation Week 38 Element Comments Advisor Theme of meeting report structu
43. ce and to help plan future e Evolutionary prototyping XP prototyping by PT 34 MINUTES MINUTES 2001 08 02 External Contract e Make tests for classes then program Delphi front end for db is waste of time because Delphi is not web capable Are there any classes at all Will analysis benefit anything Intranet server db 2 des tinc projects e Any protoyping improves working spirit because developers see a product A goal to make something that works compared to last project where we coded like hell the last two weeks e Combine prototyping to show what we have got using XP principles e First prototype is duplicating what they have in their system now e We should talk to Erwin as he probably is the most experienced system development person at school especially about prototyping as this seems like it started in the 70 80 s Where when and how do we start with prototyping Evolutionary for known requirements revolutionary for unknown unclear require ments WE NEED TO GET THE REQUIREMENTS DONE ASAP REPORT this is yet another unprecedented system explain the problems pitfalls and advantages of evolutionary prototyping solve them buy XP SYSTEM DEVELOPMENT Fusion method and rational unified process are using prototyping Method selection criteria why prototyping Make sure requirements are right e Improve communication Try something new and different e Faster de
44. cellation e view list of courses e CRUID operations for course firm participant location e instructor etc Add and remove for valid combinations e Product layout gt Organisational layout 36 MINUTES VOLUNTEERS FOR WORK External Contract TABLE 15 Sugggested table of contents Column 1 Column 2 e Title page Foreword e Introduction e Company profile Problem description Problem delimiting Table of contents e Project establishment gt trivial pages go in appendi e Resources e Contacts Development methods e Development method e Plan Outline functions Implementation XP why e Prototyping types why evolutionary e XP What How Applied Initial requirements Analysis Evaluation e Methods e Tools e Process Project conclusion Bibliography Glos sary Acronyms Appendix e Contracts Minutes e Code e Prototypes do what APPENDIX Description of the prototypes should go in appendix The report contains the prob lems and process why how XP system development methods Paul Prototyping Jama Database E R Front end Usecase Normalization Conceptual db design Logical db design Physical design Write unit test Implementation Test Evaluation feedback Sequence diagran Navigation map Logical view Write unit test Coding Test MINUTES 37 MINUTES 2001 08 06 External Contract e Evaluation feedback Requirements Ca
45. ction method We fail the second point and again observe where the problem lies e We use main method in the Course Type test java file and run it import java sql and throw in main the exceptions throwed used in the methods called in main We printout some control lines in the catch clauses and we get them Now we get that the problem is SQL statement From this result we use simple SQL statement to insert a recod to the DB This statement is placed in the main method not to use storeDB method then we succeed access the DB From this point we make incremental improvement and finally we succeed to insert and access a record to from the DB using the form then JSP to call the bean class which will communicate the DB Today as we had have some deviations for our plan caused by the technical proto typing we make clear what will be tomorrow s plan e So far we have the following problems e No printer connection Will be solved with Bo e Different Java JSP and HTML files on both machines e DB Should we keep in one machine Physically or place both machines e No access for commondrive 2001 09 11 e Printer problem will be solved alone as Bo suggested some steps to do e Task Cards Check We compare the task card and the code steps that we did yester day course_type_create The Course Type Create jsp file should be change html file as there is no func tionality in it but just it calls the jsp file The othe
46. d J worked on programming course_date task P and H worked on coding the Print task Both groups forgot to test even though we just looked at daily work practice sheet We therefore had to go back and write tests and run the test suite before we started any more code Meeting with Claudius 62 MINUTES MINUTES WEEK 42 External Contract Error handling belongs in iteration 2 e Do not explain why we use JSP in logical view text e Link diagram is just one way to show navigation and Claudius wants it with arrows e Add how we had problems with too much work new method etc e Add exactly what we did during the iterations step by step and outcome e Next Friday we need to deliver our full report to this point to Claudius In iteration 1 maybe we should add whether dropping pair programming was benefi cial e Claudius thinks that story cards demand an unrealistic devotion on behalf of the user e We need to document what a normal task card looks like e Claudius is afraid that the parts will not fit together e Somewhere we should explain that our data dictionary is more than that e Maybe we have not specified what the classes behavior is and we therefore had to look at the dictionary Last paragraph of refactoring in iteration 2 tone down e Claudius thinks that we should say in our report that We were really missing Lars Mathiasson s architectual design Putin report what kind of projects are best su
47. e text for Emphasize Label stat ing date sep arator is a3 Layout Fields and labels closer Course edit Fortryd button working Course_type_create Materials field should be TA Participant create Too much scrolling Firm create Rt Col Label too close to It TF TF sizes should vary OTHER All screens vertical line too long User evaluation The same script and form for recording observations as for the internal evaluation was used In addition the user had prepared his own criteria in advance presented in the next table to judge the GUI PROTOTYPING 73 A DAY IN THE LIFE OF AN XP PAIR PROGRAMMER SCREEN SHOTS Survival Kit 6 0 XP 6 1 Survival Kit Retreive replicable task card BEFORE you start coding are all tests written Does the test suite run without errors Are all written tests added to the test suite Follow task cards as much as possible Remember to write down refactoring ideas Remember to write down time started and ended Remember to add times to wall chart Do not change classes that were not understood to be changed by all group members without notifying the other pair Stop at 2 30 don t start any new major code portion close to this time At the end of the day re run test suite on integrated code Update problems and solutions list when a new one has come acrossed FIGURE 9 Overview r
48. e methods will be designed in a way to use in all the beans What will be the return value of select method this will affect the print task which we are using in several beans So does this method s return value can hold all data from those beans to printout Return type will be SET as it has many methods but the question is how will return the set value as you already clossed the DB The value of SET will be placed in a variable before clossing the DB As Db class used in by each class as import we have to make sure the test succession of it otherwise it will affect all the other classes All Database involved codes should be removed from each bean and JSP files but still there will be some necessary codes in each bean and JSP file Lower section of the course screen we have ta make a sepearte task card called Partici pant management Refactoring is next step to do to make the codes good look easy to read and well orgin ized Why PDS has to firm tables in their DB question to PDS Jama and Paul will make XHTML refactoring Harvey and Carsten Db class test As we need to handle some errors do we implement with JavaScript or JAVA If JS we need to make few functions but again how does this affect the architecture thin client and group knowledge of JS We can make an JSP error page and use it each JSP file the error page uses each bean to handle the errors from them Error handling will be made by JAVA and JSP but NOT
49. e rules for the standard letters Split relationship between Applicant and Course up into Participant course_no applicant_no order_no state Breve on couse_administration screen Tilmeldinger 2 venter Bekreftelser 4 venter Endelig bekr ftelse 0 venter e etc Automatic update of states Is there a waiting period between states letters GENERAL POINTS Try to maintain a calm transition from one screen to the next e Fortryd button should be called Slet felter e Start page should be Kommende kurser with links to the others e Would like overview of locations NOT GONNA HAPPEN e Should use browser functionality more effectively e Could give different colors for courses with different status e Try to keep similar format to make user interface recognizable e Icons and tabs e Seperate search from edit portions e Make sure that fields are in the correct order e Make sure that links work Imbarresing one e Save course and participant history e Link gt Format page for printing Hide irrelevant primary keys e One screen for participant create edit 46 MINUTES External Contract e Fixed menu bar on the left side of the screen SPECIFIC POINTS e Course Administration Brev in stead of Formbrev e Course Create Get max deltagere from Location as default value show desired date format for entering 4 fields for dates e Course Edit Add phone and C5
50. eb page DOB in particular What will be the PK for participants already in the system Harvey has a paper with questions for PDS meet OTHER Will there be should there be a list of interested people who had their course cancelled E g 3 participants get their MSWORD course cancelled are there then stored in a table of interests so they will be notified when a new MSWORD course is created FATCOP Conditions System should not change existing working practices no matter how bad they are What happens if there are too many or too few applying for a course We should leave options open develop with further development in mind Quote by PT to put in report We want to document the requirements specs that we write and the responses to them as detailed as possible in order to illustrate the advantages of using our development method Hopefully they will change requirements or we won t interpret them correctly to show the value of the whole thing Paul has gotten that XP book by Kent Beck Prioritized list of requirements where they put the number PDS s own list of requirements What practices do they PDS implement in XP Metaphor is what What do you test not everything but possible breakable things Capability Maturity Model Harvey will look at Quotes use special paragraph formatting in FrameMaker 40 MINUTES MINUTES 2001 08 10 External Contract LOOOOONG XP presentation by PT took like a
51. ee e Dorh over b rvren de berse Mbcrcestt Internet Depterer ANE Pir pr pe Ve Porcine Arite Help i baa JAJ Die ina Joos 25 4 a Padres W teo yaa aia ver 06 hare a ad ar are ba aca as lt JAE A k d gt Oversigt over kommende kurser OA LD Karda ow Firme J Deltager cs Sinte m 11101 SOR 3 dage Micresett Woni 2008 Herero ave O10 erage Heese onzmoos tdege Danas Hene abe 10 debtagece Powarer 2000 wf rn 12343078 herbert SBS Fors lotag buk mit 172491 Ars tage Piva cat Thorapest poga Huso PPP 110 he hagen hacer 1000 More Pockite mm ine Eora Foeke aj halur kamuts Lkitiriy Pas How gt ki PR et reeet oot DOBBY doves Siete to tava ca f TE Dpat Vinden CT E murer adeat PL oe 74 XP Survival Kit FIGURE 10 Person Senne Kunde Diminta nan eee hirer wf Baa XP 75 Survival Kit FIGURE 12 Kursus Kane hamro Kanustypa FST ag Dato thirties f Fuinktar rr Karate Lose FT ne eter T 76 XP Survival Kit FIGURE 14 Course Type Dense fen Udieverces p MATAAS ee Korner oan Firmaer i i Sen Tene 4 wa ASP AAAS aA Bee DO SMD Byres USE Sr FS Fem nie Short ne EES oe FIGURE 15 Print emr n DA Al SE SS iamm feires erens era marara ag Kerra ar Rsa teew Tinwerger oma oonrT hartet Forsiktig Macon BID HYSD0DKT vaw Fornulig Karasar Uikiai Watere
52. eek Plan 17th September 5th October oe me 3 Week Work Plan Sept 17 Oct 5 acontinen gt aa 0 sp38 ee ee Sl Docs to advisor Advisor PDS Counter Group Kenneth Informal team meet heckpoint Evaluate baseline Iter 1 complete tasks Iteration 1 user functional test Review iter 1 Commitment Tasks write evaluate select Steering Select code team Write Unit Test Testing Coding Refactoring Integration amp Test FEE User Functional Test Database SQL DML Doc amp Corrections Editor s review Project Review Cover Page Second Draft 32 Bread and Coffee PROJECT MANAGEMENT 5 Plans FIGURE 6 4 Week Plan 8th October 2nd November ww A 4 Week Work Plan Oct 8 Nov 5 x be s Plan Date 0210 version 1 0 Mo Week Number oct4 r gn Meetings Docs to advisor Advisor Prosa Checkpoint Evaluate baseline Corrections plan baseline XP Review iter 2 Commitment Tasks write evaluate select Steering Select code team Write Unit Test Testing Coding Refactoring Integration amp Test User Functional Test Da
53. ellent presentation which helped us all gain con siderable knowledge Results According to plan Improved XP Understanding Requirements Updated PDS XP PM Organization is necessary and useful Individual Work OK Team Functioning without conflicts Suggestions in gen We need to keep in mind how to incorporate the information in eral in report use KIM is one way and Essentials for Doc KIM Website Improvements made more to come PROJECT MANAGEMENT Weekly reviews TABLE 4 Weekly Evaluation Week 33 Element Comments Agenda OK good with several days agenda in advance Good idea of alternating subjects gives time to read between days Good we haven t stopped at middle but at points where it was acceptable to break off an activity Presentations Jama prototyping Presented a helpful view that stimulated dis cussion Results According to plan Individual Work OK Team Coming together Website OK Advisor meeting Positive with good critique and atmosphere Carsten s eyeglasses Still not changed TABLE 5 Weekly Evaluation Week 34 Element Agenda Comments Paul complained about the upside down agendas but after an explanation it became clear they were printed correctly he just had to turn them 180 degrees Discussion The week presented lots of opportunity for discussion on the UI design tools prototyping and in particular the internal and user tests of the evaluati
54. ersons Get list of coming courses Software engineer s notes Error messages e required field empty invalid inputs e exists already once committed Things yet to do Comments XP 101 Task cards TABLE 48 Engineering task card Course_Type_Create Story number Task description Course type Create Task estimate Software engineer JSP Bean e Call Course_type_Create submit JSP e Call get parameters from form course type description materials comment time period e Call set bean course type description materials com ment time period e Call open DB e If PK exists generate HTML error message e Call store in DB e Call close DB Create Firm bean with applicable variables Set bean fields also checks fields Get bean fields from DB for testing e Open DB e Store in DB e Close DB e Equals x 2 for testing Software engineer s notes Error messages e required field e empty invalid inputs e exists already once committed Things yet to do Comments 102 XP Task cards TABLE 49 Engineering task card Location_Create Story number Task description Location_Create Task estimate Software engineer JSP Bean Call Location_Create JSP Call get Location parameters from form name add
55. es required field empty invalid inputs exists already once committed Things yet to do Comments 104 XP Task cards TABLE 51 Engineering task card Course_Type_Error Story number Task description Task estimate Course Type Error Software engineer JSP Bean e COURSE_TYPE JSP e Set bean fields and check for invalid missing e Check if error messages exists in bean and if there is fields and write errors to a list in the bean write them out e needs boolean method CheckForErrors e Call submit page Get bean fields from DB for testing e COURSE_TYPE_SUBMIT JSP e Store in DB e Call applicable set methods e Equals x 2 for testing e Call store in db e If any errors exist redirect to the course_type page Software engineer s notes Error messages e required field empty e invalid inputs e exists already once committed Things yet to do Comments XP 105 Task cards TABLE 52 Engineering task card Course_Create Story number Task description Task estimate Course_Create Software engineer JSP Bean Call Personal_Create JSP Call get_course parameters from form course_no course type dates Call set Course_bean course_no course type dates Call open DB If PK exists generate HTML error message Call store DB Call c
56. exactly as XP suggests Team that wants computer to integrate code does it All tests should run If there is a not when combined problem the integrating team fixes it Many new tools did not For future plan more time for technical prototyping allow enough time to learn Choose familiar tools when possible Look for simplicity Not familiar enough with More coding JSP Recording time usage Chart on wall Each team enters hours used each day on each task 110 XP Problems amp Solutions TABLE 55 Iteration 1 Problem Solution Refactoring Plan coding day Xhours coding X refactor X integration so that all are finished by 14 45 at latest Must refactor every day Rusty with coding More coding Stick to the task Stick with what is supposed to be done according to task cards write down the good ideas for later reference Things don t work when installing at company Plan to and arrive early enough before the scheduled test install check and fix Too many discussions are too long Determine goal of a discussion Set a time limit and use it When is it time to decide and move on When has every sensible point been discussed Too slow to act Underestimated time needed Overly optmistic about how fast we can pro duce results Use more common sense and experience Versions Daily ACE file created with our filenaming convention Writing tests List w
57. existing participant bean Set printed 1 after printing and e updateDB Software engineer s notes Possible Test e printed 1 after printing e Participant is removed from the printing list see Print task Implement this task after course_date Things yet to do Comments XP 93 Task cards TABLE 40 Engineering task card Overview 2 Story number Task description Overview 2 Task estimate Software engineer JSP Bean e Loop call get course where course number is shown generate link e List course only once even if it lasts more than one day e Show the number of days a course lasts along with the course number etc Software engineer s notes Need to rearrange column order sort by date and other requests from last acceptance test Things yet to do Comments 94 XP Task cards TABLE 41 Engineering task card Course_Date Story number Task description Course Task estimate Date Software engineer JSP Bean Used on Overview and Register e Add date fields to Course bean getFromDB variant that takes the dates from the Course_Date table and the fields from the Course table e getFromDB variant that only gets courses in the future necessary for Overview and Regis ter e Methods for date conversion
58. first run Finally notes are to be compared between the groups and revisions made immediately Prototype I Evaluation Form The first table that follows is an evaluation of the navigation between screens in the GUI Each of the filled in tables is a composite of the results recorded by the 2 groups at the Developer and User evaluations The first two tables are from the developer evalua tion and the second set of tables is from the User Evaluation session TABLE 18 Prototype I Evaluation Navigation Test environment User Test date 20 08 01 RHS Observer Action Link to page Link to Home OK No OK or reason Or Teason mouse not OK clicks e Open Course Admin OK Go to links Course create Course edit e Course type create Wrong File Name Wrong file name e Course type edit 1 Simulation with a link was used as there was no server conncection 72 PROTOTYPING Test and Evaluation TABLE 18 Prototype I Evaluation Navigation Location_create Wrong file name e Location edit Missing File e Participant create Wrong file name for link e Participant edit Wrong File Name Firm create OK OK 1 e Firm edit Missing File The next table displays the second form for Prototype I UI Evaluation of the Form fill in features Table 19 Prototype I Evaluation Form fill in Form Fill in Text Field Text Area Course creat
59. hat tests we want and write them If ideas for new ones come up write them Writing the code Test a little code a little the now famous XHSC method make one text box work when it works take another when it works another if the rest should function in same manner add all otherwise one at a time Test SQL in Query analyzer then in code TABLE 56 Iteration 2 Problem Solution Difficulty determining errors Write out exceptions Downloaded software trial version expired making it impossible to connect to DB and resulting in a loss of about 2 hours time Write out exceptions Forte is an unstable environ ment Check other IDE s and evaluate the risk of changing at this late date in project or accept the bugs and report to SUN XP 111 Problems amp Solutions TABLE 56 Iteration 2 Problem Solution Inconsistencies in data types exceptions errors other difficulties during cod ing Communication Create a Survival Kit a reference for programming which includes Data Dictionary Screen Shots Task Cards both the actual and empty ones A Problem and Solution list Testing List tests required and write them Version control Allow more time for integration of files at end of day Concentrate on this point TABLE 57 Iteration 3 Problem Solution Cursor Position in text areas No white space between Text Area start and end tags Tab orde
60. imize mouse clicks e html codes should use xhtml syntax html 4 0 and support IE browsers as this is what PDS uses e Content of each screen should contain all required fields of input data and their manipulation buttons e Internal group test e External evaluation at PDS e Validation of xhtml codes with Tidy e Quantative Navigation amp Activity diagrams Physical screens e Qualitative Need to validate html code e Inrelation to plan 1 week delay Need new feedback from User org e Deviations amp Explanations After first evaluation we needed to rework This took only a day but we were not able to meet with PDS again until a week later However we were able to continue as we sent PDS screen shots for a first evalua tion and feedback before actually demonstrating the updated Prototype e General We will need to validate the XHTML after the screens are approved e Inrelation to timeplan The GUI is 1 week behind plan however this has not caused delay as other work could be continued and the GUI is not needed until that work is complete e Approaching important conditions Approval on 2nd User Evaluation Start of XP phase Action Reworking interface according to feedback from first user evaluation New user evaluation scheduled Next Checkpoint report Aug 30 UI3A Sept 7 XP1 baseline This baseline will control the first part of the first iteration It will involve all of the products as well as the processes
61. irm and check drop down for that per son Change comment check in Database OK Changing a name without changing comment deletes the persons comment If statement missing in code XP 109 Problems amp Solutions TABLE 54 User functional test Iteration 3 Test Do following Result Click Location Link Create Cursor jumps from Fax to Search Cursor position in text areas wrong Null in text fields for null values 66 66 Using marks around sub mitted text causes that text not to show after a search a Due to expiration date of JTurbo trial version b At this point we broke off the test to fix the problem which was a small change done the previous day The error was not uncovered because we did not test thoroughly after the change and overconfidence This emphasizes the need for having tests written and internal functional testing 6 6 Problems amp Solutions Solutions are discussed in the iteration section of the report following the iteration where the problems occured TABLE 55 Iteration 1 Problem Solution Contradicting interests Balance work and goals Customer Software School report DB inconsistency Single DB Use data dictionary Debugging Change one and only one thing a a time check result Move in when sure the problem is not here Difficulty thinking simple Train way of thinking Everything works on each Daily integration
62. is very good Many of the initial difficulties uncovered during technical prototyping are behind us Our coding is gaining speed as we get into the train of thought again after a summer without programming Our understanding of the XP process is improving We have learned much in the last few weeks time about orga nizing our work and this should benefit us in the next XP iteration In relation to timeplan OK Approaching important conditions XP2 user functional test Oct 5 Action task cards completed for XP1 2609 UML logical completed 2609 Next Checkpoint report Oct 8 XP2 22 PROJECT MANAGEMENT Weekly reviews 1 5 Weekly reviews TABLE 2 Weekly Evaluation Week 31 Element Comments Agenda If possible 2 days before Discussion NC Presentations NC Results everyone felt we had gone far in the first 3 days and gotten many things in place PM second portion coffee too strong Solved with ice water in mug Suggestions in gen eral Docs to Carsten by thursday He sends on to Paul after checking file names and backing up If a document is specifically for editing we write in subject of mail to Carsten For Editing TABLE 3 Weekly Evaluation Week 32 Element Comments Agenda pm prioritize Individuals inform time needed for a presentation Discussion Off track on Thursday compared to agenda Consequence was less time for Paul on XP Presentations Paul XP exc
63. ited for XP e With respect to putting the database class in a different package than the others what you gain over inheriting is with inheriting you lose a little performance In chapter 4 of JPL there is a good example of some program code that shows the flexibility of using classes in other packages e Next meeting on 25 After the meeting H and P figured out that the problem with test of course type was comparing the string 8 30 to 8 30 and therefore gave an error We must change the data type in the data base H and P added a delete method to the database class in order to delete inserted tuples from test classes course type C and J made tests for course course dates and added a signed persons to the bean and the database for course We added all tests to the test suite and succesfully ran them 10 15 e Went over new format for iteration chapters to include what was done approved by group members nice addition Briefly discussed error handling document and additions needed e We addressed the following document topics Format for code chapter two columns sideways MINUTES 63 External Contract Print out full report for each member and take home with respect to changes do them in a second file or on paper Changes over the weekend both to the database and the code resulted in the test not running that ran before we left on Friday My personal opinion is that we should stay later
64. lds Once you create the persan 4 hoobi apporre in be dop dren ber bE In addin on tha serees you om echt f r perros n re aod the toest ari doo tr ner f r persos fron Era to tter Em Select he person name that you wart to edt n fre drop down bax Fyoa want to change t s mame tpe he new name 2 the Tiy arat Bold then be the Den baton I the assi is to tantr the person select the person te be tanter and rype the fim member to be transiret ca the Ny lends as ded Fie Name DataType Reqired Ma length Renk ane Yes Sena eg Diets D s the primary key of he Firra and wots wil 2 past of person prbrery hey mur Yeso KX Dipi Reqared ooky when to be transfer 2 personto new don Text IDy Netedta Exphyee of te feuded zm Tee Tee Bak fo wn Yes F Digts Roqared crests cent olen W 50 Vagt aay posnbhe ccerrame TT Biden eet DO BML Otero in Bosse mes Lpwonrnei Bjerns cte piren AE io XP 79 TABLE 20 Tables Data Dictionary for Database 6 2 Data Dictionary for Database Name Description The specific dates for when a course is held Course_Date Course_Type The type kind of course that is held Course A course is an instance of a course type Firm The firm customer that has bought software from PDS Location The location at which a course is being held Participant When a person is signed up for a course or has participated in a course he she becomes a participant Person
65. lete course which has participants No other rules no automation Deltager JUST ONE SCREEN For rediger and create Fixed Ment left side all screens OOA OE OY Be DRS ise o Separate search and edit Possibly color code Course Name in Oversigt over kommende kurser according to status 12 2 letters for 2 situations and 1 letter for 1 situation 13 Revise field order 14 Watch consistency of layout Kursus Admin e Menu left e Start screen opens with Oversigt overkommende kurser Links from Oversigt to participant course firm e Use Label Breve not Formbreve Kursus Explain date format next to text field TF e Smaller TF for instructor e Edit and create one screen Kursus type 2 Course code 5 8 char Deltagere e Move C5 field This is a required field e Use Kunde nr not name PROJECT MANAGEMENT PROTOTYPE REPORT DOCUMENT TECHNICAL PROTOTYPING MAJOR PLAN DATES Project Status e Company name is search criteria Firm Need person title field e 2 address lines Additionally e ASP e SQL e minimal brug af session og cookie HTML 4 eller XHTML e JMAIL bruges til email The GUI prototype is accepted and complete minus screen for printing Complete Project Establishment need to revise Prob Descrip and delimit Requirements will be improved e Prototyping In progress 1 Systems Development 2 Test 3 Database 4 Tools 5 Server side
66. lose DB Create Course bean with applicable variables Set bean fields also checks fields Get bean fields from DB for testing Store in DB Open DB Close DB Equals x 2 for testing Software engineer s notes Error messages required field empty invalid inputs exists already once committed Things yet to do Comments 106 XP User Tests Iteration 2 and 3 6 5 User Tests Iteration 2 and 3 TABLE 53 User functional test Iteration 2 Test Expected result Result CHECK DB AFTER EACH SUBMIT General e Pages should notify some how that you did not press slet felter e Focus for cursor after sub mit Error messages should be identical in format using JavaScript alert boxes e Should not erase data when you put in the wrong text e Course select boxes should have default values already showing Open the Course Over Data appears Links e Move customer number in view not functional on overview e Move 2 out of 10 also to the right e No column headings on overview Open Location Submit without enter Error messages Name OK ing name directions missing Directions missing Enter all submit Refresh to Location OK but if error on submit data should still be in form to prevent re entry Open Course Type Submit without filling Error message OK in Course Type Course Type missing Submit
67. luation Week 35 Element Comments Agenda Difficult to keep times allocated for activities but times are only indicative timeframes Without these a discussion may be open forever Discussion Another week with lots of good discussion Good meaning we have put a lot of consideration into everything we do Now the trick is to document it all Results We feel satisfied with the weeks work GUI approved by PDS We are moving according to plan with no setbacks this week Team Functioning well No major problem All still satisfied with PM Website PM mentioned that it didn t seem the web site was used as a communication medium as it is intended Advisor meeting He didn t much from us so the meeting was a little thin in value We realize he seems to point us in some direction each time via tips and hints on which some we will pick up on and others not This time he started a discussion which re opened the E R dia gram although after some time we did not feel the suggestion was applicable Another point that has been repeated is the Spi ral Model and we will try to work this into our report Carsten s eyeglasses Nothing new TABLE 7 Weekly Evaluation Week 36 Element Comments Results Disappointing We expected to have some tasks completed and ready for pair programming by following week Our many diffi culties with Classpaths stopped this PM Combine E mails if possible PM OK if
68. lue of interfaces in our code Harvey brought up refactoring idea with the get and set methods in the classes and we need to look into this later C and P continued with Participant and H and J continued with error handling Possible error message max persons equals persons Should not be able to create course in the past Refer to page 531 for new date format We decided that for them to put in the date it needed to be in this format with slashes 3 10 01 Then we would convert and compare it in the database Carsten solved Harvey s Jama s coding problem and Harvey tried to kiss Carsten Carsten said Hey sorry I m not that way No matter how many times you try give it up and stop sending me flowers We need to remember to check to see if a course is held for more than two days C and P had problems today because the XQL sentence that they used was not of the standard format and they were missing a standard solution 10 4 We decided that we needed to look at the overview today Jama did not come today due to a doctor s appointment so Carsten worked on overview while H and P decided to go through each page and make sure that everything is work ing for tomorrow when we go to Plass 60 MINUTES MINUTES WEEK 41 External Contract We had many problems with the computers Anders came by and tried to help us but it was not easy because of the machines H and P discovered a way to forego using the getBea
69. m handling by all group members We use Tomcat Forte solution for development purposes and IS Servletexec for devel opment We need to change the tools document accordingly Coding continued Participant database class integration JTurbo evaluation expired Important to included exceptions object from database in our exceptions message other wise it is not enough information There was a problem that contact person was all in one word in the database Needed to change participant data types from bit to int and from char to varchar 10 2 We talked about refactoring possibilities e Making a super class over and above the database class e Maybe look at if sentences versus case MINUTES 59 External Contract We also talked about corrections of the screens In course type there was something with alignment for materials and comment e Jama needs to add the refresh idea to the explanation of the person page in the user manual Need to put stars next to required fields e Something wrong with select methods for course type e We need to look at firm number in firm because when left blank it equals zero Default should be new person for person e Drop down boxes maybe should have a sorted set in order to have a static ordering We talked about putting solutions of XP1 in XP2 and evaluation of these solutions Need to change the getFromDB methods to include order by name in XQL 10 3 We need to look into the va
70. may make a decision to break an impasse If the project manager finds he is not able to make a proper decision for whatever reason the project advisor will be consulted and his word will be final External Conflicts This refers to a dispute between the project team and the project sponsor In this event we refer to the terms in the external contract 2 2 External Contract Contractor Plass Data Systems A S PDS Ved Fauergaarden Tastrup M llevej 12A 4300 Holb k Project Group 3Continents 3Con Contract Period Aug 1 2001 Nov 30 2001 Final Product Delivery Nov 30 2001 Deliverables Written report Prototype software on CD 3Con retains rights to resultant software PDS is granted the right to use or further develop the software without incurring any costs provided the usage is within PDS PDS may not sell or provide external organizations with the software without the permission of 3Con During the project period 3Con will not receive fees Should PDS request 3Con to con tinue developing the product after the project period a renegotiation of the contract would be required 3Con is in no way judicially liable for any result direct or indirect due to PDS s use of the delivered prototype 32 CONTRACTS CONTACT PERSON MEETINGS COMMUNICATION FACILITIES COOPERATION PDS LOGO PREMATURE TERMINATION OF CONTRACT External Contract PDS has assigned Preben Klavsen and or Benny Bech as c
71. monthly salary CHANGES Since Sept 1 e Ability to create new types of letters and associate these with a new status type PROJECT MANAGEMENT 11 XP1 MID WAY REPORT IN PROGRESS MAJOR PLAN DATES Report Document e Ability to edit the existing letters e Completed First functionality implemented as a skeleton system e Create database tuples of all necessary entities except participants e Print one letter type out some required data fields are not yet included in this letter 1 3 Report Document e Foreword e Introduction e TOC Project Establishment Initial Requirements e Client Server architecture e Server Side Scripting e Methods amp Tools Development method Tools Technical Prototyping e Iteration 0 Prototyping User Interface Test Database e References Not updated recently Appendix Data Dictionary Project Management 13 Plans 14 Weekly reviews 15 Baselines and reports XP 1 to be completed by Oct 9 XP2 Data Dictionary Po RD S User Manual 1 Aug 3 Proj estab complete 12 PROJECT MANAGEMENT PROJECT TEAM EXPENDITURE PROJECT ESTABLISHMENT BASELINE DESCRIPTION Baselines amp Reports OOO NS OTe iN ee mm m A O N m O Aug 8 Proj estab to MC Aug 22 User prototype evaluation Aug 29 User follow up prototype evaluation Iteration 0 user interface complete Aug 29 XP Iteration 1 skeleton system complete Sept 14 Sept 19 I
72. n using unfamiliar or tools new on PROJECT MANAGEMENT 19 PROJECT SITUATION DATABASE DESIGN 3 BASELINE DESCRIPTION INTERMEDIATE PRODUCTS AND PREREQUISITES CRITERIA FOR EVALUATION PROCEDURES FOR EVALUATION DB 3 SEPT 17 BASELINE REPORT RESULTS PROJECT SITUATION Baselines amp Reports the market Another possibility could be to reduce the risk by sticking with familiar tools and changing only when there truly is a need for change Our misjudged evaluation caused us to deviate from XP with the goal of having a product to present at the user evaluation Therefore did not do refactoring during the iteration General In relation to timeplan Approaching important conditions XP2 user functional test Oct 5 Action Completed Task cards by 27 9 An intermediate phase between XP1 1 and XP2 will be used to refactor and complete tasks from XP iteration 1 Next Checkpoint report Oct 8 This baseline constitutes the connection between SQL Server and Java There has been established a connection between our Java code and the SQL Server through the use of JTurbo JDBC driver Technical prototype document explaining the steps hereof Connection established and functioning between Java and SQL Server Internal evaluation and test of database via java classes e Quantative Java code to connect to DB via JDBC Data Dictionary DB created Can insert and retrieve from DB Some tables need test data e Qualit
73. nType method which solved a big prob lem when using the getFromDB method Carsten was able to get most of the overview done but without links 10 5 Day at Plass e Move customer number in on overview e Move 2 out of 10 also to the right No column headings on overview e No city entry necessary get from postnummer e Pages should notify somehow that you did not press slet felter e Focus e Should go back to first field Keep duration as it is now e Error messages should be identical in format e Should not erase data when you put in the wrong text e Course boxes should have values already showing In course page links to the overview page do not work Should be able in person to create multiple people for a firm without having to search for a firm every time Error message in register for max persons and should not already be in that course Overall they liked it When asked what was most important for the next iteration Benny said error handling We did a weekly review and we talked about the weekend s assigments Harvey code Paul XP Carsten error handling Jama user manual 10 10 This week the minutes start on 10 10 but on 10 8 the group stayed home to do docu ment work and 10 9 the secretary was sick but document work was continued We went over the XP1 and XP2 documents that Paul brought in We also discussed what to do about comments from PDS about changing the course page to include regist
74. ning experience improving our abilities to make progress However we did not place enough weight on the difficulties we would incur during technical pro totyping About 2 days behind XP2 and the user functional test which requires that we have a full functioning system in miniature that is each element of the system is present in the first version although the functionality is not built in full Change of plan Overtime may be necessary Sept 14 XP1 1 18 PROJECT MANAGEMENT XP ITERATION 1 1 BASELINE DESCRIPTION INTERMEDIATE PRODUCTS CRITERIA FOR EVALUATION PROCEDURES OF EVALUATION XP 1 1 BASELINE REPORT SEPT 26 RESULTS Baselines amp Reports This baseline will control the second part of the first iteration It will involve all of the products as well as the processes The starting point of the processes will be XP e Documentation of involved basic practices of XP e Task cards with their function list e Implementation of all task cards Creates except Participant Print with the follow ing result Test writing which means codes to be tested for the task java beans to control the functionality of the task JSP pages to generate the XHTML files where applicable e Connection of the DB All codes should satisfy the code standards in the project establishment Test codes should contain all required methods to test the involved task e Minimize the use of Sessions and cookies to fulfill the use
75. ning the onTrack course administration and participant progress tracking system requires Java and a web server capable of running JSP pages Following is an installa tion guide for e Tomcat 3 2 running through Forte 3 0 CE Java 2 Standard Edition v1 3 1 Follow the standard installation procedure and add C jdk1 3 1 bin to your PATH e The code Unpack the files from X myjava exe where X is you CD ROM drive to C myjava e SQL Server 2000 While installing you are asked which kind of authentication you wish to use Make sure you click SQL Server Authentication When the installation is done start the Enterprise Manager Click on the server and expand the tree Creating the database Click on the Databases folder and right click in the right window and choose New database Enter the name PDS and click Ok Creating the user Click the Security folder then the Logins folder and right click in the right window and choose New login Enter the name ontrack and click on the SQL Server Authentication and enter ontrack in the password field below In the Database select box in bottom choose the PDS database you created before Click on the Data base access tab in the top Check Permit for PDS and in the Database roles check db owner JTurbo 2 0 Unzip the file The placement of the JTurbo jar file depends on which web server you are using so you will be told later what to do e Classp
76. nk omprioriterer krav specifikation e 15 versioner p 3 mdr e Metafor Jesu lignelser forklare et problem p en anden m de e Syntax dk bruger 20 30 af XP e B r ikke teste trivialiteter 2 slags test hos PDS e Planlagt test de dele man ved man har ndret e Systematisk test de basale ting daglig brug af systemet e Monkey test Pr ve at teste for umulige ting fx bogstaver i et tal felt MINUTES 41 MINUTES 2001 08 13 External Contract Brug stack dump i java Forskelligt hvem skriver storycards Benyttet Overordnet kravspecifikation kritisk modspil for kravspecifikation over for kunder Vi vil gerne prioritere storycards hvis i selv skriver dem Umuligt at tidsestimere hvis man er ny eller hvis man er i et nyt omr de 3 tidsestimeringer f rte til liste med over 200 punkter Optimistiske Realistiske Pessimistiske Fejlhandtering 50 af tiden Forvent det uventede Hav altid en superklasse til n sten hvad som helst Laver altid prototype med userinterface Exploratory prototyping i realistisk omfang Stress test technology prototype Skrive sma tests Klassediagrammer Bliver brugt uformelt og til diskussioner ogsa til indbyrdes kommunikation Send sp rgsm l pa forh nd Design kriterier er 2 ting Visuelt ma ikke virke fremmed skal vere genkendeligt Bagved overskueligt PDS har skermbilled test med indbyggede fejl der blev fundet flere end der var lavet Weekl
77. nternal Project review Sept 20 Counter group both T and K groups XP Iteration 2 Overview participant error handling complete October 5 XP Iteration 3 complete October 22 PDS evaluation October 30 Nov 1 Final proofreading and report correction Nov 2 Printing CD Nov 2 Delivery XP pair programming helps maintain good working relationships Informal meeting for socializing outside the project working environment also appears to be help the team The ambition level since inception of project is as high as ever and the results to date reflect this It can be said that as we go the level of ambition grows Still we are aware of the limits the project places upon us and are realistic in our goals Despite great difficulties at times everyone pushes on to solve problems and it seems we thrive on problems occuring and finding solutions to them Not to say though that at our worst moments of frustration we hid it Frustration was obvious but it lasted only briefly and does not affect the outcome Dkk 192 000 August 2 1 4 Baselines amp Reports Baselines are used as a means of checking project state at a specific checkpoint in time A baseline evaluation report is written for each baseline to document the baseline evaluation and use for revision of baselines and plans Project establishment completed The team has been assembled several times providing the socialization needed at the inception phase
78. of forte4j fastjavac compiler c junit3 7 junit jar NOW we can compile then run the Firm_test java file in the dos prompt c myjava gt writing junit TestRunner beantest Firm_test and it tests For the DB connection we did same steps as yesterday Yesterday there were an error with calling the closeDBConnection method with out closing the resultset and statement and also free the memory space making both equals null I we try to insert a duplicate record to the DB the system wil neither accept nor crash but we get SQL exception then we have to catch this exception with user friendly message eIn the Firm_create java bean we use setProperty in one line to avoid repeating lines of each text field but we have to have same names of bean variables and text fields in the form It was an unnormal day because of America Under Attach event We start 1070 So far we done 2 create task cards Firm and course type completely and two oth ers Person and Location partially we will try to finish those task cards and then start writing remaining task cards First step of today will be to make clear what to test for the tasks For the DB we should have a SQL script to create a metadata to the DB The following is brainstorming of what to test connection null getFromDB is never called with PK field empty Form parameter names bean parameter names Inserting doubles gives error message Input bean bean getFromDB 54 M
79. on_no int name_ String address String postcode String 88 XP TABLE 35 Location Data Dictionary for Java Classes Attribute method Data type Comment city String phone String fax String email String www String food String overnight String practical String directions String comment String Location N A Constructor Location int location_no String N A Constructor name_ String address String postcode String city String phone String fax String email String www String food String overnight String practical String directions String comment getLocation_no int setLocation_no int location_no void getName_ String setName_ String name_ void getAddress String setAddress String address void getPostcode String setPostcode String postcode void getCity String setCity String city void getFax String setFax String fax void getEmail String setEmail String email void getWww String setWww String www void getFood String setFood String food void getOvernight String setOvernight String overnight void getPractical String XP 89 TABLE 35 Location Data Dictionary for Java Classes Attribute method Data type Comment setPractical String practical void getComment String
80. ons We agreed that there was great value in testing and prototyping has saved us from problems much fur ther down the road because using OO we would have uncov ered the problems we did with the UI before it was too late It also seems though that prototyping is a somewhat vague in what activities are part of the method and can lead to some con sideration of looking for suitable combinations of methods The week also covered E R data analysis and database design These too were subjects for many good discussions on the rela tionships business rules and other considerations for the data base Results We are proceeding according to plan with a slight deviation due to the need to rework the GUI after the PDS evaluation It will be re evaluated the following work but our work continues The report document is well underway Our database design is almost in place and should be imple mented next week Individual Work Ok Team No major problems Some difficulty in maintaining work disci pline such as all use tool agreed upon and standards 24 PROJECT MANAGEMENT Weekly reviews TABLE 5 Weekly Evaluation Week 34 Element Comments Advisor meet Very positive We found the advisor to have a good attitude and comes with useful advice He is open minded to the new ideas we are working with Carsten s eyeglasses Same tape holding them together TABLE 6 Weekly Eva
81. onsistencies We will evaluate the establishment phase asking ourselves the question Are we now better prepared to deal with the project If the answer is yes we ve done a good job If the answer is no we must rethink any part that may provoke a negative answer Corrections to the documents will be made as needed Approval by the project advisor will be considered acceptance of the project establish ment e Quantative Project estab document although not taking every possible aspect of project esablishment into consideration is a complete document e Qualitative OK approved by advisor and recommend to place in report versus appendix e Deviations amp Explanations Adjust Company profile more risks improve stan dards have separate chapter on tools 14 PROJECT MANAGEMENT PROJECT SITUATION DATABASE DESIGN BASELINE PART 1 DESCRIPTION INTERMEDIATE PRODUCTS AND PREREQUISITES CRITERIA FOR EVALUATION PROCEDURES FOR EVALUATION DATABASE DESIGN BASELINE PART 2 DESCRIPTION Baselines amp Reports General very early stage In relation to timeplan No deviation Approaching important conditions Result of XP research Availability of requisitioned software from school Action Next Checkpoint report 20 08 document first general baseline This baseline constitutes the conceptual and logical design of the database Conceptual design Entities and relationships found ER diagram dra
82. ontact person s to 3Con Harvey Shaw for 3Con PDS agrees to meet with 3Con as necessary maximum once per week though in exceptional instances if E mail or phone are not sufficient to solve a problem an extraor dinary meeting be held Normal meetings to be scheduled 1 week in advance In addition prototype testing and evaluation will require meetings which may coincide with any informative meetings mentioned previously 3Con will inform PDS of the project s progress at least once weekly by e mail telephone or via the 3Con Website www rhs dk dmu_gruppe15 PDS has agreed to provide 3Con with the use of minimum one PC with necessary soft ware and a workspace 3Con will request this at least 2 days prior to need Handbooks and other literature are available to the 3Con group at PDS PDS and 3Con will work together in such a manner as to solve all difficulties regarding the product or the process in order to ensure the resultant deliverables are of the highest quality and to the satisfaction of both PDS and 3Con 3Con has permission to use the PDS Logo for the report and on the 3Con website It will be stated in both report and on website that the logo is used with Plass permission and that the products are not in any way PDS A S products PDS may prematurely terminate this contract To do so requires the following e A formal meeting with 3Con to discuss and if possible resolve situation PDS must call this meeting with one week s no
83. ontinued work on Participant and wrote a test for Participant for a state change P and H continued edit_person and completed that as far as changing the name is concerned Jama left at 1 00 and we did the weekly evaluation 10 22 Last day of coding before code delivery to Plass We made sure that we started with tests Tests were not as simple as they seemed The tests are often inter related and run ning one test could break another What was needed was to run the set up method that would reset the values for the test objects C and J found that it was important to keep the same C5 number when changing from one course to another while working with Course administration H and P finished the Show letter page and afterwards tried to add error handling to the Firm page in the event that a firm was searched for and not found 10 23 Today we had our last presentation of the product with Plass We met early at Plass and fixed all the unit tests first We then went though the functional test and we found that in Participant_register we needed a while loop to add more than one participant We discussed the need to go through each file s code on overhead for the group so that each member has an understanding of the code We then collectively tried to tackle the problem of making our own error handling not dealing with SQL exception but couldn t figure it out We made new acceptance test format to have them test all functionality Commen
84. order no and better seperation of edit course and participants HAS BEEN TAKEN CARE OF SEE NEW LAYOUT e Location Text areas missing Forplejning Overnatningsmuligheder Praktiske oplysninger Kommentar that SHOULD NOT be printed Kgrselsvejledning e Participant create Customer no and Customer name should both be there C5 num ber should go below Course_no C5 number should be entered if a course is chosen e Participant edit Search by firm name Firm create Get SQL script from Benny ASAP Starting point for user interface was we don t care which turned out not being true User interface requirements gt in requirements document Coming courses page should have links for each participant click on the course or firm to view change ADVISOR MEETING Too many files sent Carsten s bad On the right track not onTrack or e Parallel activities Evaluate chapters seperately Look at ER for Course type and Course again Consider further use of the system e Make table for some of the relations and not jus the entities is what he usually does e Add flexibility to system don t listen to what the users say If you have imple mented the future further use of the system and the users come to you and say they want this and that without knowing you have already implemented it it s VERY easy earned money hehe e What is basis for choosing just exactly this prot
85. otyping model e New methods that we haven t learned anything about is good higher grades Don t explain XP just use it XP is just a new buzz word for prototyping e We do technical prototyping exploratory e What part of the system is responsible for testing the UI Equivalence classes Do research Is one of the ways to do black box testing EXAMPLE Instructor 1 search for one that exists 2 search for one that doesn t e Prepare SQL for results of 0 1 or many matches MINUTES 47 MINUTES 2001 08 24 MINUTES 2001 08 27 MINUTES 2001 08 28 External Contract Test Problems and solutions e Next meeting Thursday 30 8 2001 at 1300 hrs Technical protoyping test the tools we use SQL Server Word Frontpage We were flexible enough to change to GoLive instead of sticking with Frontpage and refactoring the dirty code unreadable code Designed user interfaces and reinstalled sw on machines all day Problems switching with GoLive Data dictionary for everything code related DB baseline UI baseline Tools we will use Visual UML amp UMLPad Docs due friday e Storycards All ASP vs JSP CF e Tools update CF Testplan HS How much of XP do we want to include What are we using and what are we not using Thursday Create database user real data no Mr Piggelwiggely We experience difficulty writing the use cases because we had to regenerate ignorance about the
86. pite some code might run at one moment we are doubt the next if there is a break down which often is caused by the unstable IDE Forte The result is unn cessary changes in code and much lost time Next week KIM List Problems and Solutions as a reference XP Testing was very weak in XP2 Refactoring was strong Writing task cards and estimating was strong in particular since the scope of the iteration was properly judged Concentrate more on testing Make it a required prerequisite to coding If tests aren t written explain why TABLE 12 Weekly Evaluation Week 41 Element Advisor Comments Good meeting Very useful com ments on a missing part for our XP Iterations something that tells what the inputs and expected outcomes are for the iteration in other words What the hell are we doing Next week KIM Add to document points on What it is each iteration is about Agenda Calendar is imrovement Code Refactored with a Super Class elimi nated lots of redundant code Document Brought up to date with Iteration 1 and 2 Good that we got some docu ment work done this week as it was become to distant an activity PM Should bring more home baked cakes Might have been useful to have posted a wall chart tracking how many and what tests were done to motivate testing Team Very well functioning and fun group to work with that achieves results XP
87. pletely Long but we already Yes JSP unknown know alot of it MINUTES 2001 08 29 Demonstrated the prototype PDS went through the screens and gave us feedback Started doing stories tasks Lunch More stories correction of screens STORY CREATE COURSE User choose Kursus from the menu In the Sgg opret box the user puts in the desired course number adn clicks the Sgg opret button The page for creating a course will be loaded with empty fields The user then fills out the relevant or known fields and clicks the Gem button MINUTES 49 MINUTES 2001 08 30 External Contract What would the difference have been if we had made PDS write the stories first We had the existing use cases in the form of the user screens given The user involvement in the project is not as big as it should have been according to the XP idea It is a step back if we have to write the stories We are adjusting to the method How does XP go in hand code from other places such as Anders RecordSet2Table Technical prototyping Does a tool fulfill our requirements what do we need tool to do Split up the TOOLS section and put the HTML tools into it Simulate stress on web db server make program that loops HTTP GET ANALOGY You start with the basic things in a car frame wheels and engine and then add extras A C power steering etc There is enough elements of risks in the project so we choose a language we a
88. r for max persons and should not already be in that course TABLE 54 User functional test Iteration 3 Test Open Course Overview Do following Click Location Link Create Result Click Course_Type Link Create OK course_type created 108 XP User Tests Iteration 2 and 3 TABLE 54 User functional test Iteration 3 Test Do following Result Click Course Link Create Tab order incorrect Search for the course OK data for comment and room no not shown not implemented as part of the iteration System dates long in future cause crash Click Firm Link Create Crash After debugging all Submit a second time to pro was OK voke error message Error message for PK in Jav aScript Alert box Click Person Create Torben Benny Bendt Click Tilmelding Register 3 persons to same After search focus should be course Search on first person Tab order incorrect Check Overview for new participants Click Link for the course the participants were added to Delete participant from the course OK On Course Page Change persons course Open Course Overview Change a persons status Check the change OK Click Print Link Click the person Status was changed for OK Go back to Print Page Check person is removed OK Click Person Link Update a Name Check Drop down box for name change Change relation to firm Search under new f
89. r idea is the separation of the java codes with html ones MINUTES 53 2001 09 12 2001 09 13 External Contract e How did we implement to test the DB records to avoid the duplicate records Do we make a separate bean to do so NO DB capability with the primary key will check and gives an error e After checking the task card we find that we were very close the implementation of it and we will make the necessary correction for the rest of the task cards Paul and Harvey continue to change the task cards according yesday s work e They finish to alter the task cards and they make a table to estimate the engineer ing time needed for each task e Then they start making Person Create task with needs to work with Firm Create task card There is impossible to create a person with out Firm Carsten and Jama goes to implement Firm_Create task card The following are steps to implement Firm_Create task card e We copy and paste previously created files course_type_submit jsp Course_Type_test java Course_Type java to make the correspondent files for Firm_Create task then include the missing variables and methods for these vari ables Compile them but we couldn t Problem is import junit framework set the classpath in control panel doesn t compile copy junit jar file to the common folder of the files c myjava lib ext doesn t work delete the classpath c junit3 7 junit jar doesn t work set the classpath
90. r in forms Not everything tested inter nally prior to user test Internal functional testing correct and no changes immediately preceeding user functional tests Dependency on unit tests Don t rely completely on their success If a method doesn t have a unit test your tests don t let you know if the method works SO either unit tests for everything or both unit and other test types needed Underestimating coding capability When a unit that worked yesterday or a minute ago starts malfunctioning believe in the codes quality and don t start changing it to fix an error There is a good chance the problem is technical in nature such as a mal functioning server or IDE Forte broken file error We don t know what causes this to suddenly occur fairly often but deleting the class and temporary java files often solves problem If necessary stop restart Forte School net down during autumn break Discuss with sys admin Task estimates way off More experience estimating always estimate tasks Dynamic test data Static data so it is not always necessary to change test code Working on one DB via net Use independent 100 equal db s in regard to their design Session beans Provide different id names if it is necessary to have sev eral instances of the same class in sessions XP GENERAL PREREQUISITES Problems amp Solutions 7 0 INSTALLATION GUIDE Run
91. r requirement e User approval e JUnit for automatic test Internal testing by the group e XP practices where applicable User functional test e Quantative Code Course Course_Type Firm Location Person Print in JSP and Java Participant moved to XP2 Not enough tests written Document XP intro and XP1 is documented in the main but not completed Com pleted task cards are handwritten not in electronic form e Qualitative User approval after functional test which was not a written prepared test but more like a technical walkthrough We have used the XP practices of pair programming writing task cards evalating time needed for tasks We did not con centrate on JUnit testing in the XP1 1 baseline Our own test at the last moment before the user evaluation revealed many errors due to changes and we were able to make a speedy recovery but with no time to spare before user evaluation e Deviations amp Explanations Our coding is rusty after summer vacation and a long school period without much coding We basically have no idea how long time it takes to complete a unit as determined by task cards Therefore our evaluation of time usage was way off In this first iteration we planned to do far more than possi ble and this put us under too much pressure to deliver by the time of functional test Additionally we ran into many start up problems with tools which points to the need for an extended technical prototyping period whe
92. ration of participants We decided to leave it as is We discussed things that were missing in the document We made corrections to documents for delivery to Claudius MINUTES 61 External Contract Carsten sent his error handling document to Claudius later from home Jama worked on the logical view text and diagram The day was cut short because of a meeting that Den Danske Bank was holding so we stopped at 1 o clock Some of the members went to that meeting 10 11 Today we deciced to look at task cards for e Course e Overview includes altering the page layout according to acceptance test e Error handling for Participant e Print e Person edit e Course date MC came and postponed our meeting until Friday at 11 o clock because he got the doc uments too late We decided we needed a refactoring of the Course bean to include an attribute that would keep track of current number of participants This was in order to reduce database access The original idea was to make a SQL statement that would return the number of tuples in a given course Carsten chose to use the select to stink method Harvey pronounces donkey as dunkey well he s from New York We added test to the task cards to make sure that we did them Carsten updated and made sure that both machines were working for the next day s pair programming We made a list of daily work practices to add to the survival kit 10 12 C an
93. re Badly in need New meet ing for Monday about content This helped us focus on structure point until Monday Discussion Still going strong Generally discussions that bring a lot of questions to surface but we sometimes forget decisions where necessary wasted time for discussion It s not always possible to decide at moment this situation should be recorded on KIM PDS User test No written by user More a technical walkthrough Results We are satisfied Software is moving forward and although code is not refactored and design is not OK it is simple accord ing to XP We ll get it all by end of project PM OK work Individual Work Sometimes deadlines are not being kept Requests for docu ments are sometimes ignored PM would prefer to receive a date when something is definitely ready than no answers 26 PROJECT MANAGEMENT Weekly reviews TABLE 9 Weekly Evaluation Week 38 Element Comments Team Productive Solves problems Need to listen more to partener when pair programming Reviews MaRT group did a great job Lots of good points which we focused on and corrected Kenneth Unfortunately we did not get through his review of our work We had a tight schedule that day and felt it was more important for him to get our feedback but we got lots from him and also read his points he made on hardcopy TABLE 10 Weekly Evaluation Week 39 Element Advisor Comments We can have some doubt about hi
94. re familiar with Coding standards HTML done Java Swing graphical element names JSP has cleaner code than ASP ASP is disorganized no datatypes ADVISOR MEETING e Weare NOT doing a textbook but a project so not so much theory Don t mix general comments in the conclusions you make during chapters Keep down the introductory theory e Comment only theory where it gives some problems e Only 1 or 2 pages on XP theory e Write only about thoughts Is the text too small e Result of prototyping is a navigation diagram e Reference missing to test document in prototyping document e Students developers mixup e Discuss relations and make a conclusion This is the drawback of not doing OOA Lots of iterations in ER e Problem domain still a bit unknown Technical prototyping eliminates high risks of new tools Do it where tools might cause problems e Squeeze it in the relevant prototype section e ASP vs JSP MC preferes JSP client server functionality placement not dealth with e yet e Big company gt Own methods e Small company gt No methods 50 MINUTES MINUTES 2001 08 31 MINUTES WEEK 36 External Contract ASP JSP Learning time e Who knows what The risk being reduced if we choose JSP Point ou the good and bad points Lots of similarities e We chose JSP because DB Looked at options but it is highly unlikely e Another way might have been to do this e Same as
95. ring address 1 String address2 String postcode String city String phone String fax String email String contact_person String Firm N A Constructor XP 87 Data Dictionary for Java Classes TABLE 34 Firm Attribute method Datatype Comment Firm int customer_no String N A Constructor name_ String address1 String address2 String postcode String city String phone String fax String email String contact_person setCustomer_no int customer_no void getCustomer_no int setName_ String name void getName_ String setAddress 1 String address1 void getAddress1 String setAddress2 String address2 void getAddress2 String setPostcode String postcode void getPostcode String setCity String city void getCity String setPhone String phone void getPhone String setFax String fax void getFax String setEmail String email void getEmail String setContact_person String void contact_person getContact_person String equals Object obj boolean Compares two Firm objects storeInDB void INSERTS this Firm in the Firm table getFromDB int customer_no Firm SELECTs the Firm from the Firm table that has this customer no getAllFromDB List SELECTs all the Firms from the Firm table toString String Return name_ TABLE 35 Location Attribute method Data type Comment locati
96. roblematic Missing numbering of chapters Loses overview because diagrams needed an explanation of why there are no dia grams before this point Evaluate initial risk list in conclusion chapter Say something about XP and DB design Liked tools and technical prototyping Some kind of paragraph in between tools and technical prototyping Evaluation of tools in the conclusion of that section and a better conclusion more specific to prototyping 66 MINUTES External Contract Client server chapter no what is a tear re evaluate Recommence collective chapter for diagrams 10 25 We talked about adding a chapter called the outcome which includes the diagrams and list of completed functionality We will send the following to Claudius on Monday The outcome chapter The conclusion chapter Iteration 3 chapter 10 26 Last day hooray C finished data dictionary P wrote outcome chapter H and J worked with appendix Later P and H worked on various document tasks and Jama tried to make class dia gram with JVision Discussed one person cleaning up code over weekend Also stopped by the print lady but no one was home C and J left early and H and P continued fine tuning Things that were left for Monday Carsten works on alternatives section in database chapter Finish iteration 3 Add personal evaluations Do conclusion Finish survival kit Finish outcome chapter MINUTES 67
97. rsten Web DB not OO applicable Harvey User interface design Harvey TIMEPLAN Harvey has timeplan will e mail to others e Meetings with MC Wednesdays e If we have informal meetings class will end by 12 00 on fridays Jama and Carsten read and corrected the project establishment for Harvey Lots of things was messed up from Harvey s side Remember to forbid Harvey to come on mondays Baselines for prototypes e DB e Intranet Frontend e one per prototype Requirements for 1st prototype Send PDS the requirements we have and let them add modify the list First prototype e Get interface right e Usable and informative Requirements are presented on the screen What how to design screens System definition Business things Torben doesn t have to do his work at the same computer he can do it virtually anywhere there s a internet connection First prototype is purely interface design The database will be developed concurrently but has no relation to UI Prototype 1 e Objective The prototype is able to present in logical and easy to use manner data stored in the database to fulfill requirements 38 MINUTES MINUTES 2001 08 07 MINUTES 2001 08 08 External Contract How to achieve Navigation map Logical view Conallen UML XP implementation phase Maybe we should use different feedback methods for each prototype e Schema e Interrogation with physical punishment Nothing
98. s opinion of our project as it has many new facets Next week KIM Agenda Put a weekly Calendar on bottom change agenda template Discussion Document Good to get structured Need to remember to work on as much time is planned for coding FONTS TEMPLATE Good with refactoring improve ment in readability and design Screens corrected Testing seems difficult to determine what to test and get the tests written rather than just writing actual code We need to work on testing Test on Task Card TABLE 11 Weekly Evaluation Week 40 Element Comments Next week KIM Results We reached most of the expected Complete Overview as part of results for XP2 although the Task XP3 overview was only partially com Complete unfinished parts of XP plete iterations such as printing in XP3 Problems There were many technical problems Make sure to capture exception The worse was the expiration of the trial version of JTurbo our driver for the the DB connection Had we have realized at an earlier point that writ ing out exceptions was a HUGE help the problem would have been uncov ered and solved fast instead of the approx 2 hours that were wasted messages in output PROJECT MANAGEMENT Weekly reviews TABLE 11 Weekly Evaluation Week 40 Element Team Comments We have to learn to trust more in our capabilities This point is determined by the fact that des
99. s 2 E R Prototype Plan Database DB conceptual design DB logical design Evaluate Prototype Intranet Navigation UML Logical View Write Test UI Implement Test Evaluate User Documentation User Testing User Evaluation Evaluate amp Revise 32 Doc amp Corrections PROJECT MANAGEMENT Plans FIGURE 4 3 Week Plan 27th August 14th September 3 Week Work Plan Aug 27 Sept 14 Plan date 2608 revised 0809 Day red done green not done Personnel CJ free bestar Checkpoint Evaluate baseline Intranet UI Revise GUI Implement Dev evaluation Prototype I user eval 2 Techical Prototyping Test research trial runs JUNIT JDBC Forte IDE XP Exploration Determine tasks Commitment Tasks evaluate select Steering Select code team Write Unit Test Testing Coding Refactoring User Functional Test Database Implement DDL Populate w data SQL DML Doc amp Corrections Editor s review Cover Page First Draft Bread and Coffee PROJECT MANAGEMENT Plans FIGURE 5 3 W
100. s a java util Date into a string date of the format YYMMDD date2SQLDate java util Date date java sql Date Converts a java util Date into a java sql Date sqldate2Date java sql Date sqldate java util Date Converts a java sql Date into a java util Date equals Object obj boolean Compares two Course objects storeInDB void INSERTS this Course in the Course table getFromDB String Course SELECTs the Course from the Course table that has this course_no course_no getAvailable List SELECTs the course no from the Course Date table that are in the future only if the Course last several days it will only appear once getOverview List Same as above but gets all the fields for each Course getAllFromDB List SELECTs all the Courses from the Course table toString String Returns course_no course_type location_no room_no max_persons instruc tor TABLE 31 Course_Admin Attribute method Datatype Comment db Db error_list List Contains the errors found during methods sgl string String The SQL string to be used on the database bean_type String The name of the bean type to be processed Course_Admin N A Constructor updateDB void Performs an INSERT via Db SQLInsert getFromDB Object Performs a SELECT via Db SQLSelect getAllFromDb List Performs a SELECT via Db SQLSelectAllQ getIntFromDb int Performs a S
101. s to do one job Need to make requirements that are verifiable Explain how functionality for each iteration was determined at beginning of each Itera tion chapter Make a User Manual What does the system do how do you do what you want to etc Should be something that can be read independently of report Include screen shots navigation diagrams etc 56 MINUTES 25 09 2001 External Contract Function List for appendix DB section in Iteration 0 explain this does not reflect working practices but best place to put Error Handling could make a DB table of errors Get these into a hash table when sys tem starts No meeting next week Exam no theory just questions like how would system look if it was distrib uted or what is difference between C and java packages none C How deep is use ful the advisor s advise Its worthable but we will evaluate how to apply it What is the use of interfaces as they are only a signature of methods One of the main use is to keep the consistency of the signatures of the methods used in different classes and each class can implement those interfaces as they want but the condition is to write all the signatures of the implemented interface Navigation diagram seems complex Is it possible to make simpler According the user requirement and the test of user interface prototyping this is what they need for We need a user manual which describes How to navigate
102. scussion unless we make a decision or we have to write on the KIM list on the wall The review of the last week s process we find out that there are some solved prob lems but there is no clear way how did we succeed those problems Therefore what was wrong with our processes Do we use hit and run process coding or did we make hierarchal building step by step We agree to make hierarchal coding from down to up as we are using XP practices i e not to make all codes one time and check it where the problem lies e Baselines of DB3 and XP2 we checking the quality as well as the quantity of these baselines XP2 Before checking this baseline we have to make sure whether we succeed or not the XP1 The difference between both lies description and intermediate products DB3 Why is necessary to have some changes in the DB design Because of itera tions If those changes are necessary we will make some alternatives and the deci sion of one of them depends the group discussion user requirement advisor s advice and our implementation capability e Print all documents to put in order and make ready for counter groups delivery 24 09 2001 Question about thought of comparing prototyping to OOAD in problem description Problem delimiting should explain this is what we are looking into not what we have excluded Pair Programming can be good to build a knowledge base but it requires resources and why should a firm pay 2 programmer
103. tabase SQL DML Doc amp Corrections Editor s review Doc Review Report work Cover Page Second Draft Proofreading amp Correction Printing Docs and Code on CD Delivery Bread and Coffee PROJECT MANAGEMENT Project Status FIGURE 7 Document Finalizing Plan ACTIVITY Corrections per advisor Complete Task Estimates Appendix Iteration 3 Iteration 0 2 Format Table of Contents Figures Diagrams completed new Problem Def Answers Conclusions complete Evaluations complete Layout Corrections Cover Decision Proofreading amp Correcting Corrections EE Proofreading in evening Hard Cop Printing Docs and Code on CD Deliver 1 2 Project Status STATUS PR 1 8 EXTERNAL CONTRACT Understanding of system functionality to date e Assign applicant to course e Create course e Delete course e Close course for more applicants e Provide search capabilities e Prevent doubles of same customer e Produce printed MS Word documents merged with db data e Information available to others than Torben Transportation instructions Locale information for area where course is held e Hotels e E mail participant list PROJECT MANAGEMENT SOME KNOWN REQUIREMENTS PROJECT ESTABLISHMENT DOCUMENTS PROBLEM DESCRIPTION COUNTER GROUP WWW
104. tada LO LI LAJA y Firmaer Hee 4 ie M MoA GOTH eos Deer c Bopa urat Ferera Ejner MAY GAT 1021 XP 77 Survival Kit FIGURE 16 Firm fran Mee Fae ea Pot fo onal iwi User manual online help From the page and f r avadable cormectons you mil ied cut te racersary help to une far The Seip faailty s based the Ginctinabty of cack sereen As rer when poo date what 1 So for each screen cook waste pow tne i osagai and bck ot dfererg nereens jast bck the link foe Tht screen and find out howto use l Gring thet kit of each scenen you can Ead oot dane type ifr ret and kede requred Geld or nst of each mron To une thin oyen with be fellounng manan inks you howe 10 babe eta ston pude e Couse type Comme XP Survival Kit FIGURE 18 Person help How te manage the persoa screen On the page you can create and odi the persos dats n a fem The peson to be created rhodd be n s Ermis you carmi create a perzco miwat Ers Type the Giro render a the Bande r fied of the nids upper comer and kt seg besten same and addcess of the Gm wd appease at te Boek ofthe Esad hbe and the eaphoypee of tur Enn eegestered caber in the syges Gal appear n tee bot ef the drog duan bor The first option of tht dap down basis tont cf the rrplepee s name and Fors tha port you caz create s new person ofthe arcersed Sem put by type fre rew ners and if comment i there iz ary ia the conte sp org be
105. th it s test and include in the coding pool when it passes the test e Jama and Harvey continue writing print and course create task cards while Carsten and Paul continue to finish the implementation coding of location create task card Rest of the day we were fighting with Person harvey jama and Location Paul Carsten task cards e We postponed the meeting with PDS as we haven t finished product to show them So far we have two fully finished task cards firm and course type creates two par tially finished location and person creates and three written task cards course print and register e Why some task works perfect and others doesn t the aswer can be one or more of the following reasons Data we are trying to insert in the DB is not acceptable according datatype of the attributes and relations between the tables SQL statement syntax is different in the DB windows SQL analyzer and in the java codes pattern of single and double quotes From 17 09 2001 To 24 09 2001 The following section will describe the activities and discussions that take place in the MINUTES 55 External Contract RHS either in the group room or on the PCs 17 09 2001 There are two possibilities to the DB Login through windows authentication or to use a user name and password in the SQL pages e Some times there is discussion without a decision in the group To solve this prob lem we have to stick that di
106. this person no getAllFromDB List SELECTs all the Persons from the Person table getFirmPersonsFromDB int List SELECTs all the Persons from the Person table that has this customer_no customer_no fillSelect int customer no String Build an HTML selectbox with Persons using the method above toString String Returns person no customer no name and comment XP 91 TABLE 38 Standard_Letter Data Dictionary for Java Classes Attribute method Data type Comment state String letter String HTML formatted string String getStateQ void setState String state String getLetter void setLetter String letter void getFromDB Retrieves the bean with the name_ specified by setName_ from the Standard_Letters table void getFromDB String name_ Retrieves the bean with the name_ given as parameter from the Standard_Letters table void storeInDB Stores the bean in the Standard_Letters table equals Standard_Letter standard_letter Compares itself with the standard_letter given as parameter 92 XP Task cards 6 4 Task cards TABLE 39 Engineering task card Show_Letter Story number Task description Show Let ter Task estimate Software engineer JSP Bean e Open letter in word e Call get person e Call get firm e Call get course e Call get course type e Call get course date not yet implemented e Call get location e Uses
107. tice A written explanation of reason for termination including date for termination no earlier than date of meeting Should this situation arise 3Con retains the right to con tinue to work on the project until Nov 30 2001 For Plass Data Systems A S Date Place Benny Bech __ For 3Con Date Place Harvey Shaw CONTRACTS 33 MINUTES 2001 08 01 POINTS SYSTEM DEVELOPMENT External Contract 3 0 MINUTES OVERHEADS BY HS Project status e Project structure e Organisation e Working methods Not much to write on business part as this project is an internal development MAJOR e What systems development methodology is best suited for a relational database ori ented project or is it a combination of methods best used e Protoyping MINOR How will the database server MS SQLServer affect PDS course administration as compared to the Lotus Approach system now in use e Extreme programming Harvey s exercise about 3 things that will give us 13 1 Professionalism of report consistency Innovative thinking 2 Own methods taking best of others Thorougness 3 Consistency in presentation Comprehensive preparation for presentation Database design Analysis vs given TOOLS Carsten will make tools list ASAP THOUGHTS Prototyping by JD e Dynamic high level language e g Java e Database programming 4GL and database Throw away prototyping revolutionary is done to gain experien
108. ts already once committed Things yet to do Comments XP 99 Task cards TABLE 46 Engineering task card Person_Create Story number Task description Task estimate Person Create Software engineer JSP Bean e Call Person_Create JSP e Create Person bean with applicable variables e Call get Firm parameter from form e Set bean fields also checks fields e Call set Firm bean Get bean fields from DB for testing e If not found then error message e Open DB e New form e Store in DB e Call open DB e Close DB e Call get bean fields from DB e Equals x 2 for testing e Call show applicable bean fields name add tel customer_no e Call get parameters name customer_no comment e Call set Person bean name customer_no comment e Call store in DB e Call close DB Software engineer s notes Error messages e required field empty e invalid inputs e exists already once committed Things yet to do Comments 100 XP Task cards TABLE 47 Engineering task card Overview 1 Story number Task description Overview 1 Task estimate Software engineer JSP Bean e Call get list of coming courses e Loop Call get a specific course e Get dates and location e Print course no dates description location instructor current max p
109. ts from the gallery Seems like there were empty spaces in text boxes for location that could be why it starts somewhere else MINUTES 65 External Contract The same was also true for Course_type with text boxes Something wrong with course page tab order didn t retrieve comment from data base Failed save under firm create but that was because they changed the date Person page has wrong tab order problem saving comment because it erases exist ing comment and starts weird place Register tab order for second register pages Overview page they screwed with special cases until it finally didn t work They really liked the print page We apparently didn t test thoroughly enough with our own functional test We tested the original functional test but not the comprehensive one Next meeting at 9 00 next Tuesday 10 24 Today and every day from now on will be dedicated to report augmentation We first made problems and solutions list We then took a long time to discuss presentation possibilities So far we concluded that it should consist of Intro Harvey Demo Harvey Testing Carsten Architectual design Jama Refactoring Paul After lunch Harvey looked at requirements from iteration 0 and updating appendix We discussed a list of things that needed to be addressed in the document and did them Meeting with Claudius Overall impressive good Overview is still p
110. velopment of a product e PDS expect a prototype not a finished system proto vs OOAD e Web application gt not OO applicable e RDBMS gt no OO relationship We should list the steps of XP and protoyping side by side and see how we could com bine the two to make out own method Need system definition SQL Server intranet purpose of system fixed pitfalls etc XP STEPS e CRC cards e Write unit test e Coding Testing MINUTES 35 MINUTES 2001 08 03 External Contract PROTOTYPING STEPS e Establish prototype objectives gt Prototyping plan e Define prototype functionality gt Outline definition e Develop prototype gt Executable prototype XP STEPS GO HERE Evaluate prototype gt Evaluation report TENETS OF XP e Keep it simple e Code in small iterations e Fast release cycle Unit functionality testing a crucial part Modyfying the product after release maintenance Modyfying the product during development prototyping OBJECTIVES SUCCESS CRITERIA Should be measurable CLIENT SERVER BY JAMA Should we do validation as JavaScript on client or JSP or JavaScript on server What server to run JSP on DATABASE PRIMARY KEY Should show how many days the course lasts e g MSWORD2 260901 2 REQUIREMENTS Functional Non functional e View participant list e Print preliminary confirmation e Print confirmation e Print late application confirmation e Print course certificate e Prin can
111. w XP exploration Find out what a system should do story cards req spec Out the idea about educating system developers articl by Lars Mathiassen in the begin ning of the the system development chapter THEN WE DID THE USER SCREENS Jama has them on paper List if companies should be narrowed when selecting an e g dentist specific product Write about why HTML is good enough for what we are doing Physical DB design gives much to write on SQL Server 2000 MINUTES 43 MINUTES 2001 08 15 MINUTES 2001 08 16 MINUTES 2001 08 17 External Contract MEETING WITH MC e Good language e Red thread e Steering of project development method e Customer training courses should go in problem description DB development method In the beginning the was no method Then came the Bachmann method Chen introduced E R BAD no functionality Structured Analysis The result of E R and SA was Integrated System Development e Prototyping OOA e What methods and how e Tools do better discussion e To Carsten You can get 3 pair of frames for glasses for 1000 at Nordens Optik e Putting methods etc in the project estab 150 pages ok Tools why and alternatives e SQL Server vs InterBase reasoning choice Positions What about alternative group settings e g rotating PM e Counter group Haven t heard nothing from them yet Risks not enough on list risk that we want to incorporate ever
112. wn Attributes and domains found Primary and candidate keys found Attributes documented e Logical design Undesired feature removed multi value attribs M N etc Relations and foreign key attributes documented Integrity constraints achieved Normalization carried out Conceptual and logical design approved by advisor and PDS Connolly chapters 7 amp 8 e Submission of database design conceptual and logical to advisor and PDS for review e Internal review according to feedback from interests This baseline constitutes the physical design and the implementation of the database PROJECT MANAGEMENT 15 INTERMEDIATE PRODUCTS AND PREREQUISITES CRITERIA FOR EVALUATION PROCEDURES FOR EVALUATION DATABASE DESIGN BASELINE REPORT PART 2 SEPT 3 Baselines amp Reports Physical design document SQL script for creating tables and references amongst them The tables are designed in the simplest possible way not taking special consideration for futurization of the system SQL script version 1 done CRUD operations on the database possible through query tools Connolly chapter 9 Internal evaluation RESULTS e Quantative Conceptual logical design E R diagram db doc started DB Physical not created Scripts written e Qualitative OK Advisor had suggestions We may select to use the suggestion to futurize by adding tables not desired by PDS but not to add extra tables holding only primary keys e
113. y review HS Documents should be renamed _final if it is the final and latest version instead of date REPORT BASELINE Description Intermediate products Criteria for evaluation Docs predefined standards Consistency of content Advisor approval Procedure for evaluation 42 MINUTES MINUTES 2001 08 14 External Contract Proof reading Editor updates report status Delivered to advisor monday in PDF format Points for the agenda must have some time estimates Systems development overview e No OOAD e Good evolutionary idea e Prototyping advantages e Disadvantages of prototyping are solved by XP e Our version of XP Experiences with this method e Relatively smooth transition Write consequences of bad design things that will happen if they just convert the old system to SQL Server There will be small phases in between the major development phases to breathe and think Add flexibility to the plan Can we test JSP with JUnit Do we need Beans to do it e How do you test JSP pages CF HS will look at JUnit Need some classes to use JUnit Ask Anders to look at it Is it evolutionary prototyping when PDS will throw it the final prototype away and re do it in Delphi The answer would be YES because what ever they do with it is none of our business and out of our scope Refactoring When processing the code refining and simplifying the code for higher code quality and overvie
114. ything risk as a tool e Our project could look much more like the spiral model e Project establishment Approved by MC Don t send him it again Make whole chapter on Tools Project establishment has only a list Talked about testing of UI WHAT ELSE DID WE DO THIS DAY THAT S ALL THERE IS ON MY PAPER DB Baseline due for monday 20 8 Carsten Write about the tools we have tried before making the decision on tools we have Does the methods recommend a set of tools Coding standards in Java and SQL Carsten Write text for DB design You can picture the result of the DB design so there is no need to do all the steps Explain the ER syntax used only partial participation etc Database definition Course dates are multivalue atrributes 44 MINUTES MINUTES 2001 08 20 External Contract Q4PDS What number system are they using for their customers Can you delete a course from DB and still keep the participants in a table with the course_no only on delete no action Deleting the courses reduces the size if the DB tremendously over time You can still se the name of the course the participant has taken because the Course_type table exists What if a course_type is changed e g MSWORD97 becomes MSWORDXP Is there any reason for storing old course types LOOKUP Courses gt LOOKUP Course_Types IF Course_Types Duration THEN LOOKUP Course_Dates Diagrams of what we have for them Data dictionary
Download Pdf Manuals
Related Search
Related Contents
Adobe Photoshop 7 Basic User Manual PlasmaSyncTM Residential Series - AVI-SPL Document droit et responsabilité president User Manual (S3) Samsung SyncMaster Philips CD Soundmachine AZ1133 Vitreolent® - OmniVision JJ-CCR - Blue Label Diving Carnet de Prélèvement National Bécasse – 2011-2012 これひとつでOK!簡単手軽にプラスアレンジもでき Copyright © All rights reserved.