Standards in this Framework
Standard | Description |
---|---|
1.1.1 | Demonstrate knowledge of nonfunctional requirements (e.g., security, integrity response time, reliability, support and documentation). |
1.1.2 | Clarify specifications using questioning techniques. |
1.1.3 | Gather information using interviewing strategies. |
1.1.4 | Identify input and output requirements. |
1.1.5 | Identify system processing requirements. |
1.1.6 | Identify hardware, networking and software system functional requirements. |
1.2.1 | Gather information on problems from users. |
1.2.2 | Perform workflow analysis to determine user needs. |
1.2.3 | Analyze existing procedures. |
1.2.4 | Define business problem to be solved by the application. |
1.3.1 | Access needed information using company and manufacturers' references. |
1.3.2 | Review collected information with customer. |
1.4.1 | Demonstrate knowledge of how to use software methodologies to analyze a real-world problem. |
1.4.2 | Identify constraints. |
1.4.3 | Demonstrate knowledge of modeling and analyzing functional and data requirements. |
1.5.1 | Demonstrate knowledge of the use, structure and contents of a requirements specification document. |
1.5.2 | Define system and software requirements. |
1.5.3 | Define informal and formal specifications. |
1.5.4 | Resolve conflicting requirements. |
1.5.5 | Review and verify specifications with customer. |
2.1.1 | Identify resources and risks. |
2.1.2 | Demonstrate knowledge of cross-functional team structures and team members' roles. |
2.2.1 | Define scope of work to meet customer needs. |
2.2.2 | Demonstrate knowledge of the key functions and subsystems of the software product. |
2.2.3 | Demonstrate knowledge of software development process and issues. |
2.2.4 | Demonstrate knowledge of the system life-cycle approach. |
2.3.1 | Demonstrate knowledge of project budgeting, scheduling, and control issues related to software development. |
2.3.2 | Demonstrate knowledge of software development methodology. |
2.3.3 | Develop implementation plan. |
3.1.1 | Identify new technologies relevant to IT. |
3.1.2 | Assess the importance of new technologies to future developments. |
3.1.3 | Identify system processing requirements. |
3.1.4 | Identify data communication trends and major current issues. |
3.2.1 | Identify new and emerging classes of software and IT technologies. |
3.2.2 | Determine compatibility of hardware and software. |
3.3.1 | Identify the elements of the information processing cycle. |
3.3.2 | Identify required hardware. |
3.4.1 | Identify metrics for measurements. |
3.4.2 | Measure increases in productivity realized by the implementation of information systems. |
3.4.3 | Identify new and emerging drivers and inhibitors of information technology change. |
4.1.1 | Demonstrate knowledge of software development environment. |
4.1.2 | Use prototyping techniques. |
4.1.3 | Use appropriate configuration management tools. |
4.1.4 | Use appropriate issues tracking tools. |
4.1.5 | Demonstrate knowledge of reuse and components. |
4.2.1 | Use appropriate requirement analysis tools. |
4.2.2 | Use appropriate modeling and analysis tools. |
4.2.3 | Use requirement tracking tools. |
4.2.4 | Demonstrate knowledge of software reuse, design patterns, and components. |
4.3.1 | Develop programs using appropriate language. |
4.3.2 | Use appropriate development environment for the selected language. |
4.3.3 | Use user interface development tools. |
5.1.1 | Identify the use of program design tools in a software development process. |
5.1.2 | Identify roles of team members/customers in the software development process. |
5.1.3 | Identify current information life cycle models. |
5.1.4 | Create design specifications for a computer application. |
5.1.5 | Describe trade-offs involved in design choices. |
5.1.6 | Summarize the use of principles of effective information management, information organization, and information-retrieval skills when designing a software application. |
5.1.7 | Demonstrate knowledge of the information system life cycle. |
5.1.8 | Demonstrate knowledge of system analysis issues related to design, testing, implementation, and maintenance. |
5.1.9 | Record and analyze the process. |
5.2.1 | Explain the importance of performance, security, and resilience of networks. |
5.2.2 | Describe communication protocol for exchanging information via networks. |
5.2.3 | Describe properties of communication protocols. |
5.2.4 | Describe the choice of networks based on their physical or organizational purpose and how usage and security differ between these types of networks. |
5.2.5 | Identify the organizational scope of different types of networks. |
5.2.6 | Identify the hardware required for different types of networks. |
6.1.1 | Demonstrate knowledge of the hardware-software connections. |
6.1.2 | Demonstrate knowledge of the concepts of data and procedural representations. |
6.1.3 | Demonstrate knowledge of the basic principles for analyzing a programming language. |
6.1.4 | Demonstrate knowledge of the basics of structured, object-oriented language. |
6.1.5 | Demonstrate knowledge of how a programming language can support multitasking and exception-handling. |
6.2.1 | Demonstrate knowledge of how to resolve program implementation issues. |
6.2.2 | Demonstrate knowledge of software development issues. |
6.2.3 | Demonstrate knowledge of code analysis issues related to design, testing, implementation, and maintenance. |
6.2.4 | Demonstrate knowledge of how to design and implement programs in a top-down manner. |
6.2.5 | Demonstrate knowledge of how to translate algorithmic and modular designs to develop a program. |
6.2.6 | Demonstrate knowledge of structured/modular programming. |
6.2.7 | Demonstrate knowledge of how programming control structures are used to verify correctness. |
6.2.8 | Use code development tools (e.g., debugger, integrated development environments). |
6.3.1 | Describe the range of languages used in software development. |
6.3.2 | Demonstrate knowledge of current key programming languages and the environment in which they are used. |
6.3.3 | Translate data structure and program design into code in an appropriate language. |
6.3.4 | Demonstrate knowledge of key constructs and commands specific to a language. |
6.4.1 | Use appropriate programming language. |
6.4.2 | Analyze and prepare logic using program flowchart. |
6.4.3 | Analyze and prepare logic using at least one alternative to flowcharting, such as pseudo-coding. |
6.4.4 | Review design. |
6.4.5 | Compile and debug code. |
6.4.6 | Prepare code documentation. |
6.4.7 | Prepare unit testing plan. |
6.4.8 | Conduct unit testing and bug fixes. |
6.5.1 | Access needed information using company and manufacturers' references. |
6.5.2 | Divide design specifications into logical process blocks. |
6.5.3 | Identify parameters. |
6.5.4 | Follow specifications or drawings. |
6.5.5 | Record process utilizing flowcharts and/or step-by-step documentation. |
6.5.6 | Record data. |
6.6.1 | Identify unexpected results. |
6.6.2 | Review and revise code. |
7.1.1 | Access needed information using appropriate reference materials. |
7.1.2 | Define test procedures. |
7.1.3 | Analyze requirement and design specifications. |
7.1.4 | Develop test cases using requirements and design specification. |
7.2.1 | Perform integration testing. |
7.2.2 | Perform regression testing. |
7.2.3 | Help with user-acceptance test. |
7.2.4 | Validate user documentation. |
7.2.5 | Document test results. |
7.2.6 | Document errors discovered. |
7.2.7 | Perform defect tracking. |
7.3.1 | Record error correction procedures and actions. |
7.3.2 | Record results from error corrections and actions. |
8.1.1 | Demonstrate knowledge of Software QA process. |
8.1.2 | Demonstrate knowledge of the standards/requirements for Software QA. |
8.1.3 | Develop team relationships to support Software QA tasks. |
8.2.1 | Identify standards and issues related to I/O programming and design of I/O interfaces. |
8.2.2 | Use customer satisfaction in determining product characteristics. |
8.2.3 | Recognize the relationship between dependability, functionality, ease of use, etc. |
8.2.4 | Conduct code walkthrough and/or inspection. |
8.2.5 | Follow established procedures for testing, identifying problems and tracking resolutions. |
9.1.1 | Identify maintenance and support requirements. |
9.1.2 | Apply information and data analysis techniques. |
9.1.3 | Define scope of work to meet customer support needs. |
9.2.1 | Access needed information using appropriate reference materials. |
9.2.2 | Provide help to first line user-support personnel to answer user questions. |
9.2.3 | Provide troubleshooting for software. |
9.2.4 | Perform system-tuning functions. |
9.2.5 | Diagnose problems within system. |
9.2.6 | Perform technical functions required by customer/user. |
9.2.7 | Communicate and document technical support provided. |
9.3.1 | Utilize organizational procedures to communicate and document maintenance tasks. |
9.3.2 | Identify and analyze problem(s). |
9.3.3 | Analyze and propose solutions. |
9.3.4 | Implement solutions in code and documentation. |
9.3.5 | Release software and documentation updates according to procedures. |
10.1.1 | Identify appropriate database type based on customer requirements, availability of software and hardware resources, and distribution specifications, etc. |
10.1.2 | Apply information and data analysis specifications to create a database model using techniques such as Entity Relationship Diagramming. |
10.1.3 | Analyze and normalize the developed database model looking for and resolving potential problems. |
10.1.4 | Analyze the security needs for the database. |
10.2.1 | Create a database from model specifications using both program code and Graphic User Interface (GUI) processes when provided by the database software. |
10.2.2 | Verify that all possible security safeguards are in place. |
10.2.3 | Populate the database created with test data. |
10.2.4 | Perform database queries to analyze database functionality and diagnose problems. |
10.2.5 | Perform database troubleshooting and system-tuning functions. |
10.2.6 | Perform technical functions required by customer/user. |
10.2.7 | Communicate and document technical support provided. |
10.2.8 | Perform standard maintenance on the database. |
10.2.9 | Release software and documentation updates according to procedures. |
10.3.1 | Develop scripts and forms that permit access via websites to the database. |
10.3.2 | Identify and analyze potential security problems for web access to the database. |
10.3.3 | Propose security solutions to web-based security problems. |
10.3.4 | Implement solutions in code and documentation. |