Marcus Engineering, LLC
  • Email
  • Facebook
  • Linkedin
  • Twitter
  • RSS
  • Home
  • News
  • Engineering Services
    • Services
    • Hardware Design Process
    • Software Design Process
    • Software Process Tools
  • Hiring
    • Electrical Engineer
    • EE and CE Internships
  • Partners
  • Library
    • Qi Calculator
    • Post Quantum Crypto
  • About Us
    • Management Team
  • Contact Us

Software Design Process

Marcus Engineering has developed successful embedded-control software for a variety of applications for nearly a decade. Marcus Engineering employs a software development process illustrated by the following diagram:

Requirements

Every project Marcus Engineering undertakes starts with the drafting of a System Requirements Specification, which is reviewed with the customer and updated until a satisfactory requirement set is completed and approved. The objective is for all requirements to be consistent, complete, realizable, and verifiable.

Specifications

If the project is for more than software, e.g., an electronics design that incorporates an embedded processor, the software requirements are derived from the system requirements and a Software Requirements Specification (SRS) is prepared. Depending on the complexity of the system, an Interface Requirement Specification (IRS) may also be prepared. Coincident with the SRS, a Software Test Plan is prepared for future use.

Design

The SRS (and IRS) informs and governs the next phase, which is the development of a software architecture and a design of the modules and units. The design is reviewed for adequacy and technical feasibility and compliance to the requirements set before the coding effort begins.

Test

The unit and module coding phase includes test of individual code units (functions) and peer review for defect capture and adherence to Marcus Engineering coding standards. As code modules are finished, they are integrated and tested until the entire finished software system is ready for requirements verification test. At each point in the testing phases, failures or adverse observations will drive defect reports which may involve reconsidering design aspects or requirements.

Automation

Frequently Marcus Engineering incorporates automated regression testing using automatic build and test tools such as Jenkins. Though not always appropriate, such efforts can enhance reliability of code changes and test coverage.

RSS AZBio

  • New Study on Early Parkinson’s Disease Progression Highlights Vital Role of Patient Focused Drug Development and Real-World Impacts
  • NSF-supported researchers expand storage capabilities of DNA
  • DecisionDx®-Melanoma’s i31-SLNB: Report from the Largest Prospective Multicenter Study to Date Confirms 2.6% Nodal Positivity in Patients Predicted to Have Less Than 5% Risk
  • AZBio Member Spotlight – SynCardia Systems, LLC
  • University of Arizona remembers former President Eugene G. Sander

Recent Posts

  • Part 4 – Microcontroller Tips

    October 17, 2023
  • Part 3 – Component Selection

    October 4, 2023
  • Part 2 – Low Power Design Battery Limitations

    September 7, 2023
  • Part 1 – Marcus Engineering Designs Sensor With 20 Year Battery Life

    August 16, 2023
(c) 2021 Marcus Engineering, LLC, All rights reserved.
  • Sitemap
  • Contact Us