ACM-SW study plan
ACM-SW · Give each week a clear focus.
8 weeks · About 7 hours per week
Software Design & Software Requirements
Distinguish architectural styles (layered, client-server, pipe-and-filter, MVC) and match each to a stated quality attribute
Derive functional requirements and use cases from a written stakeholder scenario
Write non-functional requirements as measurable quality-attribute scenarios (stimulus, response, measure)
Sketch a component-and-connector view plus a module decomposition for one small system
Your checkpoint
A 2-page design brief for a sample system: 5 use cases, 4 quality-attribute scenarios with numeric targets, and two labeled design views
Software Design & Software Requirements
Apply design principles (abstraction, information hiding, separation of concerns, coupling/cohesion) to critique a given module structure
Select and justify a design pattern for a stated problem, naming its trade-offs
Trace each requirement to at least one design element and flag untraceable ones
Identify requirement conflicts and write a resolution with rationale
Your checkpoint
A traceability matrix mapping 10 requirements to design elements plus a one-page pattern-selection rationale
Software Construction & Software Testing
Implement a small module from a written interface spec using defensive coding and clear naming
Write unit tests that achieve branch coverage on that module and justify chosen test inputs
Refactor a duplicated code block using extract-method and verify behavior is preserved via tests
Configure a static-analysis or lint pass and interpret its findings
Your checkpoint
A working module with a test suite, a coverage report showing branch coverage, and a short refactoring before/after note
Software Testing & Software Maintenance and Evolution
Design black-box test cases using equivalence partitioning and boundary-value analysis for a stated input domain
Write integration tests for a multi-component flow and distinguish them from unit tests
Perform a code review against a checklist and classify defects by severity
Plan a regression suite for a described change and justify what is included or excluded
Your checkpoint
A test plan document: test-case table, integration test list, defect log from a review, and regression scope decision
Software Maintenance and Evolution & Software Configuration and Project Management
Classify maintenance types (corrective, adaptive, perfective, preventive) for a set of change requests
Execute a refactoring or bug-fix change while keeping the regression suite green
Set up version control branching and tag a release for the sample project
Write a change request and impact analysis for one modification
Your checkpoint
A tagged release in a repo with a change log, impact-analysis note, and evidence the regression suite passes after the change
Software Configuration and Project Management & Software Engineering Process and Quality
Build a work breakdown structure and estimate effort for a small project using at least two techniques
Identify project risks with likelihood/impact and specify a mitigation for each
Map a described process to a lifecycle model and justify the choice
Define process and product metrics that would detect a stated quality problem
Your checkpoint
A project plan: WBS, dual-method estimate with reconciliation, risk register, lifecycle justification, and a metrics definition table
Software Engineering Process and Quality & Software Engineering Professional Practice and Ethics
Apply a software quality model to evaluate a described product against stated characteristics
Explain how process maturity or continuous improvement applies to a given team scenario
Resolve an ethics scenario using a professional code of ethics, naming the conflicting obligations
Distinguish professional responsibility, conflict of interest, and public-safety duties in a case
Your checkpoint
A written case analysis: quality evaluation of one product plus two ethics scenarios resolved with cited principles and stated trade-offs
Software Requirements & Software Design & Software Construction & Software Testing & Software Maintenance and Evolution & Software Configuration and Project Management & Software Engineering Process and Quality & Software Engineering Professional Practice and Ethics
Complete a timed full-length practice set and score each domain separately
Re-study the two weakest domains using targeted drills until error rate drops
Rehearse explaining a design trade-off, a test strategy, and an ethics decision aloud
Consolidate a one-page formula and terminology sheet for rapid recall
Your checkpoint
A scored practice exam with a per-domain error analysis, a remediation log for the two weakest domains, and a one-page summary sheet
Milestones
Week 2: Can produce a traceability matrix and defend a design pattern choice without notes; design-domain practice accuracy at or above 70%
Week 4: Module passes its own test suite with branch coverage documented; can derive boundary-value tests for a new input domain in under 15 minutes
Week 6: Project plan includes WBS, two reconciled estimates, and a risk register; can justify a lifecycle choice in writing
Week 8: Full practice exam completed within time; every domain scored, and the two weakest domains show measurable improvement on a retake