System analysis and design involves analyzing a system to identify its objectives and specifying how the system should function. This is done through collecting and interpreting facts to understand problems and decomposing the system into components. System analysis specifies what the system should do, while system design focuses on how to accomplish the system's objectives. CASE tools can be used to automate activities in the systems development life cycle and help uncover flaws before moving to subsequent stages.