PASC study plan
PASC · Give each week a clear focus.
8 weeks · About 6 hours per week
Software Requirements and Analysis & Software Design and Architecture
Elicit and document functional and non-functional requirements for a small system
Create use case diagrams and user stories with acceptance criteria
Apply architectural styles (layered, client-server, pipe-and-filter) to a given scenario
Produce a component diagram and a deployment diagram for a simple application
Your checkpoint
A requirements specification and architecture document (including at least 5 use cases, 2 quality attribute scenarios, and 2 architectural views) for a library management system.
Software Design and Architecture & Software Construction and Implementation
Design patterns (e.g., Observer, Strategy, Factory) and apply them to refactor a code snippet
Implement a small module using test-driven development (TDD)
Write clean, well-documented code with meaningful names and comments
Use version control (Git) to manage code changes with branching and merging
Your checkpoint
A Git repository containing a refactored code module with at least two design patterns applied, accompanied by unit tests and a README explaining design decisions.
Software Construction and Implementation & Software Testing and Quality Assurance
Write unit tests using a testing framework (e.g., JUnit, pytest) achieving at least 80% code coverage
Apply black-box and white-box testing techniques to design test cases
Perform code reviews and static analysis to identify code smells
Create a test plan for a given software component
Your checkpoint
A test plan and a test suite (with test cases and results) for a selected open-source component, including coverage report and list of identified code smells.
Software Testing and Quality Assurance & Software Configuration and Release Management
Design integration, system, and acceptance test cases for a small application
Set up a continuous integration pipeline (e.g., GitHub Actions) to run tests automatically
Create a configuration management plan including version control strategy and change control
Use a build tool (e.g., Maven, Gradle) to automate builds
Your checkpoint
A CI pipeline configuration file and a configuration management plan document, plus a report of test execution results from the pipeline.
Software Configuration and Release Management & Software Project Management and Process
Develop a release plan with versioning scheme and release notes
Estimate project effort using a method like COCOMO or planning poker
Create a work breakdown structure (WBS) and a Gantt chart for a project
Identify and mitigate risks in a project risk register
Your checkpoint
A project management plan including WBS, schedule, risk register, and release plan for a hypothetical software project.
Software Project Management and Process & Software Maintenance and Evolution
Compare software process models (Waterfall, Agile, Spiral) and select appropriate one for a scenario
Perform impact analysis for a change request in a given codebase
Apply refactoring techniques to improve maintainability
Document a maintenance plan including bug tracking and versioning
Your checkpoint
A change request impact analysis report and a refactored code module with a maintenance plan document.
Software Maintenance and Evolution & Software Engineering Ethics and Professional Practice
Analyze ethical dilemmas using the ACM/IEEE Software Engineering Code of Ethics
Identify professional practices related to confidentiality, competence, and intellectual property
Evaluate a case study of software failure and propose preventive measures
Create a checklist for ethical considerations in software development
Your checkpoint
A case study analysis report on an ethical issue in software engineering, including recommendations based on the code of ethics.
Software Requirements and Analysis & Software Design and Architecture & Software Construction and Implementation & Software Testing and Quality Assurance & Software Configuration and Release Management & Software Project Management and Process & Software Maintenance and Evolution & Software Engineering Ethics and Professional Practice
Review all domains using practice questions and summaries
Take a full-length practice exam under timed conditions
Identify weak areas and create a focused review plan
Revisit key concepts and formulas from each domain
Your checkpoint
A practice exam score report with a personalized review plan listing topics to revisit and a set of flashcards for weak areas.
Milestones
Week 4: Complete a practice quiz covering domains 1-4 with at least 70% score, and have a working CI pipeline with automated tests.
Week 6: Complete a practice quiz covering domains 5-7 with at least 70% score, and submit a project management plan and change impact analysis.
Week 8: Score at least 80% on a full-length practice exam covering all domains, and have a review plan for remaining weak areas.