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

Software Engineering - Literature review Example

Cite this document
Summary
This literature review "Software Engineering" presents an effective system development process that requires professional handling of challenges and changes necessary for the development of a system. The process needs the incorporation of the needs of stakeholders…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER95.4% of users find it useful

Extract of sample "Software Engineering"

Name: Instructor: Institution: Course: Date: Software Requirements Management Process 1.0 Introduction Software engineering is the transition of traditional local development forms into collaborative software teams beyond national borders. The process requires quality communication and collaboration between teams and that is a challenge, which most software developers miss. The global demands for software demands an inquiry into the challenges that Requirements engineering faces (Vlas & Robinson, 2012, p. 11-38). The management of software requirements engineering is a difficult task on the local front and becomes complicated when there is the involvement of cross-functional stakeholder groups. This is because the process requires the development of a component applicable to various languages, time zones and cultures. Therefore, there is the challenge of global software developments, which requires understanding for the effectiveness in developing and formulation of recommendations that can help in the improvement of existing software. Global software requires the integration of cultural diversity, language and remote communication for gathering requirements, negotiating and making of specifications relevant to the global needs. 1.1 Software requirement engineering challenges The challenges of formulating global software lie on the lack of awareness on the strategies for approaching local contexts and having no understanding of common necessities and requirements. Challenges that face the Requirements Engineering are such as failure to share artefacts, lack of collaboration, and the failure for effective engagement of collaborators and stakeholders in geographically diverse contexts for meeting of customer’s global needs. Requirement engineering forms a foundation for software development and it forms the basic level of the task process. There are four pillars of requirement engineering necessary for the support of software development. Every software edifice requires some support from functional and non-functional base, which acts as building bricks to support the construction of the software. The foundation then requires topping up through designing, implementing and testing of the product. The aim of requirement engineers is to meet the needs of software end user within the minimum time and cost (Pitula & Radhakrishnan, 2011, p. 323-351). The process of CMMI in requirement engineering is a phase in the engineering of software. Through feasibility studies, there is the initial process of elicitation of requirements, analysis, validation and management of requirements. Requirement management is an area of the process of CMMI where the process of its implementation follows formal standards and it offers the chance for offering improvement development in requirement engineering. It is a process for the application of new methods into existing systems through careful processes for efficiency of requirement engineering. Therefore, requirement management is an essential aspect in the entire process of software development. It is necessary in the process of gathering requirements, their analysis and implementation of requirements necessary for the satisfaction of stakeholders. Effectiveness in the entire process during a development process leads to the improvement of the reputation of an organisation (Selvakumar & Rajaram, 2011, p. 2991-2995). 2.0 Best practices for the management of software requirements Early stages of software management require strategic planning, negotiations, analysis and gathering of requirements. In a global context, the understanding of the remoteness of teams is necessary for analysts since communication plays a significant role in the overall performance of a project. There is the need for cross functioning among teams and stakeholders to tackle the need for consistency and ongoing communication between remote development staffs and the headquarters. There are few opportunities for conducting of face-to-face communication for requirement needs on a continuous process and the distance between teams can pose serious challenges on the Requirements Engineering process among teams and stakeholders is also contributed by social, political and cultural influences. 2.1 The elicitation Phase In Requirement Engineering, the initial phase involves the elicitation phase, which requires the investigation of problems within the existing problems. This step requires keenness because failing to identify errors while developing application can affect the final product when the system fails to meet the needs of stakeholders. However, it is always very hard to identify problems during the elicitation phase and it leaves requirement engineers to face the challenge of mitigating difficulties as reported by the requirements of stakeholders. However, through anticipation of the problems and classifying them as challenges, requirement engineers have the chance for taking action and preventing any further problems with the software. The elicitation process requires identification of the types of requirements and that should come from various sources such as in current documentations of the project, process documentations of the business, and from interviews by stakeholders. This is a process known as requirements gathering (Ullah & Lai, 2013, p. 1-10). 2.2 analysis of requirements After elicitation is the analysis of requirements, which leads to the determination of the identified requirements to determine their clarity, completeness, consistency and any existence of ambiguity with the aim of the resolution of any existing conflicts. The findings are later recorded. The process of requirements analysis requires keenness and consideration of aspects such as people’s relationships, changes in the environment, and all the stakeholders by putting into consideration the consequences of all the needs and implications of the new system under development. The analysis process can take the form of employee user cases, user stories, focus groups, interviews, ethnography and workshops for the development of a list of requirements. The management process can develop a prototype for demonstration of the system to stakeholders. These can help the systems analyst to combine the methods applied in the development of specific requirements for the development of satisfactory systems (Erra, & Scanniello, 2010, p. 134-148). 2.3 Requirements representation The phase of requirements representation forms a description of individual requirements in a manner that is structured and systematic with essential needs taking the first priority. It is important to have a unique identification of each requirement. The next process is validation, which requires the involvement of customers, project managers, testers and designers for the performance of formal investigations within the small project sets. Best practice requires that the customer make the approval of project. Other challenges, which present problems, are those that come from operational domains. The management and modelling of these is hard and its requirements demand careful formatting through specified templates that follow standard requirements. It is the role of management teams to understand such requirements and to make certain of its communication to stakeholders. At the same time, good practice calls for modelling of requirements that can provide for ease of validation by stakeholders. The process needs care since any mishandling of the specifications of requirements can increase levels of problems and challenges, which can lead to an eventual failure in the application of the software (Ko, Abraham, Beckwith, Blackwell, Burnett, Erwig, Scaffidi, Lawrance, Lieberman, Myers, Rosson, Rothermel, Shaw & Wiedenbeck, 2011, p. 1-44). Below is a table showing some of the steps within the software management process; 2.4 the tracing phase Following the challenges faced during requirements development, it is important that any necessary change identified through a defined process of change management is accepted. A request for some change on a process is not acceptance for its implementation since this requires a process of impact analysis to determine the necessity of making the change. It is important to make an analysis of each effect an identified change can have on a project to be sure on not interfering with the developing system. The management of a project further requires that all changes made to requirements are traceable to documents of change requests. The tracing process needs the application of unique identifies relevant to every particular requirement. Used cases should be traced to requirements and the reverse should also be applicable. 3.0 Benefits of a process-oriented engineering approach Process oriented engineering allows for conversion of operational processes into excellence for achievement of strategic advantages, which lead to a long-term competitive edge. An approach allows for the improvement of short-term goals of an organisation to long-term requirements for competitive performance. The process allows for integration of goals, actors, stakeholders and relationships of customers and performers that is realistic for the world that keeps changing. Process oriented approaches allow for the accessibility to data, interaction of objects and integration of processes for the development of best results to stakeholders. Process approaches provides room for connecting the needs and a business has with requirements engineering. This gives way for the investigation and development of new and improved approaches that can meet the business needs of customers. Through empirical evaluation of the approaches currently used in industrial settings, the developers get an approach for developing means of increasing performance of software in line to modern practices (Safayeni, Duimering, Zheng, Derbentseva, Poile, & Bing, R 2008, p. 77-82). In requirements management, the tools to use in the sharing of information with teams through multi-user databases allow for collaboration and management of project requirements in an effective, efficient and reliable manner. This is effective for collaboration with teams in geographically distant regions. There can be manipulation of databases importation and exportation of requirements. These help in the connection of requirements to objects under storage for testing, designing and for the management tools for projects. These tools allow for the identification and definition of all requirements in terms of their versions, numbers, statuses, authors, rationale, origins, priority and release allotment. Through tracing, there is the creation of linkages between requirements and all the elements necessary for the system, which allows for the ease of conducting evaluation of the impacts of any changes or deletions of requirements from the system. Through web access tools, it is easy to share information on the databases as well us updating them in real time basis by team members regardless of their geographical location. Some of the management tools used for the development of control over collected requirements are chosen depending on the focus and objectives of a project and the requirements for the satisfaction of customers and stakeholders. 4.0 Requirement management process definition for small projects The aims of scheduling are to predict the future and to make considerations of assumptions and constraints a project may face. It helps in the making of designs and organizing of processes into relevant sequence for the development of the management plan for the project. The process uses various tools and inputs designed for understanding resources, constraints and risks. The plan then links the events for the completion of a project effectively. In securing of the process roles for the management of small projects, a confirmation of commitment of those having roles in the process such as the process managers, process owners, and process performers is necessary (Kumar, 2005, p. 14-21). There has to be consideration of time, money and scope of a project. This time requires obtaining and preparation of tools such as software equipment for the implementation process. The management of process requires the set up of a turnover plan used to expand the process into productivity. Management of processes in small projects require verification and review of schedules, determination of change controls of the process, process updates and training of process performers. The uncertainties in project process require regular reviewing and revision of the progress. It helps in the progression of the project, countering of risks, making changes and identification of new risks. The project management process scheduling allows the project vision to turn into reality through a defined time based plan. 4.1 Inputs of small project management Some of the tools for project managers to use in the development of project schedules, the process-planning can use Gant Charts for developing schedules. The inputs for developing a project schedule are such as personal calendars, which help in determination of working days and shifts required for the project. It also helps in the defining of resources available for the completion of the project schedule. Description of the scope of a project is another input necessary for the determination the starting and ending dates of the process. It presents the assumptions, constraints and restrictions and can be inclusive of the expectations of stakeholders for later determination of milestones made in the project process. Another input is the understanding of project risks and that allows for extra time allocations to for mitigation of risks identified through risk analysis. A consideration of schedule constraints is helpful in identifying required resources and activity lists. These inputs help a project manager into understanding the availability of resources and the necessary deadlines for creating flexibility in the project process (Kumar, 2005, p. 14-21). 4.2 Small project tools The combination of inputs helps in the development of project schedules and that requires appropriate tools. A project manager can use Gantt charts and PERT Charts for graphic presentation of required project activities, time requires and completion as well as operation sequence. A project manager can conduct a critical path analysis to determine the completion of activities within the best timelines to help in finishing of a project within the minimum time possible. This allows project managers to identify the dependencies among processes allowing for the creation of critical activities and date schedules. Another tool is the schedule compression, which allows for shortening of project duration through decrease of critical activity times. It helps in meeting of project constraints while maintaining the focus on meeting the project scope. This takes place through crashing by allocating extra resources to save time for work completion and fast tracking through rearrangement of activities for management of parallel activities. These tools help in time and resource management and ensuring that any need for change within the process receive adequate considerations. All functional and non-functional requirements need prioritisation to determine those to implement first (Safayeni, Duimering, Zheng, Derbentseva, Poile & Bing, 2008, p. 77-82). Requirement management process works based on the understanding of the needs of stakeholders. By understanding the needs of customers, the management determines the success requirements in the proposed engineering strategy. This is a difficult scenario requiring skills for tackling of challenges, which present themselves throughout the process (Rudorfer, Stenzel & Herold, 2012, p. 54-59). Below is a triangular diagram that shows the customer requirements, business requirements and system requirements in relation to the software engineering strategy. Key A: Business Requirements (Why) B: Customer Requirements (What) C: System Requirements (How) Management of projects require the balancing of adaptability and flexibility to allow for the changes in the environment while observing the controls required through managerial responsibilities. Requirements management requires effective communication. It means that there should be clear descriptions of requirements for management of projects. There is need for agreement by teams involved in the management of requirements. Communication starts from contradictory and unclear ideas of the proposed system and requires the formation of clarity of forming requirement specifications. Management require mitigation of changes in the environment to provide room for creating specific requirement strategies that can meet the needs of stakeholders. Stakeholders must come to terms about the necessary requirements and specifications with project boards having the responsibility to determine a relevant baseline that a project can follow. The requirements engineering process requires that the manager possesses the capability of making decisions for change requirements. The manager should be capable of building requirements for functionality for accommodating change without causing adverse effects to construction and design (Erra & Scanniello, 2010, p. 134-148). 5.0 Conclusion Requirements engineering is becoming popular in the field of software engineering. Requirements engineering helps in the modification of systems. Requirements are descriptions of the performances expected from services or products. Through requirement engineering processes, there is the definition of the requirements of businesses, systems and customers in defined and well-communicated strategies through requirements specifications. This presents specification of the future needs of a system required to incorporate into the process of developing software. Requirements development and requirements management are the major domains that form requirements engineering, which is in the need for elicitation, formulation, analysis and validation of the specified requirements. On the part of requirement management, the lifecycle of a requirement design and the requirement itself are put into consideration to help a business to get through turbulent business challenges. It is in the role of requirement engineers to cope with all the challenges and changes in the requirement, requiring incorporation of new insights for effective functionality of a developed system (Erra & Scanniello, 2010, p. 134-148). An effective system development process requires professional handling of challenges and changes necessary for development of a system. The process needs the incorporation of the needs of stakeholders through maintenance of continuous feedback for handling of changes. The process of requirements engineering requires control of money, time and quality management during the development process. The process of requierements engineering plays a key role in software development and requires efficient management of the processes of communication, time and costs. There is need for timely tackling of dissatisfactory results and any commitment issues that can interfere with the results of requirements. With consideration of changes that occur in the market daily, it is necessary to be flexible in the requirements needs though with consideration to the costs of time and money. The control over time and money allows for working within budgetary limits and timeframes. The concept is to make a balance between the controls applied in the process and the needed flexibility for being relevant in the development of the system. Project management requires a reasonable capacity for adaptation to project needs and situations. After all, the concept of requirements engineering is to meet business needs in an explicit manner for the development of software in accordance to the needs of a business (Siadat & Minseok, 2012, p. 536-544). Therefore, the results produced by the process of requirements engineering needs to be of the results of synchronised understanding on the means of functionality of the system. Subsequently, the consideration about the quality of the specifications given for requirements ought to be of high capacities that can convince teams and influence their perceptions regarding the system. The roles of the requirements engineers are to elicit the needs of customers, analyse them, make system requirements and make specifications for businesses and customers. Requirement engineers recognise any inconsistencies in collection of requirements and structures the collection. It is in the role of the requirements engineer to be in charge of conducting interviews and workshops for stakeholders (Erra & Scanniello, 2010, p. 134-148). Bibliographies Erra, U, & Scanniello, G 2010, 'Assessing communication media richness in requirements negotiation', IET Software, 4, 2, pp. 134-148, Business Source Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=be7bcb07-f31b-4b95-a87c-80881c30bbd8%40sessionmgr114&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=bth&AN=48847298 Ko, A, Abraham, R, Beckwith, L, Blackwell, A, Burnett, M, Erwig, M, Scaffidi, C, Lawrance, J, Lieberman, H, Myers, B, Rosson, M, Rothermel, G, Shaw, M, & Wiedenbeck, S 2011, 'The state of the art in end-user software engineering', ACM Computing Surveys, 43, 3, pp. 1-44, Business Source Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=e9e99a35-095f-466b-992e-0218d5384462%40sessionmgr112&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=bth&AN=70341636 Kumar, P 2005, 'Effective Use of Gantt Chart for Managing Large Scale Projects', Cost Engineering, 47, 7, pp. 14-21, Research Starters - Business, EBSCOhost, viewed 26 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/pdfviewer/pdfviewer?sid=52262009-9f3a-4807-9406-3f0caebaba7c%40sessionmgr115&vid=2&hid=113 Pitula, K, & Radhakrishnan, T 2011, 'On eliciting requirements from end-users in the ICT4D domain', Requirements Engineering, 16, 4, pp. 323-351, Academic Search Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=7806212b-57d6-44ad-aa5d-98e74464417f%40sessionmgr113&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=a9h&AN=66713825 Rudorfer, A, Stenzel, T, & Herold, G 2012, 'A Business Case for Feature-Oriented Requirements Engineering', IEEE Software, 29, 5, pp. 54-59, Computers & Applied Sciences Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=6fd81a9a-c3fa-4697-9e5d-bb5bc23923fe%40sessionmgr104&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=iih&AN=79465285 Safayeni, F, Duimering, P, Zheng, K, Derbentseva, N, Poile, C, & Bing, R 2008, 'Requirements Engineering: In New Product Development', Communications Of The ACM, 51, 3, pp. 77-82, Business Source Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=bba2cc6e-08e7-4918-9ba5-1766ebdda1de%40sessionmgr115&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=bth&AN=31317844 Selvakumar, J, & Rajaram, M 2011, 'Performance Evaluation of Requirements Engineering Methodology for Automated Detection of Non Functional Requirements', International Journal On Computer Science & Engineering, 3, 8, pp. 2991-2995, Academic Search Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=5adc142a-e183-44e9-b7f6-a38bf8500d02%40sessionmgr198&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=a9h&AN=67367959 Siadat, S, & Minseok, S 2012, 'Understanding Requirement Engineering for Context-Aware Service-Based Applications', Journal Of Software Engineering & Applications, 5, 8, pp. 536-544, Computers & Applied Sciences Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=0757bded-4209-4fe7-9a19-bcd018819b13%40sessionmgr110&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=iih&AN=83402921 Ullah, A, & Lai, R 2013, 'Requirements Engineering and Business/IT Alignment: Lessons Learned', Journal Of Software (1796217X), 8, 1, pp. 1-10, Computers & Applied Sciences Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?sid=4c216231-3787-4c8d-81b3-99025dfee635%40sessionmgr198&vid=1&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=iih&AN=86703697 Vlas, R, & Robinson, W 2012, 'Two Rule-Based Natural Language Strategies for Requirements Discovery and Classification in Open Source Software Development Projects', Journal Of Management Information Systems, 28, 4, pp. 11-38, Business Source Complete, EBSCOhost, viewed 18 April 2013. http://web.ebscohost.com.ezproxy.apollolibrary.com/ehost/detail?vid=16&sid=9cb47d0b-d655-4cd1-8cd7-16f0b35d8478%40sessionmgr112&hid=118&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d%3d#db=bth&AN=74981420 Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Software Engineering Report Example | Topics and Well Written Essays - 3000 words, n.d.)
Software Engineering Report Example | Topics and Well Written Essays - 3000 words. https://studentshare.org/technology/2049985-software-requirements-management-process
(Software Engineering Report Example | Topics and Well Written Essays - 3000 Words)
Software Engineering Report Example | Topics and Well Written Essays - 3000 Words. https://studentshare.org/technology/2049985-software-requirements-management-process.
“Software Engineering Report Example | Topics and Well Written Essays - 3000 Words”. https://studentshare.org/technology/2049985-software-requirements-management-process.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Engineering

