ACM-SW study guide
ACM-SW · Work through your exam, one topic at a time.
The ACM Software Engineering Certification (ACM-SW) is a multiple-choice credential intended for practitioners who want independent evidence that they can apply software engineering fundamentals across the full delivery lifecycle, not just write code in one language. It suits working developers moving toward senior or lead roles, testers and analysts broadening into engineering, and graduates who want a structured target for their study. The ACM-SW study guide has 8 sections and about 2,497 words.
01Software Requirements
Requirements engineering spans elicitation (interviews, workshops, observation, prototyping), analysis and negotiation , specification , and validation . Distinguish functional requirements (what the system does) from non-functional requirements (quality attributes: performance, security, usability, availability) and from constraints (fixed technology, regulations, budgets).
332 words, about 2 min02Software Design
Design turns requirements into a structure: architecture (modules, layers, components, interfaces) and detailed design (classes, algorithms, data structures). Know the classic architectural styles : layered, client-server, pipe-and-filter, event-driven/publish-subscribe, microservices, and MVC.
306 words, about 2 min03Software Construction
Construction is coding, unit-level verification, and integration. Candidates should understand coding standards , naming and readability , defensive programming , error handling vs exceptions , resource management , and concurrency basics (race conditions, deadlock, atomicity).
304 words, about 2 min04Software Testing
Testing spans levels (unit, integration, system, acceptance), types (functional, performance, security, usability, regression), and techniques . Black-box techniques include equivalence partitioning , boundary value analysis , decision tables , and state transition testing .
286 words, about 1 min05Software Maintenance and Evolution
Maintenance is the majority of lifecycle cost. Know the four ISO-style categories : corrective (fixing defects), adaptive (responding to environment change), perfective (improving performance or maintainability), preventive (forestalling future problems, e.g., refactoring).
292 words, about 1 min06Software Configuration and Project Management
Configuration management (SCM) identifies, controls, and audits work products: version control , baselines , change control , and configuration audits . A baseline is an approved, immutable reference point; changes after it go through change control.
324 words, about 2 min07Software Engineering Process and Quality
Process models include waterfall (sequential, document-driven), incremental , iterative , spiral (risk-driven), V-model (verification/validation paired with each phase), and agile (Scrum, XP, Kanban). Know Scrum roles (Product Owner, Scrum Master, Developers), artifacts (product backlog, sprint backlog, increment), and events (sprint planning, daily scrum, review, retrospective).
313 words, about 2 min08Software Engineering Professional Practice and Ethics
Professional practice covers codes of ethics (e.g., ACM/IEEE Software Engineering Code), professional responsibility , competence , confidentiality , conflict of interest , and intellectual property . Know the eight principles commonly cited: public, client and employer, product, judgment, management, profession, colleagues, and self.
340 words, about 2 min