extreme coding workshop
DESCRIPTION
Extreme coding workshop. Tick-tock…. Extreme coding. A ‘just get it done’ mode don’t know the language? learn it! The basics are the same a loop is a loop is a loop don’t know how to do a specific thing? look it up, and get it done!!!! - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/1.jpg)
Extreme coding workshop
Tick-tock….
![Page 2: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/2.jpg)
Extreme coding• A ‘just get it done’ mode
– don’t know the language?• learn it! The basics are the same
– a loop is a loop is a loop
– don’t know how to do a specific thing?• look it up, and get it done!!!!
• We will skip some of the official steps of the system life cycle– focus will be on the design and development of the
forms and code behind the forms– selected functionality will be targeted initially
• selection of different functionalities and span of design and coding considerations
• time permitting, we will revisit and develop more of the application
![Page 3: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/3.jpg)
Scenario
• Build an investigative case management system– Utopia Police Dept’s Detective Squad
• keep track of investigations of complaints– maintain status of investigations– monitor investigative activity– produce reports– etc…
![Page 4: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/4.jpg)
Sample screen
![Page 5: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/5.jpg)
UPD
• Utopia Police Department– Four (4) precincts
• 001,002,003,004
– each precinct has a detective squad• referred to as 1st, 2nd, 3rd, and 4th squads
• The precinct is a command
• The squad is a separate command
![Page 6: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/6.jpg)
What is a case?• Investigation based on a complaint received at the
UPD precinct (4 pcts)– complaints are numbered sequentially within each precinct
• starts at “1” with the new year
• Not all complaints result in investigations• Most (but not all) investigations are based on a NYS
penal code infraction• each case uniquely identified within each detective
squad by a case number– starts at “1” with the new year– case number is not the same as the complaint number– case may be based on complaint from another precinct
• cases must be uniquely identifiable
![Page 7: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/7.jpg)
Who works in the squad?• Uniformed (investigators and investigative
supervisors)– Capt– Det Lt (CDS)– Lt– Det Sgt (SDS)– Sgt– Detective 1st (Det1)– Detective 2nd (Det2)– Detective 3rd (Det3)– Police Officer (PO)
• Civilian (clerical)– Administrative Aide (AA)– Principal Administrative Aide (PAA)
![Page 8: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/8.jpg)
Access Levels• New case
– Anyone with authorization
• Deletions– Supervisory (Sgt or above) uniforms with
authorization
• Edits– Supervisory (Sgt or above) uniforms with
authorization
• Case “Sign-off”– Supervisory (Sgt or above) uniforms with
authorization
![Page 9: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/9.jpg)
Form• Splash screen
– initial screen– announces application– presents Visual content while “housework” is performed (as
opposed to blank screen)
• Consider a “Main Form”, or “Switchboard Form”– presents a logo (optional)– allows user interaction to major functions of application
• Suggestion– Make a main form, which contains several functions
• “Login” is one of these functions– all other functions (other than ‘quit’) will be disabled until login
completed successfully
• Personnel function– allows for the administration of system personnel (users)
![Page 10: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/10.jpg)
Major (high level) functions
• Login– allows a user access to other application functions
• Cases– enter, view, query cases
• Personnel– administer personnel
• System– perform maintenance on system tables
• import, export, backup, defaults, etc…
• Quit
![Page 11: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/11.jpg)
Task• Build a form allowing the user to:
– display, enter, modify, delete personnel in the system– minimum fields for each personnel record:
• Rank, Last name, First name, Employee ID#, Command assigned, level of access
• Access levels– Administrator: clearance for all SYSTEM functions– User: discriminate between view, enter, modify and delete– Can someone be both?.... Yes for this application
– you must check for valid entries• disallow if not “legal” or missing required field
– should the user start over?» or should you simply flag which field is bad..?
– who should be able to access this new form once it’s available?• if nobody in the system is “privileged”, then how do the users initially
enter personnel information?• Is this the only personnel function?
– if so, bring this up when “Personnel” selected from “MAIN form”• otherwise, a sub-menu (new form) needs to be selected
![Page 12: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/12.jpg)
Windows management of Forms
• SDI versus MDI– single document interface
• each form is independent– if calling form is closed, the new form remains
• can be placed anywhere on screen– even outside border of the form which invokes it
– multiple document interface• invoked by a form’s code• new form is a ‘child’ form
– contained within the boundaries of the parent– if parent is closed, then all children go away with it
![Page 13: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/13.jpg)
Windows management of Forms
• Modality– Form “A” opens Form “B” as ‘modal’
• Form “B” must be closed before user can interact with other forms/windows on the screen
– example:• pop-up error message requesting “Yes, No, or
Cancel”– respond or close that window in order to continue
with any other window
![Page 14: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/14.jpg)
Displaying of Forms• Open
– form is brought into memory (loaded) and displayed to user
• Close– from is removed from memory (and view), unavailable
• Show and Hide– form remains in memory, but controls user visibility of form
• Load– brought into memory but not displayed (subsequently
displayed by “showing” it)
• Unload– taken out of memory
![Page 15: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/15.jpg)
Storyboarding• Drawing of forms
– functions on each form• Arrows pointing to other forms
– icons can determine which objects allow user interaction• buttons, drop-down lists (list box, combo box) check or radio
buttons, text box or other text entry box, tabbed forms, tree listings, etc…
– allows for rapid development of the form• consistency• preview of users’ experience and usability
– Visual tool depicting the “WHAT” to be done, not the “HOW”• Develop a hierarchical picture of form flow (and
function flow)– if a ‘called form’ pointed to by a calling form should not allow
backward transferal (unless it’s closed) to another form, then it should be “Modal”
![Page 16: Extreme coding workshop](https://reader036.vdocuments.mx/reader036/viewer/2022082611/56812c58550346895d90e24a/html5/thumbnails/16.jpg)
Data
• The database for the application is currently maintained in an MS-Access 2003 database– tables are already developed– personnel table is “MOS” (member of the
service)– linked tables
• Ranks• Cmds