StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Software Engineering Requirements - Literature review Example

Cite this document
Summary
This literature review "Software Engineering Requirements" discusses the requirements engineering that is associated with the developments as well as documentation and maintenance of software requirements. Software engineering requirements are about the development of software requirements…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER92.9% of users find it useful

Extract of sample "Software Engineering Requirements"

SOFTWARE REQUIREMENTS MANAGEMENT PROCESS By Name Course Instructor Institution City/State Date Introduction The requirements engineering is associated with the developments and formulation as well as documentation and maintenance of software requirements. Therefore, software engineering requirements is about the development, documentation and maintenance of software requirements. The requirements in software engineering are dependent on the project involved and its technicalities (Karlson et al., 2007, p. 589). Challenges in Software Requirements In software development, there are different challenges that are faced by developers in fulfilling the requirements in various projects. This is because the requirement in software engineering is acting as the foundation of the development of any software (Stol et al., 2011, p. 1324). This means that the challenges in software requirements are focusing on the functional and nonfunctional requirement in software engineering. The challenges in software requirements also come in terms of design, implementation and testing of the software. In such cases, the development of successful software is faced by different challenges at different stages of development. The challenges may include but not limited to the following as discussed below (Asghar & Umar, 2010, p. 35). Elicitation and Analysis of Requirements As a result of unexpected growth of the engineering requirements, it has been challenging to most engineers in this file to comprehend the stakeholder’s needs. This brings about elicitation challenges since the information in the requirements is originating from different sources. This means that the stakeholders have varying demands and contradicting requirements which make it difficult for the system developers to comprehend this information. In addition, requirements elicitors have faced the challenges of analyzing the requirements manually and detection and processing of abstraction of the main concepts in software development is difficult. There is poor communication between the users and developers of the software. In any process of development, communication is vital in ensuring that the requirements of each stakeholder are integrated in the formulation process. Additionally, the stability of the organization is vital in managing requirements (Karlsson et al., 594). This is because communication is well coordinated in a stable organization. However, it has been a challenge for engineers and software developers in integrating stakeholders requirement is due to poor communication between the users hence hindering the gathering of requirements (Asghar & Umar, 2010, p. 35). Requirements Specification The specifications requirements act as the basis of agreement between customers and suppliers on what the software is intended for. They enable the transfer of software from one user to another or from one machine to another. The specifications of software development contained in different guidance manuals are poorly developed and vague. In most cases, these specifications are incomplete and vague making it difficult for developer of software to evaluate and understand the descriptions of the software. The manual-based-specification makes it difficult for these descriptions to be configured and makes it strenuous to manage the requirements. In addition, most stakeholders have an issue in writing requirements specifications. Therefore, making multiple copies of the requirements for different stakeholders becomes expensive (Asghar & Umar, 2010, p. 35). Validation of Requirements The validation of requirements ensures that engineers are able to understand the requirements and specifications of the requirements. This ensures that engineers are able to detect any issues before the requirements can be integrated in the software development process. It has been an enormous challenge in validating the requirements in software engineering. This is because the specifications in the requirements are incomplete and vague. This makes nearly impossible for engineers to confirm the requirements thereby rendering it difficult to manage the requirements (Asghar & Umar, 2010, p. 35). System requirement Engineers have been faced with the challenges of integrating functional requirements and non-function requirements in software development. Most of the requirement are gathered by different analysts hence becomes conflicting and redundant. There has been no system of gathering the functional and nonfunctional requirements for use in software development (Asghar & Umar, 2010, p. 36). Additionally, stakeholders are not skilled in describing their nonfunctional specification. It is a challenge for software developers to interpret the nonfunctional requirements since they are poorly structured and described. Therefore, there is a challenge in dealing with dynamic interdependence that is influential in the nonfunctional characteristic of the requirements (Karlsson et al., 2007, p. 595). Product requirements In managing software requirements, engineers have been facing the challenge of selecting commercial off the shelf products. In most cases, the specification requirements are not matching with the COTS of the products (Asghar & Umar, 2010, p. 37). Additionally, the fluctuations in market demands also cause a challenge in designing products with certain specifications. This phenomenon is referred to as volatility of the requirements in software engineering (Karlsson et al., 2007, p. 595). Application challenges The challenges facing engineers in the application of software requirement include enterprise application and multisite software development. In this case, the developers are faced with the problem of understanding different domains and business processes. Overview of Software Requirements Management Best Practices The management of software engineering requirement requires that the company should adopt a management practice that will ensure all the management requirements are in the correct order (Schmidt, 2013, p. 8). These best practices are involved in the software engineering process from specification, elucidation, verification and validation to application of the requirements. The practices in software requirements management are developed in order to overcome or reduce the challenges involved in software development. Baseline Creation In developing the requirements, it important that the management of the company should involve different stakeholders in managing and developing the requirements. This is aimed at reducing contracting specifications. This is because they requirements in software engineering are coming from different sources such as users, customers, partners, and domain experts. The management should include requirement baseline. This would contain the agreed set of requirements between different stakeholders in the software development process (Wiegers, 2012, p. 6). Managing Versions of Requirements The requirements documents versions should be properly managed. This means that the requirements version should always be updated and should be accessible to all users of the requirements. However, the update should be restricted to authorized persons. This implies that, although everyone has access to the requirements not all people have the authority to update the requirements (Wiegers, 2012, p. 7). The database should be stored in databases which are configured and updated. In managing the versions, a version identification scheme is necessary in ensuring appropriate management practices (Luedke, 2004). Adoption of a Change Control Process In cases where the requirements change process in not controlled by any process, problems such as degraded quality, unpredictable schedules and reworks are likely to arise in the management of software requirements. There should be a well-defined change control process in the organization where all the changes in the control process should follow it (Wiegers, 2012, p. 8). Change impact analysis In this section, the engineers should identify the conflicting areas in the requirements. Additionally, the affected designs should be identified and analyzed. Apart from this, products that are workable are identified and updated as necessary (Luedke, 2004). Requirements Attributes The additional information of all requirements is stored. In this database, the date of creation, status of requirements, author and priority of the requirement is captured in the database (Gorschek & Davis, 2008, p. 67). Tracking Status of Requirement In this category, the requirement is indicated whether it was approved, verified, or rejected. This is necessary to show the record on the proposed requirements, and why it was verifies of record and deleted from the database (Wiegers, 2012, p. 14). Tracing Requirements into Designs This is to ensure that there is no requirement that is overlooked. In addition, the system should be able to ensure that all the requirements in the database are uniquely identified. The traceability of the requirement is shown by the use of a traceability matrix (Luedke, 2004). Requirements Management Tool The requirements should be stored in a requirements management tool. The management too should have the capabilities of managing the different versions and changes in the requirements. It should be able to store the requirements attributes and define the unique tracing links for each requirement. Moreover, the requirements management tool should be able to offer security to the requirements in terms of restricted access in updates and web access. This means that each user should have an access code to the requirements databases in the requirements management tool. Benefits of Process Oriented Approach In the management of software requirements, the identification of a management tool is appropriate in determining the approach. This approach governs the whole process on requirement management in software engineering. The advantages of using a process oriented approach are that it is aligned with the vision of the organization. This makes the whole process of software requirements management an integral part in the business strategy of the company. The process oriented approach enables software engineers to detect risks involved in the software development at an early stage. This enables software engineers to find suitable measure and adjust their requirements in order to utilize resource in the best way possible. Therefore, the approach enables early detection of dangers in software engineering (Burnstein, 2003, p. 356). In addition, the process oriented approach ensures that the management of the requirements is compliance with security measures. This ensures that the databases of the requirements in the management tools are not interfered with. In addition, the organization is capable of aligning its strategy with the software development. The management can always predict the performance benefits from the requirements management tool. This is because the requirements are monitored in the development process. This makes it easy for a desired outcome to be achieved with easy. In this case, the process oriented approach is useful in ensuring that requirements of the software engineering are properly aligned with the business strategy of the company, hence increasing the performance of the company. This is through proper management t of the resources involved in the development of the software (Schmidt, 2013, 10). Requirement Management Process The requirement management process consists of different elements for instance initiation of requirements, planning of the requirements, and development of the requirements, the baseline, requirements traceability and validation. Requirements can be defined as the capability by a user or conditions under which he/she is capable of using in order to achieve an objective. In addition, it is the capability in which a system is used by a user or the system components are utilized by a user in order to comply with certain specifications or standards (Luedke, 2004). Requirements Initiation For smaller projects, it is essential to determine the reasons for initiating the requirements. For example, the initiation of a requirement in a project may include new laws in the requirement in order to comply with new laws and standards. Therefore, the project engineer should establish the scope of the project and the feasibility (Schneider, 2009, p. 57). Requirements Planning This would include the scope planning, interest of stakeholders, the impact of the project to the customers and how to involve the various stakeholders in the project. Therefore, the stakeholders in the project should develop the necessary steps and requirements in the project. Additionally, there is the need to estimate the initial and overall cost of the project. This step is crucial in the requirement development process (Luedke, 2004). Requirements Development This step provides the engineers with the technicalities of the project and its specifications. In addition, the development document provides developers with the designs and details required for the completion of the project. The requirement development process includes requirements collection, requirements constraints, documentation, review and approval. In collection, the engineers and developers capture the stakeholder’s interests. This is to ensure that the specifications of the requirements are not vague and contradictory. Failure to capture the stakeholder’s interest may result into failure or implementation of poor requirements in a project. In overcoming communication challenges, it is necessary to document the requirements in order to facilitate communication between the various stakeholders. However, proper presentation language should be used when documenting the requirements. The drafted document is reviewed for approval. In this step, there is the need to involve technical experts to provide their input in developing, reviewing and approval of the drafted requirements document (Luedke, 2004). Requirement Baseline The baseline is defined as the reviewed and approved requirements specifications which are only changed through a change control board through a formal change protocol. This is where the reviewing and approval process is described in details (Gorschek & Davis, 2008, p. 69). Requirements Traceability This is where requirements tracking matrix is developed in order to trace the links to various requirements in the requirements documents. This matrix allows the requirements to be traced from their origin to the system development cycle. Requirements Verification and Validation This is the reviewing of the approvals process to ensure that the approved requirements ate meeting the intended purposes in software engineering. In this section, the requirements document undergoes a rigorous assessment in order to ensure the requirements are successful after implementation. Moreover, the traceability is assessed to ensure that all requirements designs and testing requirements have been addressed (Schneider, 2009, p. 78). Requirements Change Management This is the restriction of changes at each level of requirements process. This is because all changes are related to work products in the requirements document (Luedke, 2004). Conclusion Software engineering requirements is about the development, documentation and maintenance of software requirements. The requirements in software engineering are dependent on the project involved and the technicalities. The managements of software requirements have various challenges to overcome in order for the requirements management process to be successful. The challenges in software requirements are focusing on the functional and nonfunctional requirement in software engineering. The challenges in software requirements also come in terms of design, implementation and testing of the software. The management of software engineering requirement requires that the company should adopt a management practice that will ensure all the management requirements are in the correct order. In addition, managing the requirements is crucial in order to ensure that any change is secure in line with set software engineering requirements. This report identified necessary steps to take in the management of software engineering requirements as well as processes that can be adopted during software development. References Asghar, S., & Umar, M., 2010. Requirement Engineering Challenges in Development of Software Applications and Selection of Customer-off-the-Shelf (COTS) Components. International Journal of Software Engineering (IJSE), vo. 1, no. 2, pp. 32-50. Burnstein, I., 2003. Practical Software Testing: A Process-Oriented Approach. New York: Springer. Gorschek, T., & Davis, A., 2008. Requirements engineering: In search of the dependent variables. Information and Software Technology, vol. 50, no. 1–2, pp. 67-75. Karlson, L., Dahlstedt, A., Regnell, B., Dag, J., & Person, a., 2007. Requirements engineering challenges in market-driven software development – An interview study with practitioners. Information and Software Technology, vol. 49, no. 6, pp. 588-604. Luedke, B., 2004. Requirements Management Practices: The 'Essence'. Embarcadero Developer Network. [Online]. Available at: < http://conferences.embarcadero.com/article/32193> Accessed on 09 May, 2013. Schmidt, R., 2013. Chapter 1 - Introduction to Software Engineering Software Engineering, pp. 7-27. Stol, K., Babar, M., Avgeriou, P., & Fitzgerald, B., 2011. A comparative study of challenges in integrating Open Source Software and Inner Source Software. Information and Software Technology, vol. 53, pp. 1319–1336. Schneider, K., 2009. Experience and knowledge management in software engineering. New York: Springer. Wiegers, K., 2012. Requirements Management Best Practices. [Online]. Available at: < http://media.modernanalyst.com/Karl%20Wiegers%20-%20Requirements%20Management%20-%20Best%20Practices.pdf> Accessed on 09 May, 2013. Read More
Tags
Cite this document
  • APA
  • MLA
  • CHICAGO
