PRT 451: Software Systems: Ethics, Requirements, and Test Cases

Verified

Added on  2023/06/13

|9
|1822
|448
Homework Assignment
AI Summary
This assignment solution delves into the principles of software systems, addressing key areas such as ethical considerations, agile development methodologies, requirement gathering techniques, software reuse processes, and test case generation. It begins by comparing the IEEE/ACM and ACS codes of ethics, highlighting their differences and discussing ethical issues that may arise when developing software for critical systems. The solution then explores methods for recording non-functional requirements in agile environments, analyzing various techniques and emphasizing the importance of considering execution and evolution qualities. Furthermore, it examines tools used for requirement collection, focusing on AS-IS and TO-BE process models, user stories, and mind maps, providing a summary of the requirement collection process using these tools. The assignment also discusses the software reuse process, addressing issues related to its implementation in agile environments and suggesting solutions like COTS. Finally, it selects three functional requirements of an application (scalability, availability, and reliability) and generates a structured test case scenario for each, showcasing a practical application of software testing principles. Desklib provides this and many other assignments for students to use as a reference.
Document Page
Running head: PRINCIPLES OF SOFTWARE SYSTEM
Principles of Software System
Name of the Student
Name of the University
Author Note
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1PRINCIPLES OF SOFTWARE SYSTEM
Q1. Read the IEEE/ACM and ACS codes of ethics.
a) Comment on any differences. How to you think these compare?
There is a prevailing major difference between the IEEE/ACM and ACS codes of
ethics. The IEEE/ACM code of ethics does not emphasise much on the details about the rules
and regulations and focuses more on the thoughtful and empathetic part of the fundamental
principles (Punchoojit and Hongwarittorrn 2015). On the other hand, the ACS codes of ethics
lack in flexibility when it comes to deviating from the law on humanitarian grounds.
b) Consider the case when you have been asked to write some software for critical
systems. What ethical issues might arise? How would you deal with them?
The ethical issues that might arise while writing some software for critical systems are
as follows:
The software may be unauthorized for using in multiple critical systems for
free
The software may not be compatible with the system requirements of the
computer
The support and documentation may not be properly done
To solve these issues, the person installing the software needs to authorize the
software use before writing them in critical systems (Turk, France and Rumpe 2014). He
should check for the proper system requirements and documentation.
Document Page
2PRINCIPLES OF SOFTWARE SYSTEM
Q2. Conduct a brief research on the ways of recording non- functional requirements in
agile environment. Your research should include analysis of the techniques used for
recording non-functional requirements.
Having an agile environment in a workplace implies that the environment is
empowered by the workforce and not the organization norms. Non-functional requirements
are however, the most challenging system development area that deals with the quality of the
software more than the technical aspects (Gupta, Chopra and Chauhan 2017). It is noticed,
that in case of software development non-functional requirements are often overlooked.
While recording Non-functional requirements, it is to be kept in mind that the records should
hold the attributes for security, performance, scalability, reliability, maintenance and usability
(Mojica et al. 2014). In agile environment, NFR or the Non-functional Requirements in an
agile system specifies how a particular entity behaves in the organization.
The methodology for recording the NFRs should be of two types:
Execution qualities: These are better observed at the runtime, such as
usability and security.
Evolution qualities: These are measureable during the static structure of the
computer system, such as, extensibility, scalability, maintainability and
testability.
An agile system considers architecture design to come forward with an evolutionary
approach. To record the NFR for the agile system, it is required that the technical
stakeholders of the organizational structure. These include the architects, the user interface or
UI designers, and the operation teams (Ma and Ma 2017). Analysing the procedures, it could
be seen that the recording of the NFRs in execution qualities depicts how user friendly or
Document Page
3PRINCIPLES OF SOFTWARE SYSTEM
how secured the agile environment is; again, evolution qualities present the non-technical
structure, which has usability control over the agile environment.
Q3. Conduct a research on some of the important tools used for requirement collection
and choose at least three tools, which you can use to gather requirements for the
application you are developing. You should provide a summary of the process of
requirements collection using your chosen tools.
Several tools present are used for requirement collection for gathering requirement
information about the application being developed. Amongst them, three of the most
important tools are:
AS-IS and TO-BE process model: In every System Analysis and Design
Course, swim lane diagram is taught as a system analysis model. In the study
course, it is seen that AS-IS process model is utilised to describe a current
business flow (Veryard 2014). On the other hand, a TO-BE process model
depicts a future model as a swim lane and describes the adjustment of a
business process with the system adjustment.
User Stories: This is an approach in agile process where the requirements are
talked about rather than being written. It generally forms the description of an
objective helping a developer to understand the user requirements properly. A
user, with the help of proper information transfer does this to achieve proper
usability of the application to the user about the application.
Mind maps: Mind mapping is a tool used in agile environment to capture
ideas and requirements helping in engaging a conversation through a number
of tangents. It is often seen that while a person is in a session for gathering
requirements, running off topics and jumping into another business is a
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4PRINCIPLES OF SOFTWARE SYSTEM
common phenomena. Mind mapping on the other hand, helps in accumulating
the comments, ideas and most importantly the requirements and branches it to
the major thoughts emerged from the conversations.
Q4. Describe the software reuse process and describe the issue relating to using software
reuse process in an agile development environment. What solutions exist for these
issues? Give examples of some tools available to assist.
Software reuse technology is a process where existing software are used for the
construction of a latest software system. This development process is aided by the
contribution of software artefacts, which are pieces of formalized knowledge (Gregory et al.
2016). The process depends on three abstraction levels, the modular design level, the
architecture level, and the program level. The different processes for the reuse can be
described as follows:
Black-box reuse: In this process, the previous component is reused without
any modification performed.
White-box reuse: In this process, the previous components are reused only
after a certain required modification is done over them.
Glass-box reuse: In this process, the previous components are not directly
used by the developers, but are used as framework examples for further
developments.
Reuse issues: The main drawbacks of the software reusability is that the reused
software needs high maintenance, there are lack of tool support due to the incompatible
development environment for supporting the software issues, and it is difficult to maintain a
library for the right software to understand its use before reusing.
Document Page
5PRINCIPLES OF SOFTWARE SYSTEM
These issues could be solved if COTS solutions are used. This is commercial off-the-
shelf software that are ready made and sold in packages to the users.
Q5. Choose at least three functional requirements of the application you are developing
and generate a structured test case scenario for those three requirements.
The functional requirements of software are defined as the functional requirements or
components of an application or software (Afzal et al. 2016). It may be the calculations,
technical details, or any kind of functionality in the application that defines the usability of an
application or software. Three amongst the many functional requirements in the application
being developed are:
Scalability
Availability
Reliability
The application FoodHub is developed as a search engine for local eateries and cuisines
based on the users’ location. The test case scenario based on the functional requirements are
as follows:
Title Test Case for FoodHub
Description This is a test performed to check the Scalability, Availability and Reliability for the
application FoodHub. It is a standard application built for providing detailed
information about the restaurants and cuisines available near the user depending on his
or her location.
Subsystem Word processing, Email
Priority High
Pre- Before checking the functional requirements, it is to be made sure that the GPS locator
Document Page
6PRINCIPLES OF SOFTWARE SYSTEM
conditions of the device is turned on.
Step 1 Test step:
Reliabililty: Check customer login with valid data
Expected result:
Test passed
Step 2 Test step:
Availability: Ready search results
Expected result:
Test passed
Step 3 Test step:
Scalability: Adding information about a new food joint registering with FoodHub
Expected result:
Test Passed
Comments The product has passed the functional system requirements
Created by Admin User 2018-04-05 13:44:34
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
7PRINCIPLES OF SOFTWARE SYSTEM
Reference
Afzal, W., Alone, S., Glocksien, K. and Torkar, R., 2016. Software test process improvement
approaches: A systematic literature review and an industrial case study. Journal of Systems
and Software, 111, pp.1-33.
Gregory, P., Barroca, L., Sharp, H., Deshpande, A. and Taylor, K., 2016. The challenges that
challenge: Engaging with agile practitioners’ concerns. Information and Software
Technology, 77, pp.92-104.
Gupta, V., Chopra, R.K. and Chauhan, D.S., 2017. Status of Non-Functional Requirements in
Mobile Application Development: An Empirical Study. Journal of Information Technology
Research (JITR), 10(1), pp.59-84.
Ma, Z. and Ma, J., 2017. Formulating the application functional requirements of a BIM-based
collaboration platform to support IPD projects. KSCE Journal of Civil Engineering, 21(6),
pp.2011-2026.
Mojica, I.J., Adams, B., Nagappan, M., Dienst, S., Berger, T. and Hassan, A.E., 2014. A
large-scale empirical study on software reuse in mobile apps. IEEE software, 31(2), pp.78-86.
Laplante, P.A., 2017. Requirements engineering for software and systems. CRC Press.
Punchoojit, L. and Hongwarittorrn, N., 2015, September. Research ethics in human-computer
interaction: A review of ethical concerns in the past five years. In Information and Computer
Science (NICS), 2015 2nd National Foundation for Science and Technology Development
Conference on (pp. 180-185). IEEE.
Turk, D., France, R. and Rumpe, B., 2014. Limitations of agile software processes. arXiv
preprint arXiv:1409.6600.
Document Page
8PRINCIPLES OF SOFTWARE SYSTEM
Veryard, R., 2014. The economics of Information Systems and software. Butterworth-
Heinemann.
chevron_up_icon
1 out of 9
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]