We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
This is a "Quick-n-Dirty" SQEM (Software Quality Engineering Manual) flow chart: (NOTE: Most "software engineers" only bother with the 'red' portions)
Software Quality Engineering Manual Flow Chart .----------------. | System Spec. | | (EICD) | (Electrical Interface Control Drawing) '----------------' | V .--------------. .----------------. .----------------. | Schedule | | Software Dev. | | System Req. | | (Gantt Chart)|<---------| Plan (SDP) |----------------->| Analysis (SRA) | '--------------' '----------------' '----------------' | | | V V V .--------------. .------------------. .----------------. | Resources | | Software Product |<---------------| System Design | |(People/Equip)| | Specification | | Document (SSDD)| '--------------' | (SPP) |>--------. '----------------' '------------------' | | | | .-----|--------' | V | | V .------------------. | | .-----------------. | Interface Req. |--------------->| Hardware Config | | Specification | | .---------| Interface (HWCI)|>----. | (IRS) | | | | '-----------------' | '------------------' | | | | | | | | | .--------------. V | | | | | Comp Systems | .------------------. | | | .------------------. | | Op Manual |<---------| Interface Design |<-----' | | Computer Resource| | | (CSCM) | | | Document (IDD) | | .---------| Integration and | | '--------------' | '------------------' | | | | Integration Doc | | | | | | | | (CRISD) | | | | | | | '------------------' | | | | | | | | V | | | | .--------------. | .------------------. | | | .------------------. | | Software User|<---' | Software Req. |<--' | '----->| Use Case | | | Manual | | Specification |<-----' | Document | | | (SUM) |<---------| (SRS) |<---------------| (UCD) | | '--------------' | '------------------' '------------------' | | | \ | | | V \ V | .--------------. | .------------------. \ .------------------. | | Software | | | Software Design | '----------->| System Test | | | Program |<---' .---| Document(s) |--------------->| Description | | | Manual (SPM)| | | (SDDs) | .----------->| (STD) |<---' '--------------' | '------------------' | /'------------------' | | | / | | V | / V .--------------. | .------------------. | / .------------------. | Data Item |<-----' | Computer Software| | / | Software | | Description | | Components/Units |---' / | Test Proceure |----. | (DID) |<-------->| CSCs & CSUs | / | (STP) | | '--------------' '------------------' / '------------------' | | / | V / | .--------------. .------------------. / .------------------. | | "Software" |<---------| Software Coding |>---' | Coding Guidelines| | | (CSCI) | | "Code Monkeys" |<---------------| "Rule Book for | | | Executable |------. '------------------' | Code-Monkeys | | '--------------' | | | (CGRBFCM) | | /|\ | | '------------------' | | | V | | | .----------------------. | | | | Formal Qualification |<-----------------------------------' | | | Testing (FQT)) | | | | '----------------------' | | | | | | | | | \|/ | V | .--------------. | .-------------------. .------------------. | | Firmware | | |Version Description| | Software Test |<---' | Support | | | Document (VDD) |<--------------| Report (STR)or | | Manual (FSM)| | '-------------------' '------------------' '--------------' | | | | .------------------. '-->| Release to the | | Customer | '------------------'
(NOTE: ASCII art isn't fun)
The above is an iterative process.
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
"You'd be amazed, then, at the amount of time companies spend discussing this type of stuff internally!
Or the money they spend on consultants to do it..."
Agreed, but I happened to have written this late last night (past midnight) from my home office... not billing anybody either.
I just thought it might help out the Junior Engineer or hobbyist that doing embedded code properly involves a whole lot more than "coding." (That's why I refer them as code monkeys... the documentation should be so obvious that even a monkey could write the code; or even a sardine.
Some workplaces make you do all of that documentation and [a lot] more, and some don't even know they are supposed to document their IP (I've worked for one of the later... idiots).