(Software Engineering Requirements Report Example | Topics and Well Written Essays - 2250 words, n.d.)
Software Engineering Requirements Report Example | Topics and Well Written Essays - 2250 words. https://studentshare.org/engineering-and-construction/2050147-all-has-provided-in-the-file
(Software Engineering Requirements Report Example | Topics and Well Written Essays - 2250 Words)
Software Engineering Requirements Report Example | Topics and Well Written Essays - 2250 Words. https://studentshare.org/engineering-and-construction/2050147-all-has-provided-in-the-file.
“Software Engineering Requirements Report Example | Topics and Well Written Essays - 2250 Words”. https://studentshare.org/engineering-and-construction/2050147-all-has-provided-in-the-file.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Engineering Requirements

Software System Development

In order to meet these objectives the SLDC has many specific requirements it must meet including: being able to support projects and systems of various scopes and types, supporting all of the technical activities, supporting all of the management activities, being highly usable, and providing guidance on how to install it.... In computer programming, a hacker is a software designer and programmer who build programs and systems that garner the respect of one's peers....
5 Pages (1250 words) Essay

Mythical Man Month

software engineering and development over the decades has developed to a large extent.... To compete with the new requirement software engineering has evolved over the years and trying to perform to the core.... In fact learning in the software engineering course is phenomenal over the years.... Considering the inherent properties and irreducible essence of software system, the following are the problems faced by software engineering: ComplexityConformityChangeabilityInvisibilitySoftware is too complex than human construct....
2 Pages (500 words) Essay

