A Computer Software Engineer develops software systems to be used by their clients, such as a website used to sell the client’s products. Although software engineers spend the majority of their time programming and testing the software, a key component to the success of a software engineer is the ability to write a thorough Software Requirement Specification (SRS). A SRS documents the requirements and dependencies needed for the software, prior to beginning any programming. Therefore, a Software Engineer must po The SRS is so important because engineers can have a wide scope of clients that they regularly work with.
A SRS documents the requirements and dependencies needed for the software, prior to beginning any programming. This document requires a two-way understanding that assures both the client and the engineer understand the needs and goals of the software. The first step in writing a SRS is understanding the client’s requirements, and then clearly documenting these requirements in terms the client can relate to. This is where correctly analyzing the client is very important on the engineer’s part because if the SRS is not right and the engineer did not understand the client, the program will not be what the client wants costing the company more time and money.
Type of Writing and Communication
According to the journal that was written by Lui et al., “correct understanding of the user’s requirements and appropriate design decisions almost always contribute considerably to the reliability of the software.” Appendix A shows not only the importance of the specification document, but also the importance that the specification document be reviewed and evolved several times before arriving at the final formal SRS, and prior to beginning programming. First the client and engineer discuss and analyze the requirements, from which the engineer produces the first draft of the SRS, called the Informal Spec. This Informal Spec is then reviewed and discussed by both the client and engineer, with the engineer enhancing the spec based on the review, and evolving the spec to add more detail, producing the second draft of the SRS, called the Semi-formal Spec. This review and evolution process is repeated as many times as needed, until the final Formal Spec is produced, or the SRS. Then programming can begin. “The process of writing a requirements speciﬁcation usually requires frequent communications between the developer and the client, keeping the structure of the speciﬁcation clear and the statements or expressions used readable is therefore crucial”(Lui et al.).
Consequences and Time Spent
The reason that a SRS is needed should be rather obvious; if the requirements aren’t written down, how do the software engineers know what to program, and how does the client know what to expect? (Berezin) However, the SRS is often times skipped, or written at a very high level, lacking enough detail. Taking the user requirements and...