EXAM 2
Name: Varsha Surasani
Subject: ACS 562 Systems Analysis and Design
Advisor: Dr. John Tanik
The Five topics that I have selected are Introduction to Requirements, Software Engineering Process, Requirements Elicitation, Requirements Analysis, and Requirements Specification and Validation.
Introduction to Requirements: A requirement mandates that something be accomplished, transformed, produced or provided. Requirements engineering is the discipline concerned with understanding and documenting software requirements. In our project we have specified many software requirements which can be functional requirements, customer needs and voice of customers.
Software Engineering Process: Software engineering is the study of the processes, methods, tools and techniques for achieving control over the quality and outcomes in software development. Eight properties of a good Software Requirements specification are (1) Correctness (2) Completeness (3) Consistency (4) Trace-ability (5) Verifiability (6) Modifiability (7) Clarity and conciseness of specification and (8) prioritised requirements. SRS document in my project has satisfied all the eight qualities specified to be considered as an acceptable document.
Requirement Elicitation: Eliciting requirements is about determining all of the sources of requirements and then using these to understand, to the best of our ability, the problem to be solved and the characteristics of the solution. In my project I have developed Use Case which is considered as a vehicle for problem understanding.
Figure 1 shows the use case diagram for my project.
Figure 1
Requirements Analysis: A model of the requirements can be used to: test the feasibility of the requirements, help to understand aspects of the problem domain clarify misunderstandings and act as a laboratory for the imagination. A good model can be modified, extended, reduced or transformed in order to explore requirements. UML is a large language which can be used for most phases of the software life-cycle including Requirements Analysis through use cases and analysis models, through to the design, coding and testing phases of the project. UML can be used as a notation for structuring and modelling the problem domain. The UML diagrams that I have created for my project are Class Diagrams, Sequence Diagrams, State Chart Diagrams, Activity Diagrams, Deployment Diagrams, High level architecture Diagrams, and Data Flow Diagrams. One of them is shown below.
Figure 2: High level architecture diagram
Requirement Specification and Validation: The task is to take the results of the elicitation and analysis process and to present them in a clear, succinct and unambiguous manner in a form suitable for further development. The Software Requirements Specification (SRS) is used to document and communicate the requirements among the various stake-holders. In my project we have developed an SRS document that serve as the basis for agreement between the various stake-holders on what the software system will do.