Information Systems Methods: The Impossibility of Requirements

Verified

Added on  2023/01/18

|10
|2601
|31
Report
AI Summary
This report delves into the challenges of requirements engineering within the context of information systems development. It begins by defining requirements engineering and its crucial role in defining, documenting, and maintaining needs throughout the software development lifecycle (SDLC). The report explores the SDLC phases, highlighting the complexities and potential issues at each stage, including requirement collection and analysis, design, execution (coding), testing, deployment, and maintenance. The importance of effective requirement gathering is emphasized, including the selection of appropriate methodologies and tools, considering project requirements, team feedback, and cost implications. The report also addresses the significance of identifying and establishing user needs, considering socio-cultural differences, and fostering effective communication among stakeholders. Various communication methods are discussed, as well as strategies for minimizing socio-cultural challenges and ensuring the successful development of information systems. The report concludes by summarizing the key aspects of software system requirement engineering and the importance of selecting appropriate methodologies and tools.
Document Page
The Impossibility
Of
Requirements
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Table of Contents
Introduction......................................................................................................................................1
Requirement gathering & complexities related with stages of lifecycle of software
development................................................................................................................................1
Importance of collecting requirements for information system..................................................3
Identification of user needs as well as establishment of needs...................................................4
Conclusion.......................................................................................................................................5
References........................................................................................................................................6
Document Page
Introduction
Requirement engineering is defined as a process that is being utilised for defining,
documentation and maintenance of needs within the engineering design process. Within the
software development process,waterfall model is taken as first phase within the development
process (Ahimbisibwe, Cavana and Daellenbach, 2015). It comprises of feasibility study,
requirement stimulation & investigation, software obligation specification, validation and its
management. Software systems requirement engineering refers to the process associated with
identification of purpose, stakeholders, wants and documentation for analysing, communicating
and executing. This report is based on issues related with selection of tools and analysis
techniques along with socio-cultural & communication issues.
Requirement gathering & complexities related with stages of lifecycle of software development.
The process that is being utilised by software industry for designing, developing and
testing higher quality software is referred to as SDLC (Software Development Life Cycle). The
purpose of this is to render higher-quality software which will anticipate needs of both firm and
their customers. Its stages along with issues related with this are specified below:
(Source: Software Development Life Cycle (SDLC), 2018)
1
Illustration 1: Software Development Life Cycle (SDLC)
Document Page
Requirement collection & analysis:Here, data is gathered from customers in terms of
what they expect from organisation along with this if any kind of ambiguities are present
then they will be addressed in this stage (Barabanov, Markov and Tsirlov, 2016).
Basically, a review is done to analyse: is solution to requirements is possible? What
alternatives they have? What has been done in this aspect till now? Is project appropriate
for firm? It includes feasibility, legal and economic analysis. It will assist software
development team to identify whether project can be started or not. Here, quantitative &
qualitative research is being carried out with respect to what has been done both in
quantity & quality. The results attained from this is a system requirement document.
Issue with this is feasibility analysis as without developing an application or software it
can't be completely anticipated that all the needs will be accomplished. Design: The details attained from above will be utilised for development of specified
technical information needed for development of system. Here, business requirements are
being converted within specified technical needs (El-Hadary and El-Kassas, 2014). This
will enable software developer team with a system design document. Issue with it is, it
might not be practically feasible to acknowledge all the requirements specified. Execution or coding:In this phase, code will be written by making use of system design
document. Here, the software developer is liable for meeting the needs which have been
specified within initial stages. Issue is that, all the members might not have knowledge
related with specified language or software which is being used for developing. Testing: The software attained from above phase will be tested via different structured
tests. Like initial test is unit, then system and last is user-acceptance testing. This is done
to identify bugs (Fricker, Thümmler and Gavras, 2015). Problem faced in this is that
when bugs are identified then again the piece of code has to be cross checked in order to
find where issue is and some time other section might be changed which will lead to
something else. Deployment:Once the new system is formulated it has to be executed and training has to
be provided for users along with documentation. The deployment might not be easy as
hefty amount has to be paid by the team or an organisation to make their app available on
2
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
play store. The other issue which can be faced by them is that the application developed
by them might not be easy for people to be used.
Maintenance: Here, system will be having structured support systems and reviewed bugs
will be fixed. The issue is that customers might give feedback with respect to certain
features but others might feel this is appropriate, in this case development team has to
identify what can be done for addressing needs of their all customers (Laplante, 2013).
Apart from SDLC, there exist different models which can be used by developers as per
requirements like Waterfall, agile, spiral and many others are there. Each is utilised for
development of software but with different stages and will render the services accordingly.
Importance of collecting requirements for information system
The process of of generation of list of needs which can be technical, system or functional
from distinct stakeholders is referred to as requirement gathering or elicitation. While
development of software, it is necessary to take into consideration some points which are crucial
within selection of appropriate methodology along with tools (Mahalakshmi and Prabhakar,
2013). They have been illustrated below:
What are the requirement of project and what results are anticipated to be attained.
Team feedback with respect to work that has been done in context of requirement
gathering.
Frequency of enhancement or alterations (like if a software is made then how long will ot
sustain in terms of meeting needs of purpose).
What will be the cost of delay, in case any problem arises or some emendations have to
be made (7 Things to Pay Attention to When Choosing a Software Development
Methodology, 2019).
Acknowledge the experience of team with respect to specified methodology in order to
ensure that the peculiar method is appropriate for people working on that.
In terms of issues, if requirements of software or system are not understood then the
results attained will not be as per their anticipation. The reason behind this is that, if firm needs
client server mobile application and tool which is utilised is PHP then the results might provide
them a website but app wont be an apt via its utilisation (Mahalakshmi and Sundararajan, 2013).
Furthermore, the major issue that can be faced is that suppose the team leader says agile
methodology will be used but if team members do not possess knowledge related with this then
3
Document Page
team might face difficulty while implementing and even the cost of delay will also increase.
This implies that information gathering is important while development of software. For this,
team leader can make use of interviews, questionnaires, user observation, brainstorming , use
cases & scenarios, brainstorming and many others.
The details attained from this will assist within planning of organisation for being more
inclusive. For this it is important to identify the facts associated with this, like for whom the
software is developed, why it is needed and what requirements will it meet. Furthermore, the
details attained from this must be validated to ensure feasibility aspect associated with software
whether it is practically possible or not. Like customers will tell the needs to developer and
according to that in response to this they (developers) will ask questions to customers within the
requirement gathering phases (Moreira and et. Al, 2013). It will aid them to have an exact idea of
what their consumers are anticipating from them in turn this will lead to have appropriate
accomplishment of needs and analyse what benefits can be attained through this. Along with this,
security aspects related with this must be taken into consideration so that third person do not get
access into their system.
Identification of user needs as well as establishment of needs.
As per the requirements of an individual the developers are liable for developing the
system but it implies that all needs must be acknowledged in order to have better results
otherwise it might lead to a failure. It is not necessary that design must be complex but it denotes
that it must be easy to understand for their customers (Ramachandran, 2016). An example can be
taken to understand this, like if firm 'A' develops an application for their retail store and online
services are made available for them. This denotes that entire process must be covered within the
app so that ease can be provided to customer which will aid them within carrying out their
operations. For an instance, if option for online payment is not available then it might be difficult
for their customers as at specified moment of time they might not have appropriate cash through
which payments will be made.
There can be socio-cultural differences due to which people may not be open for
technology but still want enhancement within. Like firm delivers their services via offline
medium then some might be open to this and others may not. Therefore, both the perspectives
must be taken into consideration while developing any specified service. For this it is necessary
that enhanced communication takes place in between different individuals who are involved
4
Document Page
within this peculiar project. While information is being gathered, it must be communicated with
assorted organisational level (Sabale and Dani, 2012). This is being carried out for ensuring that
it is practical to implement what is expected by their customers and what benefits will they
attain. This communication can be carried out through different methods. They include: oral
presentation (through visualisation things can be kept in front of others in an amplified manner),
posters (an idea which can be kept on notice board of developers team so that they can analyse
crucial aspects related with this) and report writing (it will provide different members of firm to
have in-depth knowledge of what individuals require and what team is thinking to go for).
Basically, it is a way through which firm can be made aware of what people want and how team
is going to address that. Furthermore, if top level authorities want to make alterations within this
then they can make it and communicate with developer team.
To minimise the socio-cultural challenges, firm have to formulate solutions which enable
them to meet needs of individuals in stipulated manner & time frame (Salini and Kanmani,
2016). To understand this, an instance can be taken into consideration like in case, if there is
language problems then asynchronous communication can be carried out. Like if an application
is developed by organisation and people have issue in carrying out communication then it can be
made formalised like a written document can be made available which will make them to
understand how app works. Furthermore, within application in-build option can be provided
(such as language option and this too with multiple options on the basis of countries in which
firm is being delivering their services) which will assist within elimination of such kind of issues
(Sharma, Sarkar and Gupta, 2012).
Conclusion
From above, it can be concluded that software system requirement engineering defines
the way in which software interact with external interfaces, hardware, response time of system,
speed of operation, maintainability, security, portability and various other aspects related with
this. It is necessary for developer to appropriately select methodology as well as tool while
developing it as each have different features and will render unlike outcomes. Furthermore, it is
important to take both negative and positive aspects associated with them while developing
software. As it will lead them to ensure that whether specified information system or software
will be success or failure.
5
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
6
Document Page
References
Books & Journals
Ahimbisibwe, A., Cavana, R.Y. and Daellenbach, U., 2015. A contingency fit model of critical
success factors for software development projects: A comparison of agile and traditional
plan-based methodologies. Journal of Enterprise Information Management, 28(1), pp.7-
33.
Barabanov, A.V., Markov, A.S. and Tsirlov, V.L., 2016. Methodological Framework for
Analysis and Synthesis of a Set of Secure Software Development Controls. Journal of
Theoretical & Applied Information Technology, 88(1).
El-Hadary, H. and El-Kassas, S., 2014. Capturing security requirements for software
systems. Journal of advanced research, 5(4), pp.463-472.
Fricker, S.A., Thümmler, C. and Gavras, A. eds., 2015. Requirements engineering for digital
health. Springer.
Laplante, P.A., 2013. Requirements engineering for software and systems. Auerbach
Publications.
Mahalakshmi, K. and Prabhakar, R., 2013. Performance evaluation of non functional
requirements. Global Journal of Computer Science and Technology.
Mahalakshmi, M. and Sundararajan, M., 2013. Traditional SDLC Vs Scrum Methodology–A
Comparative Study. International Journal of Emerging Technology and Advanced
Engineering, 3(6), pp.192-196.
Moreira, A. and et. al, 2013. Aspect-oriented requirements engineering. Berlin, Heidelberg,
Germany: Springer.
Ramachandran, M., 2016. Software security requirements management as an emerging cloud
computing service. International Journal of Information Management, 36(4), pp.580-
590.
Sabale, R.G. and Dani, A.R., 2012. Comparative study of prototype model for software
engineering with system development Life Cycle. IOSR Journal of Engineering
(IOSRJEN), 2(7), p.21.
Salini, P. and Kanmani, S., 2016. Effectiveness and performance analysis of model-oriented
security requirements engineering to elicit security requirements: a systematic solution
for developing secure software systems. International Journal of Information
Security, 15(3), pp.319-334.
Sharma, S., Sarkar, D. and Gupta, D., 2012. Agile processes and methodologies: A conceptual
study. International journal on computer science and Engineering, 4(5), p.892.
Vegendla, A. and et. al, 2018. A systematic mapping study on requirements engineering in
software ecosystems. Journal of Information Technology Research (JITR), 11(1), pp.49-
69.
Online
7 Things to Pay Attention to When Choosing a Software Development Methodology. 2019.
[Online]. Available through: <https://mlsdev.com/blog/136-7-things-to-pay-attention-
to-when-choosing-a-software-development-methodology>
7
Document Page
Software Development Life Cycle (SDLC). 2018. [Online]. Available through:
<https://www.javatpoint.com/software-engineering-software-development-life-cycle>.
8
chevron_up_icon
1 out of 10
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]