1 / 41

The Software Development Cycle

The Software Development Cycle. Jean Chamberlin Lead Applications Programmer Analyst AIS – ISIS Group Email: JXC2@PSU.EDU Phone: 863 - 3829. Introduction. This presentation will outline the steps involved in creating a new batch procedure.

holt
Download Presentation

The Software Development Cycle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Software Development Cycle Jean Chamberlin Lead Applications Programmer Analyst AIS – ISIS Group Email: JXC2@PSU.EDU Phone: 863 - 3829

  2. Introduction • This presentation will outline the steps involved in creating a new batch procedure. • Batch procedure - A task performed by a computer system. Once a batch job begins, it continues until it is done or until an error occurs. Note that batch processing implies that there is no interaction with the user while the program is being executed. Batch procedures generally run outside normal working hours.

  3. Goals • View software development as an iterative process • Gain an understanding of the thought processes involved • Gain an understanding of the players involved in this process • Gain an understanding of the “paper work” involved in this process

  4. Development Cycle

  5. Production Cycle

  6. Analysis • Gain an understanding of the problem to be solved • Meet with user • Run frequency • Data • Natural security: NS0 (no security) NS1 – NS3 (security level) • Steward • Familiarize yourself with the adabas files involved • Cross-references on eDDS

  7. Analysis (2) • The three components of any process • Input • Processing logic • Output

  8. Input • Work file • Validate data from outside sources • Adabas file • Parameters • Passed in from another program • Passed in from the JCL • Validate the data

  9. Processing Logic • Business rules • Changing the database • Store – adds a record to the database • Update – changes an existing record on the database • Delete – removes an existing record from the database • Restart logic

  10. Output • Work file • What data should this file contain? • What is the file layout? • Batch report • What data do you want on the batch report? • Be aware of standards on how to present certain kinds of data ie. Dates on the database are in the format YYYYMMDD but we should not use this format on reports the user sees • What do you want the report to look like?

  11. Output (2) • E-Mail messages • Letters

  12. Walk-through • Your plan of action with: • The user • More experienced programmers • The production coordinator

  13. Coding • Decide how many programs are needed • Flowchart the entire process • What will be the function of each program • Flowchart each program

  14. Coding (2) • Good code is: • Restartable • Jobs that update the database • Jobs that run longer than an hour • Easy to read • Comments are nice  • Easy to maintain

  15. Walk-through • Your code with: • More experienced programmers

  16. Putting the Pieces Together • Program name • Procedure name • Trlogs • Files • Non-adabas • Adabas • Reports

  17. Program Name • Most characters in the program name have a meaning • Check the SANDP manual for naming standards • Section 3: management services technical standards, chapter 5 naming standards

  18. Program Name (2) • Associate your program with an existing program • Choose a name that has not been taken on MSMENU (testais) • To secure your program name go to • AIS home page – Userforms – AIS program ID request

  19. Procedure Name • Procedure names: • 4 character prefix – this has meaning • 3 digit number • May have a letter suffix at the end • Check the SANDP manual for naming standards • Section 3: management services technical standards, chapter 5 naming standards • To secure your procedure name use roscoe rpf GETPNAME

  20. Trlog • Trlogs are a means to temporarily store data on an adabas file • Trlog splitter – SUTS00A • Trlog id’s 6 characters: • 1st character = ‘A’ • 2nd character should match the 2nd character of your program name • Characters 3 – 6 the next available number • To secure your trlog id use roscoe rpf GETTRLOG

  21. Non-adabas Files (Work Files) • Determine the record length – LRECL • Round up for expansion • Use roscoe rpf XX.DISK to get the best block size • Determine the storage location (usually disk) • Determine how much space you need to store the data (can use XX.DISK for this)

  22. Permanent Files • Use roscoe rpf GETFD to get the file definition id • Web forms: • AIS home page – Userforms – data administration requests • OAS record description form • OAS perm file description

  23. Temporary Files • In test refer to the SANDP manual for naming convections • ZTEST.N.JXC2.ANYTHING.HERE • In production use the back of the PAPER JCL form. Request 1 gen for the file • Use IEFBR14 in JCL to delete temporary files

  24. ADABAS Files • Codesets • New user-view on an existing file • New database elements on an existing file • Reuse fields when possible

  25. ADABAS Files (2) • Involve Diane Kolesar (approve ISIS requests) • Involve Cathy Rideout • Web forms: • AIS home page – Userforms – data administration requests – OAS Codeset request • AIS home page – Userforms – data administration requests – database maintenance request

  26. Reports • Determine where you want your report to go • eDDS (formally COLD) • Requires an e-mail to define to EDDS • RMDS – report management distribution system • Requires a paper form to define to RMDS • Paper • Fiche • To secure an ID number for your report use roscoe rpf GETVPAR

  27. Procedure Request Form • AIS home page – Userforms – Procedure Request Form • This form puts all the pieces together • One stop shopping for: • Procedure ID • Program names • FD ID’s • VPAR ID’s • TRLOG ID’s

  28. Procedure Security • When using the Procedure Request Form, the procedure id will be made into a logon id and password • If you use the rpf GETPNAME it is YOUR responsibility to notify the AIS Security office (Sue Reese) of your need to have a logon id and password for your procedure and library

  29. Write (1) #report-data1 Write (2) #report-data2 Read work file 1 #data-in Write work file 2 #data-out Ps30.Cmprt01 SYSOUT=… Ps30.Cmprt02 SYSOUT=… Ps30.Cmwkf01 DD= … Ps30.Cmwkf02 DD= … Natural - to - JCL

  30. Testing • Two phases to testing • Programmer testing • User testing • Getting test data • Use roscoe rpf TESTDATA to move production data to test • Use the appropriate mainframe screens to create test data

  31. Testing (2) • Limit updates to your test ids only! • Test inquiry only processes in production • Test your restart logic • Simulate an abend with the TERMINATE command • Test your JCL • Roscoe rpf: TESTJCL

  32. Testing (3) • Test every condition • Make a chart of all conditions to test, expected results and actual results • Test your program to its limits • If you have a FOR LOOP that might execute 99 times test it so that it does execute 99 times • Time the steps in your process using natural’s SETTIME command • UPDATE OFF in JCL

  33. Production Implementation • AIS home page – Userforms - Production Change Request Form • Office of Administrative Systems, Production Job Turnover Form (paper form) • Allow production control 2 weeks for new procedures • Check that a logon id and password have been built for your procedure • Sample output • Set up run schedule • Notify coordinator on call what to do if job abends

  34. Production Implementation (2) • Natural programs • Comment at top of program • Date of the NAT2PROD / last stow • Userid of programmer • Brief explanation of programming change • Scan for writes and displays • Restow program • MOVEOBJ (testais)

  35. Debugging Production Problems • Identify the programming problem • Roscoe rpf XX.XABEND – gives information on common abend codes • Roscoe rpf XX.ET - gives information on ET data, allows user to reset ET data • Natural error message – point to the last file in the roscoe output to view. If the error is not there go to the previous file until you find it

  36. Debugging Production Problems (2) • Natural error messages: • <Program name> <line number of error> <NATerror number> <error message> • Adabas errors are coded: NAT3NNN – where NNN is the adabas response code • Other natural errors NATNNNN • Testais: help NatNNNN – more information on error

  37. Debugging Production Problems (3) • Was the database adversely updated? • If so determine what data was affected • Determine the best way to fix the data • Determine the impact of this problem on the entire system. Is this job holding up other jobs from running? • How should this job be restarted?

  38. Debugging Production Problems (4) • Fixing a natural program after hours • Decide on best course of action to put in production with the production coordinator • NAT2PROD – requires a MOVEOBJ, moves source and object code • SYSMAIN – moves object code only, need to know what library and database you are coming from and going to • Always follow up a SYSMAIN with a NAT2PROD to move the source code • Production change request form may be filled out later

  39. Summary • Software development is an iterative process • Analysis • Coding • Testing • Production implementation • Debugging / maintenance

  40. Summary (2) • Developer communicates with • User • Production coordinator • Other programmers • Diane Kolesar – adabas files • Cathy Rideout – adabas files • We discussed the administrative “paper work” involved in putting all the pieces together

  41. Where to Get More Information • Roscoe: SANDP manual • Roscoe: MENU rpf • Roscoe: VS.MENU rpf • AIS home page - Userforms

More Related