Tuesday, May 5, 2020

Development of Software Engineering Firms †Myaassignmenthelp.Com

Question: Discuss About The Development Of Software Requirements By Engineering Firms? Answer: Introducation: Software requirements is a field within Software Engineering that entails the identification of the needs by the clients or users of a particular software product. According to Software Engineering, a requirement is defined as a necessity for a user to solve a particular problem or achieve a certain objective. The requirement process is carried out in a series of steps which include a feasibility study, gathering, specification, and validation. The software needs of the clients have to be documented which serves as a contract between them and the developers. There are different types of software with some being very large while others are small. Nonetheless, all types of software requirements undergo a similar procedure during their development. The dynamics that goes into software requirement will be analysed and discussed in a detailed manner in this paper. Also, the alternative approaches that are used in solving problems using software requirements will be investigated (Wiegers e t al., 2013). There are several types of requirements such as user requirements, systems requirements, and software specification. User needs are written for the clients, and they consist of statements in the natural language including the diagrams of services that will be provided. System requirements are well-documented procedures and descriptions of the system services. They serve as contracts between the client and the developers. Finally, software specification is written for the developers, and it contains a detailed software description that is used for the design of the same. Requirements are also classified as either functional or non-functional. Functional requirements describe how the system will interact with different inputs and how it behaves in different situations. On the other hand, non-functional requirements illustrate the constraints on the services or services offered including the standard to be followed (Laplante, 2009). The first step in software requirement when a client orders for a certain product is conducting a feasibility study. This is the process of collecting information and doing a detailed analysis of the same. The study determines whether it is possible to develop the product in an effective manner and at a favourable cost that will benefit both the company and the clients. This stage, therefore, is used to make a decision whether a software product will be developed or not. If positive, then the software moves to the next stage which is gathering (Gottesdiener, 2009). Requirement gathering is a stage whereby the Software Engineers collect requirements from the clients on the features that they expect to be on the product. This includes all ideas and suggestions from the user which are then carefully analysed to identify the most suitable ones. After this is done, the product moves to the next stage which is software requirements specification. Software Specification describes various aspects of the software such as its interaction with the hardware devices, the speed of operation, response time of the system, portability of the software across various platforms, maintainability, external interfaces available, security, and its quality among other features(Van Lamsweerde, 2009). It is also at this stage that the requirements are expressed in natural language, while the technical requirements are expressed in structured language. Also, the design description is written in Pseudo code (Bourque et al., 2014). The final step that follows specification is the validation of the software that is already developed. In this stage, the software is checked to ensure it adheres to all legal requirements as well as confirms its functionality is valid. Also, the formal, informal and functional conditions are documented and kept for future reference. After a software requirement has been successfully developed, it is controlled and maintained in a process called software management. The management of software is a continuous process that must be done as long as the product is operating. This is done through a periodic analysis and elicitation of the objectives that were set during the development phase of the software (Prause, 2008). In light of this, the software Engineers keep communicating with the developers, stakeholders and users of the product so that they can acquire information that will enable making any necessary adjustments to the requirements. There are many ways of getting information from the clients, and these are known as software requirement elicitation methods. The developers thus can communicate with the users using the following elicitation techniques: interviews, surveys, brainstorming, domain analysis, questionnaires, observation and task analysis. All these are efficient methods that are applicable depending on the type of software being developed as well as the convenience of the method to the users and developers. All finished software have particular characteristics that define them and which the Engineers have to consider once the product is complete and ready for use. According to Chemuturi (2013), a finished software requirement should be: clear, correct, consistent, coherent, comprehensible, modifiable, verifiable, prioritised, unambiguous, traceable, and have a credible source. These features are monitored before the product is recommended to the client. Another main requirement is software is the system analysis of the software. This activity is carried out by an IT personnel who ensures that the software requirements are conceived and documented properly. The software analyst performs several checks which include: identifying the sources of the requirements, validation, developing and implementing a management plan, and coordinating and finalising the acceptance method with the clients and the stakeholders. These activities are performed in a computerized system as the IT personnel is an expert in the same. If a software element meets all the above qualities, then it is declared to be good and efficient for use. If found not good, then the product is returned to the developers for improvement and the users are informed so as to give suggestions on the possible solutions that can be applied. The software requirement development process is a complex undertaking which depends on various aspects as highlighted above. The developers normally have the crucial task of deriving the right kind of information from their clients which have to be used in the design of the software. As such, a comprehensive communication method ensures that the requirements obtained are clear and concise for implementation. References Bourque, P.; Fairley, R.E., 2014. "Guide to the Software Engineering Body of Knowledge (SWEBOK)". IEEE Computer Society. Retrieved 17 July 2014. Chemuturi, M., 2013. Requirements Engineering and Management for Software Development Projects. doi:10.1007/978-1-4614-5377-2. ISBN978-1-4614-5376-5 "Guide to the Software Engineering Body of Knowledge". IEEE Computer Society. Retrieved 11 January 2013. Gottesdiener, Ellen., 2009. The Software Requirements Memory Jogger: A Desktop Guide to Help Business and Technical Teams Develop and Manage Requirements. Addison-Wesley. ISBN157681114X. Laplante, Phillip A., 2009. "Requirements Engineering for Software and Systems". CRC Press. Prause, Christian; et al., 2008. "Managing the Iterative Requirements Process in a Multi-National Pressman, Roger (2010). Software Engineering: A Practitioner's Approach. Boston: McGraw Hill. p. 123. ISBN 9780073375977.Project using an Issue Tracker" (PDF). IEEE Computer Society. Retrieved February 5, 2013. Software requirements specification helps to protect IT projects from failure". Retrieved 19 December 2016. Van Lamsweerde, A., 2009. Requirements engineering: From system goals to UML models to software (Vol. 10). Chichester, UK: John Wiley Sons. Wiegers, Karl; Beatty, Joy, 2013. Software Requirements, Third Edition. Microsoft Press. ISBN 9780735679665

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.