What is the primary role of a System Analyst?
To act as a bridge between business stakeholders and IT teams, analyzing business needs and designing technical solutions to meet them.
What is SDLC and what are its main phases?
Software Development Lifecycle. Phases: Planning, Analysis, Design, Development, Testing, Deployment, Maintenance.
What is the difference between a System Analyst and a Business Analyst?
A Business Analyst focuses on the "what" (business needs, processes). A System Analyst focuses on the "how" (technical design, system specifications).
What is a use case and a user story?
A use case describes a system's behavior from a user's perspective in a structured format. A user story is a simple, one-sentence requirement from the user's viewpoint (As a [user], I want [goal] so that [reason]).
What is UML and which diagrams do you use most?
Unified Modeling Language. Most used: Use Case Diagrams, Activity Diagrams, Sequence Diagrams, and Class Diagrams.
What is requirements gathering and what techniques do you use?
The process of collecting stakeholder needs. Techniques: Interviews, workshops, surveys, observation, and document analysis.
What is a Functional Requirement (FR) vs. a Non-Functional Requirement (NFR)?
FR: What the system should do (e.g., generate a report). NFR: How the system should be (e.g., performance, security, usability).
How do you ensure requirements are clear and testable?
By writing them using clear, unambiguous language and defining acceptance criteria for each requirement.
What is a traceability matrix and why is it important?
A document that links requirements to their source and through to test cases. It ensures all requirements are implemented and tested.
What is Agile methodology?
An iterative approach to project management and software development where solutions evolve through collaboration.
How do you handle a situation where stakeholders have conflicting requirements?
Facilitate a meeting to discuss the conflicts, focus on the underlying business goals, and work towards a compromise that delivers the most value.
A developer says a requirement is not feasible. What do you do?
Discuss the technical constraints with the developer, understand the root cause, and work with stakeholders to find an alternative solution that meets the core business need.
Describe your process for testing a new system feature.
I create test cases based on the requirements, perform functional testing, validate against acceptance criteria, and coordinate User Acceptance Testing (UAT) with stakeholders.
How do you prioritize requirements?
Based on business value, urgency, and technical complexity, often using a framework like MoSCoW (Must-have, Should-have, Could-have, Won't-have).
What is gap analysis?
Comparing the current state of a system or process with the desired future state to identify what is missing ("the gap").
How do you explain a technical concept to a non-technical user?
By using simple analogies related to their everyday work and avoiding technical jargon.
What is data modeling?
The process of creating a visual representation of data objects and their relationships, often using Entity-Relationship Diagrams (ERD).
What is the difference between validation and verification?
Verification: "Did we build the system right?" (Checking against specs). Validation: "Did we build the right system?" (Checking if it meets user needs).
How do you manage changes to requirements after a project has started?
Through a formal Change Control Process: evaluate the change's impact, get approval, and update all relevant documentation.
What key skills make a successful System Analyst?
Analytical thinking, excellent communication, problem-solving, technical knowledge, and stakeholder management.