Explore KSACs by Pathway
Explore Knowledge, Skills, Abilities, and Credentials (KSACs) by IT Pathway.
6. Software Design
Label | KSAC Description | Bloom's Taxonomy Level | Cross-Cutting | |
---|---|---|---|---|
a | Articulate design principles including separation of concerns, information hiding, coupling and cohesion, and encapsulation. | knowledge | 2 | |
b | Use a design paradigm to design a simple software system, and explain how system design principles have been applied in this design. | skill | 2 | |
c | Construct models of the design of a simple software system that are appropriate for the paradigm used to design it. | skill | 2 | |
d | Describe one or more design patterns that could be applicable to the design of a simple software within the context of a single design paradigm. | knowledge | 2 | |
e | Knowledge of best practices for a particular platform - for instance - iOS, Android, or the Web. | knowledge | 2 | |
f | Discuss and select an appropriate design paradigm for a simple system for a given scenario. | skill | 3 | |
g | Create appropriate models for the structure and behavior of software products from their requirements specifications. | ability | 4 | |
h | Explain the relationships between the requirements for a software product and its design, using appropriate models. | ability | 3 | |
i | Describe the software architecture for the design of a simple software system. | skill | 3 | |
j | Identify an appropriate software architecture by differentiating among common software architectures such as 3-tier, pipe-and-filter, message-queue, and client-server for a high-level design. | skill | 3 | |
k | Investigate the impact of software architecture selection on the design of a simple system. | skill | 4 | |
l | Apply simple examples of patterns in software design. | skill | 3 | |
m | Describe a form of refactoring and discuss when it may be applicable. | knowledge | 2 | |
n | Select suitable components for use in the design of a software product. | ability | 3 | |
o | Describe pros and cons of building a new component vs adapting an existing component in the design of a software product. | knowledge | 3 | |
p | Explain the role of objects in middleware systems and the relationship with components. | skill | 4 | |
q | Refactor an existing software implementation to improve some aspect of its design. | ability | 4 | |
r | Understand the user journey and the role it plays in the software development process | knowledge | 2 | |
s | Understand when to use low code or no code approaches in the software development process | knowledge | 2 |
Credentials
- N/A