HLA Software Development Cycle
...
1. Gather Requirements and Use Cases
Include interviews with physicists, operators, engineers, project leads, and any other stakeholders for use cases
...
2. Write Requirements document.
Requirements Template: https://slacspace.slac.stanford.edu/sites/LCLS%20Document%20Storage/01%20-%20LCLS%20Systems/electronbeamsys/controls/Shared%20Documents/Applications/Requirements%20Specification%20Template.doc
...
3. Review Requirements with users
- email Email requirements doc to distribution prior to review meeting
- prepare Prepare power point for review meeting
- take Take minutes and notes during review and publish
- update Update requirements doc with comments and republish
...
after review, republish and distributet
4. Gui Mockup Review with HLA developers
...
include Include Mike, the GUI consistency guy
- For Java apps, use our standard GUI framework unless you get authority to do otherwise
...
5. Gui Mockup Review with users
Note:
...
3 and 5 can be the same review
...
6. Prototype the code (usually no longer than 2-4 weeks)
...
7. Write Software Conceptual Design
Conceptual and Design Template: https://slacspace.slac.stanford.edu/sites/LCLS%20Document%20Storage/01%20-%20LCLS%20Systems/electronbeamsys/controls/Shared%20Documents/Applications/SoftwareCandDDesignTemplate.doc
...
8. Review Design with developers
...
Ensure Model/View/Control Architecture.
Ensure desired functionality has public API such that Matlab, java packages, and other scripts, etc, can call desired functions.
9. Write Software
10. Write Test Plan
11. Unit Test / Test and Integrate
12. Code Review
13. Comissioning
Release procedures:
i Write Software
j Code Review
k Write Test Plan
l. Write Help
Plan is to place html on operations wiki
m. Write Test and Release plan
Release procedures: ? /usr/local/lcls/physics/README
14. Training and Help
Plan is to place html on operations wiki
Notes:
Documentation
Post all documents on Sharepoint under Controls | Applications folder
Confluence wiki home for Accelerator Software - Meeting minutes and more interactive documentation:
http://confluence.slac.stanford.edu/display/ACCSOFT/Home