This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Not For the SQEM-ish

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

  • A summary of documents:

        EICD    = Electrical Interface Control Document
        SDP     = Software Development Plan
        SRA     = System Requirements Analysis
        SPP     = Software Product Specification
        SSDD    = System Design Document
        HWCI    = Hardware Configuration Interface
        IRS     = Interface Requirements Specification
        IDD     = Interface Design Document
        CRISD   = Computer Resource Integration Support Document
        SRS     = Software Requirements Specification
        UCD     = Use Case Document
        SDD(s)  = Software Design Document(s)
        STD     = System Test Desecription
        STP     = Software Test Procedure
        STR     - Software Test Report
        CSC     = Computer Software Component (higher level than CSU)
        CSU     = Computer Software Unit (low level psuedo code)
        SCM     = Supid Code-Monkey
        CGRBFCM = Coding Guidlines Rule Book for Coding Monkeys
        SCM     = Stupid Code Monkeying in "C", Assebly, etc
        VDD     = Version Description Document
        CSCM    = Computer System's Operations Manual
        SUM     = Software User's Manual
        SPM     = Software Programmers Manual
        DID     = Data Item Description
        CSCI    = Computer Software Configuration Item (the executable)
        FSM     = Firmware Support Manual
    

    Well, at least that is what it takes to be a 'software engineer.'

    There are plenty of omitted documents, and not all of them may apply to your application: just know they exists.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  • CGRBFCM is in there.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  • ...which, of course, the diagram doesn't show.

    And, surely, the EICD should feed the STD - otherwise there is no verification that you've actually met the initial requirements!

    similarly, no link at all is shown to customer requirements - which must, surely, feed the EICD??

  • Actually, that's just a list of their titles (& abbreviations) - it doesn't describe the purpose & what should be in each of those documents!

    In particular, "Electrical Interface Control Document" doesn't sound a very apt name for the root specification of life, the universe, and everything - as the project sees it...

  • Hey ASCII art sucks. I may have missed a couple of connections.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  • Andy,

    Each one of those acronyms can be searched "googled" and you'll get what each is to contain.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  • "...and you'll get what each is to contain."

    No, you won't, I'm afraid. What you'll get is a whole bunch of different peoples different interpretations of them for different contexts; eg, I can immediately think of at least three unrelated definitions of "STD"

    You need to give a consistent set of definitions in the context of your diagram/process.

  • Yikes! I didn't mean to upset you Andy.

    Yes, you can find them:

    google
    Software Test Document

    en.wikipedia.org/.../Software_testing

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  • It would appear that some people have far too much spare time.

  • 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...

  • "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).

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

  •                  Software Quality Engineering Manual Flow Chart
    
                               .----------------.
                               |   Customer     |
                               |    "Needs"     |
                               |   Software     |
                               '----------------'
                                       |
                                       V
     .--------------.          .----------------.                  .----------------.
     |   Schedule   |          | Software Dev.  |                  | System Req.    |
     | (Gantt Chart)|<---------| Plan. AKA me   |----------------->| Analysis. AKA  |
     |No need as    |          | thinking  about|                  | me asking      |
     |project       |          | how to code    |                  | management     |
     |should always |          | monkey through |                  | what this      |
     |be done using |          | the project.   |                  | widget has to  |
     |the ASAP model|          |                |                  | do to sell.    |
     '--------------'          '----------------'                  '----------------'
             |                         |                                    |
             |                         |                                    |
             |                         |                                    |
             V                         V                                    V
     .--------------.          .------------------.                .----------------.
     |  Resources   |          | Software Product |<---------------| System Design  |
     |(People/Equip)|          | Specification.   |                | Document (SSDD)|
     | Me and my    |          | AKA me telling   |                | AKA. Me        |
     |computer.     |          | management what  |                | thinking about |
     |Always ask    |          | can be done given|                | what kinda     |
     |for a better  |          | lack of srceens  |                | hardware might |
     |computer with |          | and ASAP model   |                | work with this |
     |more screens. |          | that has been    |                | software.      |
     '--------------'          | choosen.         |                |                |
                               |                  |>--------.      '----------------'
                               '------------------'         |        |      |
                                       |              .-----|--------'      |
                                       V              |     |               V
                               .------------------.   |     |      .-----------------.
                               | Interface Req.   |--------------->| Hardware Config |
                               | AKA read any     |   |     |      | AKA. Me         |
                               | protocol         |   |     |      | realizing that  |
                               | documents of     |   |     |      | no new hardware |
                               | other devices    |   |     |      | is needed just  |
                               | that you may be  |   |     |      | lots of fudgin  |
                               | interfacing to   |   |     |      | on the old      |
                               '------------------'   |     |      | hardware        |
                                       |              |     |      | platform. Bonus |
                                       |              |  .---------| to management   |>----.
                                       |              |  |  |      '-----------------'     |
                                       |              |  |  |                              |
                                       |              |  |  |                              |
     .--------------.                  V              |  |  |                              |
     | Comp Systems |          .------------------.   |  |  |      .------------------.    |
     |  Op Manual   |<---------| Interface Design |<-----'  |      | Computer Resource|    |
     |To be written |    |     | Document (IDD)   |   |  .---------| Integration and  |    |
     |by software   |    |     | Already written  |   |  |  |      | Integration Doc  |    |
     |testers after |    |     | as protocol I    |   |  |  |      | Management says  |    |
     |implementation|    |     | just read.       |   |  |  |      | Lifecycle is as  |    |
     |This is to be |    |     '------------------'   |  |  |      | long as          |    |
     |sure manuals  |    |             |              |  |  |      | profitable.      |    |
     |represent what|    |             |              |  |  |      | No changes       |    |
     |our product   |    |             |              |  |  |      | should ever be   |    |
     |does not what |    |             |              |  |  |      | needed if project|    |
     |we wanted it  |    |             |              |  |  |      | is done "right"  |    |
     |to do.        |    |             |              |  |  |      |                  |    |
     '--------------'    |             |              |  |  |      '------------------'    |
                         |             |              |  |  |                              |
                         |             V              |  |  |                              |
     .--------------.    |     .------------------.   |  |  |      .------------------.    |
     | Software User|<---'     |  Software Req.   |<--'  |  '----->|     Use Case     |    |
     |   Manual     |    |     |  Specification   |<-----'         |     Document     |    |
     |To be written |    |     |AKA Me trying to  |                |Play with MS paint|    |
     |by software   |    |     |remember what the |                |for a day until   |    |
     |testers after |    |     |initial goal of   |                |I get yelled at   |    |
     |implementation|    |     |product was. And  |                |for playing with  |    |
     |for same      |    |     |when I remember   |                |paint instead of  |    |
     |reason as     |    |     |write on post-it  |                |doing my real job |    |
     |above         |<---------|and stick on edge |                |of coding :(      |    |
     |              |    |     |of single too     |                |Then no more stick|    |
     '--------------'    |     |small screen.     |                |figures.          |    |
         |               |     |                  |<---------------|       (UCD)      |    |
         |               |     '------------------'                '------------------'    |
         |               |             |           \                        |              |
    

    The way it works at most places

  •      |               |             V            \                       V              |
     .--------------.    |     .------------------.  \             .------------------.    |
     |  Software    |    |     |  Software Design |   '----------->|    System Test   |    |
     |  Program     |<---' .---|  Document(s)     |--------------->|    Description   |    |
     |  Manual (SPM)|      |   |      (SDDs)      |   .----------->|       (STD)      |<---'
     |Skip this one |      |   |Written as the    |   |            |AKA Tell Dave the |
     |management    |      |   |overall module    |   |            |test guy that new |
     |says we alreay|      |   |comments that     |   |            |firmware is almost|
     |have too many |      |   |apear at the top  |   |            |ready. Give him   |
     |manuals       |      |   |of each filethat  |   |            |the stickey note  |
     |              |      |   |makes up the code |   |            |from screen and   |
     '--------------'      |   |for the project   |   |            |tell him to test  |
                           |   |                  |   |            |for "this stuf"   |
                           |   '------------------'   |     -------'------------------'
                           |           |              |     |                |
                           |           V              |     |                V
     .--------------.      |   .------------------.   |     |      .------------------.
     |  Data Item   |<-----'   | Computer Software|   |     |      |      Software    |
     |  Description |          | Components/Units |---'     |      |  Test Proceure   |----.
     |AKA Use       |          | Written as       |         |      | Use black box    |    |
     |descriptive   |          | comment above    |         |      | testing as to    |    |
     |vaiable names |          | each function    |         |      | not waste time   |    |
     |              |<-------->|    CSCs & CSUs   |         |      | showing Dave how |    |
     '--------------'          '------------------'         |      | things actually  |    |
                                       |                    |      | work.            |    |
                                       |                    |      '------------------'    |
                                       |                    |                              |
                                       |                    |                              |
                                       V                    |                              |
     .--------------.          .------------------.         |      .------------------.    |
     |  "Software"  |<---------| Software Coding  |>--------'      | Coding Guidelines|    |
     |    (CSCI)    |          |  "Code Monkeys"  |<---------------| "Rule Book for   |    |
     | Outputed     |          | Spend %90 project|                |   Code-Monkeys   |    |
     | by compiler  |          | work here as it  |                |      AKA         |    |
     | unless there |          | is very important|                |     ALWAYS       |    |
     | are syntax   |          | and screens are  |                |     Follow       |    |
     | errors avoid |          | too few and too  |                |   Cpt Vince's    |    |
     | these at all |          | small            |                |     advice.      |    |
     | costs.       |------.   '------------------'                |    (CGRBFCM)     |    |
     '--------------'      |           |                           '------------------'    |
           /|\             |           |                                                   |
            |              |           V                                                   |
            |              |   .----------------------.                                    |
            |              |   | Formal Qualification |<-----------------------------------'
            |              |   |  Testing (FQT))      |                                    |
            |              |   | Dave does the actual |                                    |
                               | testing.             |                                    |
            |              |   '----------------------'                                    |
            |              |           |                                                   |
            |              |           |                                                   |
           \|/             |           V                                                   |
     .--------------.      |   .-------------------.               .------------------.    |
     |  Firmware    |      |   |Version Description|               |  Software Test   |<---'
     |  Support     |      |   |  Document (VDD)   |<--------------| Report (STR)     |
     |  Manual (FSM)|      |   |Make sure to update|               | Dave gives the   |
     |Dont even     |      |   |version number in  |               | thumbs up.       |
     |bother asking |      |   |code or you might  |               '------------------'
     |as we are way |      |   |think you have the |
     |behind our    |      |   |wrong version.     |
     |original ASAP |      |   '-------------------'
     |plan.         |      |
     '--------------'      |
                           |
                           |
                           |   .------------------.
                           '-->| Release to the   |
                               |     Customer     |
                               '------------------'
    
    

    2nd half

  • "Look at the big brain on Brad"! (ref Pulp Fiction)
    Cyril comes through loud and clear. Yup, some companies just don't get it.

    Good job describing it!

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA