410 likes | 892 Views
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.
E N D
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. • 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.
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
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
Analysis (2) • The three components of any process • Input • Processing logic • Output
Input • Work file • Validate data from outside sources • Adabas file • Parameters • Passed in from another program • Passed in from the JCL • Validate the data
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
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?
Output (2) • E-Mail messages • Letters
Walk-through • Your plan of action with: • The user • More experienced programmers • The production coordinator
Coding • Decide how many programs are needed • Flowchart the entire process • What will be the function of each program • Flowchart each program
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
Walk-through • Your code with: • More experienced programmers
Putting the Pieces Together • Program name • Procedure name • Trlogs • Files • Non-adabas • Adabas • Reports
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
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
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
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
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)
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
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
ADABAS Files • Codesets • New user-view on an existing file • New database elements on an existing file • Reuse fields when possible
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
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
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
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
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
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
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
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
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
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)
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
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
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?
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
Summary • Software development is an iterative process • Analysis • Coding • Testing • Production implementation • Debugging / maintenance
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
Where to Get More Information • Roscoe: SANDP manual • Roscoe: MENU rpf • Roscoe: VS.MENU rpf • AIS home page - Userforms