System Requirements

Moreover Project Manager presents a non functional flow of the system that shows how client's requirement will be fulfilled by this software. This is the major and important step of software engineering.... Considering engineering, then civil engineering is same as software engineering.... The only difference in civil engineering and software engineering is that if engineering fails, software crashes the maximum can be is, data is lost but in case of civil engineering the loss can be the human creatures....
3 Pages (750 words) Article

Software Process Models for Ashwell and Ilminster Leisure Services

booking facilities, class enrolment and management, membership management) using latest tools a) The requirement capturing process for the administrative The requirements are based on system functionalities and roles and so would not undergo any change with time.... b) The requirement capturing process for the user interface is an on-going process as a few of the requirements are subjected to change with availability of measures such as skill level of users, type of interface access methodologies, compliance with technological advancements, etc....
4 Pages (1000 words) Essay

Requirements of Engineering

Requirements of engineering have profited from software engineering paradigms and the information-systems.... This paper "requirements of Engineering" focuses on the fact that requirements engineering was initially known as the system analysis and its role was to integrate an engineering alignment into the system's examination.... This diverts the attention of the main issues which are: activities to be included in requirements engineering, what institutes a requirement, and issue that need more attention....
1 Pages (250 words) Essay

Professional certificates of software engineering

As a result, software engineers need to undergo a certification process for this to be effective and for the services software engineering Certification Software engineers should also face a certification ity before they get down to practicing their learnt skills.... There are a number of reason for which certification is crucial or needed for software engineers and the field of software engineering.... In addition, certification creates a benchmark for the software engineering market through which people can be gauged in terms of their skills (Tripp 2002, p....
2 Pages (500 words) Research Paper

Functional and non-functional requirements in Software development

software engineering.... software engineering.... In other words, software developers have to implement a number of strategic techniques necessary for developing a system that satisfies the targeted… Some of the most crucial factors to be put into close consideration in the development of a system are the functional and non-functional requirements (Aggarwal, 2005). In simple terms, functional requirements entail a set of features or characteristics that define how a Functional and non-functional requirements Development of quality and satisfactory software projects is always the maingoal of any software development team....
2 Pages (500 words) Essay

Implementing Software Development Project Management Best Practices

The process model has clear guidelines and procedural steps that a developer is required to follow so that they can produce a quality software product that not only meets the user requirements but also reaches the quality assurance standards.... The development of software models in the development of various systems has been seen as the new way and method of optimizing the process of software development.... software development process may involve a series of activities that range from developing to manipulation of the… stem features and to a farther extent even the procurement of the system hardware plus the training of the administrators whose sole duty is to perform the operations....
4 Pages (1000 words) Assignment
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us