Candidates seeking this certification should acquire the basic knowledge and understanding required for developing software products. Demonstrable understanding of the principles and processes in software requirements, software design, software construction, and software testing. However, there are no prerequisites required for registration.
- Establishing clear, achievable, and unambiguous requirements is the first step in effective software design.
- Software design is the process of defining architecture, components, interfaces, and other important characteristics of a system.
- Software construction involves coding, verification, unit and integration testing, and debugging to produce a working software product in accordance with design.
- Testing is the ultimate verification that the designed software product behaves as expected on a finite set of selected cases from an infinite domain of execution possibilities. Testing confirms that the requirements were achievable, the design was buildable, and that construction was, in fact, successful.
These knowledge areas are all identified by the Software Engineering Body of Knowledge as some of the key elements involved in software development.
Course/Exam Completion Timeframe
- Customers have 1 year to complete the course and or exam from the date of purchase.
- A retesting fee is required to retest; standard fee is $125.
- Please click here to download the retesting application.
- Email application to firstname.lastname@example.org.
- Application takes 2-3 business days to process.
- Before scheduling a new test date/time with ProctorU, look out for an email confirmation first.
- If payment is not complete, test takers will not have any attempt to retest.
If you have any questions, please email email@example.com
CANDIDATES MUST DEMONSTRATE:
- The knowledge and ability to establish effective functional and non-functional requirements that is complete, concise, correct, consistent, testable and unambiguous.
- The knowledge and understanding necessary to design a set of software models to be used to flush out and extract hidden requirements and drive clarity into the system functional requirements
- The knowledge and ability to conduct requirements analysis and prioritize needs.
- The knowledge and understanding required to employ various requirements validation techniques.
- The knowledge and understanding required to critically evaluate requirements to identify defects
- The knowledge of the common techniques used to effectively manage changes to requirements
- An Understanding of the essential design principles and methods relative to the overall software design process
- An Understanding of the concepts of concurrency, data persistence, error handling and security to a typical software design project
- An understanding the essential elements of software structure and architecture in terms of styles, patterns and families of programs and frameworks within software development projects
- A command of the key principles involved in the development of user interface design to a software development project, including essential principles, interaction modalities, information presentation and the UI design process understanding the appropriate application of quality analysis and evaluation principles, including quality attributes, analysis and evaluation techniques, and quality measures.
- The knowledge and ability to employ function, object, data-structure and component-based design methodologies in a typical software design project.
- Understanding of key construction life cycle models—including planning and measurement—to software construction projects.
- Knowledge and Command of construction considerations such as design, languages, coding, testing, quality, and reuse.
- Knowledge and ability to use key construction technologies such as API, state-based and table-driven techniques, runtime configuration, middleware, and other technologies in a typical software construction project.
- Knowledge and ability to work with key software construction tools such as GUI builders, unit testing tools, profiling, performance analysis, and slicing tools.
- Ability to employ appropriate testing terminology throughout the entire testing process.
- Ability to Execute and manage specific software test processes and techniques with well-defined objectives and targets.
- Ability to assign and execute appropriate testing techniques, including domain, code, fault, usage, and model-based, within software testing scenarios.
- Ability to apply appropriate test evaluation scenarios to specific software testing objectives.