Software Engineering Tutorial

The paper “Software Engineering Tutorial” will talk about a program for machinery for the monitoring of friction, temperature as well as pressure values.... These kinds of systems are really a challenge as they have a specific task to meet and if the software designed fails to deliver on time it's not of any worth....
8 Pages (2000 words) Assignment

SOFTWARE ENGINEERING assignment 4

Software Engineering.... software Assignment 4 Answer to section 7 The term stakeholder is used to refer to any person or group who will be affected by the system, directly or indirectly.... The software engineers, business managers and domain experts.... he spiral model is best to be used as it keeps on circling and thereby steps in all the phases of software development life cycle including system implementation and requirements documentation gets implemented....
2 Pages (500 words) Essay

Software Engineering and Novel Programming

Because of the cold war the computer rooms were heavily guarded and research on Software Engineering was not given much importance. After thorough research done by software engineers and some independent programmers some of the programming languages like BASIC, Pascal etc.... They quickly grabbed the opportunity and invested heavily on Software Engineering research.... It's the research and analysis done by the scientists and programmers in Software Engineering yielded fruitful results in the development of different programming languages, which became more and more user friendly....
3 Pages (750 words) Essay

Software Engineering

Software Engineering Assignment 3 Answer to section 25.... Software Engineering.... : The factors which need to be taken into account when selecting staff to work on a software development project are:1.... It includes software, hardware, interoperability and other critical system requirements....
2 Pages (500 words) Essay

HND Computing and Software Engineering

ND COMPUTING AND Software Engineering 3 In the ill-defined problems, the dilemma regarding what virus might struck in the computer sets, the capability of the manpower to execute the demand, the uniformity of performance of the computer sets in the three branches and other related problems are among those that are to be included in this kind of problem....
10 Pages (2500 words) Essay

Software Engineering Design Workshop

This paper "Software Engineering Design Workshop" focuses on the fact that mobile gaming has been the favourite pastime both for the young and the old.... Apart from various forms of games that are available on phone, people do indulge in the other games that are available online or in the newspapers....
9 Pages (2250 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

Portability of the C Program Language and the Unix System

The architectural structure of this compiler was not one that tried to achieve portability among several machines, but to achieve the functionality.... The original compiler had no… The structure allowed for cheating to indicate the fact that possible floating values and integer might be overlaid....
3 Pages (750 words) Essay
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