2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...
Transcript of 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...
ICT 3020 (2020/21)Fundamentals of Software Engineering
Lecture 5: Requirements Engineering—Requirements Elicitation
Lighton Phiri <[email protected]>Department of Library & Information Science
University of Zambiahttps://bit.ly/3uI5u5V
ICT 3020 (2020/21) L05 - 2May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 3May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 4May 26, 2021
Lecture Outline
● Requirements Engineering○ Software Project Success○ Software Development Lifecycle○ Requirements Engineering Process
● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 5May 26, 2021
The Vast Majority of Software Projects Result in Failure
https://www.standishgroup.com
ICT 3020 (2020/21) L05 - 6May 26, 2021
Aspects for Measuring Software Project Success● Deliver software that meets
the customer’s expectations● Deliver the software to the
customer at the agreed time● Keep overall costs within
budget● Maintain a coherent and
well-functioning development team
https://www.standishgroup.com
ICT 3020 (2020/21) L05 - 7May 26, 2021
Aspects for Measuring Software Project Success● Deliver software that meets
the customer’s expectations● Deliver the software to the
customer at the agreed time● Keep overall costs within
budget● Maintain a coherent and
well-functioning development team
https://www.standishgroup.com
ICT 3020 (2020/21) L05 - 8May 26, 2021
Software Process Activities (1/2)
● Real software processes are interleaved sequences of technical, collaborative and managerial activities with the overall goal of specifying, designing, implementing and testing a software system.
https://commons.wikimedia.org
ICT 3020 (2020/21) L05 - 9May 26, 2021
Software Process Activities (2/2)
● Process activities—specification, development, validation and evolution—are organized differently in different development processes. ○ For example, in the waterfall
model, they are organized in sequence, whereas in incremental development they are interleaved. https://commons.wikimedia.org
ICT 3020 (2020/21) L05 - 10May 26, 2021
Software Process Activities (2/2)
● Process activities—specification, development, validation and evolution—are organized differently in different development processes. ○ For example, in the waterfall
model, they are organized in sequence, whereas in incremental development they are interleaved. https://commons.wikimedia.org
ICT 3020 (2020/21) L05 - 11May 26, 2021
Requirements Engineering Process (1/3)
● The process of establishing the services that a customer requires from a system and associated constraints
● The system requirements are the descriptions of the system services and constraints that are generated during the requirements engineering process
https://commons.wikimedia.org
ICT 3020 (2020/21) L05 - 12May 26, 2021
Requirements Engineering Process (2/3)
● Requirements engineering involves a number of steps○ Feasibility study○ Requirements analysis○ Requirements definition○ Requirements validation○ Requirements specification
● Establish a formal statement of what software developers are required to do: Software Requirements Specification (SRS) https://commons.wikimedia.org
ICT 3020 (2020/21) L05 - 13May 26, 2021
Requirements Engineering Process (3/3)
ICT 3020 (2020/21) L05 - 14May 26, 2021
Requirements Elicitation and Analysis
● Elicitation and analysis is the initial phase o RE○ Gathering of
requirements○ Observing and
interacting with system users
○ Initial prototype development (e.g. paper prototypes)
ICT 3020 (2020/21) L05 - 15May 26, 2021
Requirements Specification
● Specification involves the mapping of requirements gathered into a formal requirements document
ICT 3020 (2020/21) L05 - 16May 26, 2021
Requirements Validation
● Requirements validation ensures that the requirements gathered are achievable and complete
ICT 3020 (2020/21) L05 - 17May 26, 2021
Recap—Requirements Engineering
● Requirements Engineering○ Software Project Success○ Software Development Lifecycle○ Requirements Engineering Process
● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 18May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 19May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements
○ Defining Requirements○ Stakeholders○ Types of Requirements○ Functionals and Non-Functional Requirements
● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 20May 26, 2021
Software Requirements (1/2)
● It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.
● This is inevitable as requirements may serve a dual function○ May be the basis for a bid for a contract - therefore must be open
to interpretation;○ May be the basis for the contract itself - therefore must be defined
in detail;○ Both these statements may be called requirements.
ICT 3020 (2020/21) L05 - 21May 26, 2021
Software Requirements (2/2)
● IEEE 610.12-1990 definitions○ (1) A condition or capability needed by a user to solve a problem
or achieve an objective○ (2) A condition or capability that must be met or possessed by a
system or system component to satisfy a contract, standard, specification, or other formally imposed documents
○ (3) A documented representation of a condition or capability as in (1) or (2)
ICT 3020 (2020/21) L05 - 22May 26, 2021
Types of Requirements (1/2)
● User requirements○ Statements in a human natural language, including diagrams of
the services the system provides and its operational constraints.○ User requirements are prepared for customers.
● System requirements○ A structured document setting out detailed descriptions of the
system’s functions, services and operational constraints. ○ Define what should be implemented so may be part of a contract
between client and contractor.
ICT 3020 (2020/21) L05 - 23May 26, 2021
Types of Requirements (2/2)
● User requirements definition1. The smartIRDeposit platform will automatically generate
metadata associated with digital objects● System requirements specification
1. The digital object titles and abstracts shall be used as input text features for automatically classifying collections
2. The title page content shall be used an input text features, alongside the number of pages, for automatically classifying the type of manuscript
3. The digital object titles and abstracts shall be used as input text features for automatically classifying the subjects
ICT 3020 (2020/21) L05 - 24May 26, 2021
Types of Requirements
ICT 3020 (2020/21) L05 - 25May 26, 2021
System Stakeholders (1/2)
● Any person or organization who is affected by the system in some way and so who has a legitimate interest○ End users○ System managers○ System owners○ External stakeholders
ICT 3020 (2020/21) L05 - 26May 26, 2021
System Stakeholders (2/2)
● Weigers and Beatty suggesting understanding stakeholders from an organisational perspective○ Stakeholders in the
developing organisation○ Stakeholders outside the
developing organisation○ Stakeholders within the
project team
ICT 3020 (2020/21) L05 - 27May 26, 2021
Function and Non-Functional Requirements
● Functional requirements○ Statements of services the system should provide, how the system
should react to particular inputs and how the system should behave in particular situations.
○ May state what the system should not do.● Non-functional requirements
○ Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.
○ Often apply to the system as a whole rather than individual features or services.
ICT 3020 (2020/21) L05 - 28May 26, 2021
Functional Requirements (1/2)
● Describe functionality or system services.● Depend on the type of software, expected users and the type
of system where the software is used.● Functional user requirements may be high-level statements
of what the system should do.● Functional system requirements should describe the system
services in detail.
ICT 3020 (2020/21) L05 - 29May 26, 2021
Functional Requirements (2/2)
● Pitfalls of functional requirements○ Problems sometimes arise when functional requirements are not
precisely stated.○ Ambiguous requirements may be interpreted in different ways by
developers and users.
ICT 3020 (2020/21) L05 - 30May 26, 2021
Non-Functional Requirements (1/3)
● These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc.
● Process requirements may also be specified mandating a particular IDE, programming language or development method.
● Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.
ICT 3020 (2020/21) L05 - 31May 26, 2021
Non-Functional Requirements (2/3)
ICT 3020 (2020/21) L05 - 32May 26, 2021
Non-Functional Requirements (3/3)
● FURPS Model○ Functionality - Capability,
Reusability, Security○ Usability - Human Factors,
Aesthetics, Consistency○ Reliability - Availability,
Accuracy○ Performance - Speed,
Efficiency, Resource Consumption, Scalability
ICT 3020 (2020/21) L05 - 33May 26, 2021
Non-Functional Requirements (3/3)
● FURPS Model○ Supportability—Testabilit
y, Flexibility, Installability, Localizability
ICT 3020 (2020/21) L05 - 34May 26, 2021
Classification of Non-Functional Requirements● Product requirements
○ Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc.
● Organisational requirements○ Requirements which are a consequence of organisational policies
and procedures e.g. process standards used, implementation requirements, etc.
● External requirements○ Requirements which arise from factors which are external to the
system and its development process e.g. interoperability requirements, legislative requirements, etc.
ICT 3020 (2020/21) L05 - 35May 26, 2021
Goals and Requirements
● Non-functional requirements may be very difficult to state precisely and imprecise requirements may be difficult to verify.
● Goal○ A general intention of the user such as ease of use.
● Verifiable non-functional requirement○ A statement using some measure that can be objectively tested.
● Goals are helpful to developers as they convey the intentions of the system users.
ICT 3020 (2020/21) L05 - 36May 26, 2021
Non-Functional Requirements are Crucial During Product Evaluation
ICT 3020 (2020/21) L05 - 37May 26, 2021
Recap—Software Requirements
● Requirements Engineering● Software Requirements
○ Defining Requirements○ Stakeholders○ Types of Requirements○ Functionals and Non-Functional Requirements
● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 38May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation
○ Requirements Elicitation and Analysis○ Requirements Eliciation Problems○ Requirements Elicitation Techniques
● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 39May 26, 2021
Requirements Elicitation and Analysis (1/2)
● Sometimes called requirements elicitation or requirements discovery.
● Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints.
● May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders.
ICT 3020 (2020/21) L05 - 40May 26, 2021
Requirements Elicitation and Analysis (2/2)
● Software engineers work with a range of system stakeholders to find out about the application domain, the services that the system should provide, the required system performance, hardware constraints, other systems, etc.
● Stages include:○ Requirements discovery,○ Requirements classification and organization,○ Requirements prioritization and negotiation,○ Requirements specification.
ICT 3020 (2020/21) L05 - 41May 26, 2021
Problems of Requirements Elicitation
● Stakeholders don’t know what they really want.● Stakeholders express requirements in their own terms.● Different stakeholders may have conflicting requirements.● Organisational and political factors may influence the
system requirements.● The requirements change during the analysis process. New
stakeholders may emerge and the business environment may change.
ICT 3020 (2020/21) L05 - 42May 26, 2021
The Requirements Elicitation and Analysis Process
ICT 3020 (2020/21) L05 - 43May 26, 2021
Process Activities
● Requirements discovery○ Interacting with stakeholders to discover their requirements.
Domain requirements are also discovered at this stage.● Requirements classification and organisation
○ Groups related requirements and organises them into coherent clusters.
● Prioritisation and negotiation○ Prioritising requirements and resolving requirements conflicts.
● Requirements specification○ Requirements are documented and input into the next round of
the spiral.ICT 3020 (2020/21) L05 - 44May 26, 2021
Requirements Discovery
● The process of gathering information about the required and existing systems and distilling the user and system requirements from this information.
● Interaction is with system stakeholders from managers to external regulators.
● Systems normally have a range of stakeholders.
ICT 3020 (2020/21) L05 - 45May 26, 2021
Requirements Elicitation Techniques
● Document analysis● Questionnaires● Interviews● Focus groups● Workshops● Observations● System interface analysis● User interface analysis
ICT 3020 (2020/21) L05 - 46May 26, 2021
Requirements Elicitation Techniques: Document Analysis (1/4)● Document analysis involves the
examination of pre-existing documents and records to possible software requirements
● Document analysis could involve analysis of records associated with pre-existing systems and/or records associated with business processes
ICT 3020 (2020/21) L05 - 47May 26, 2021
Requirements Elicitation Techniques: Document Analysis (2/4)● Organisational business processes
can be understood using paper trails○ Analysis of forms and paper-based
records○ Analysis of rules, regulations and
standards followed by organisations
○ Analysis of processes and procedures
ICT 3020 (2020/21) L05 - 48May 26, 2021
Requirements Elicitation Techniques: Document Analysis (3/4)
ICT 3020 (2020/21) L05 - 49May 26, 2021
Requirements Elicitation Techniques: Document Analysis (4/4)● Documentation for existing
software systems can be examined for potential requirements○ Software specification
documents for existing software○ Software manuals for existing
platforms
ICT 3020 (2020/21) L05 - 50May 26, 2021
Requirements Elicitation Techniques: Questionnaires (1/3)● Questionnaires provide a
perfect way of eliciting requirements from large user bases○ Provide an inexpensive
elicitation technique○ Provide an appropriate way of
eliciting comprehensive requirements from large user bases
ICT 3020 (2020/21) L05 - 51May 26, 2021
Requirements Elicitation Techniques: Questionnaires (2/3)● Use predefined options for
responses● Use appropriate scales, e.g.
likert scale responses● Be mindful of time users will
spend on questionnaires● Capture user demographic
details● Use online questionnaires
ICT 3020 (2020/21) L05 - 52May 26, 2021
Requirements Elicitation Techniques: Questionnaires (3/3)
ICT 3020 (2020/21) L05 - 53May 26, 2021
Guidelines for Devising Questionnaires (1/2)
● Conduct preliminary work○ Determine appropriate type of questionnaire: paper vs online○ Research participants demographics○ Research ethical issues/consideration○ Plan for initiation dates and reminder messages
● Devise a formal plan○ Identify required materials and equipment○ Plan to pilot the questionnaire, including preliminary data analysis
from the pilot
ICT 3020 (2020/21) L05 - 54May 26, 2021
Guidelines for Devising Questionnaires (2/2)
● Use closed questions and use open-ended questions sparingly○ Use likert scales○ Open-ended responses should be used in order to derive themes
ICT 3020 (2020/21) L05 - 55May 26, 2021
Requirements Elicitation Techniques: Interview Sessions (1/3)● Interviews with stakeholders
are part of most RE processes.● Types of interview techniques
○ Closed interviews based on predetermined list of questions
○ Open interviews where various issues are explored with stakeholders.
ICT 3020 (2020/21) L05 - 56May 26, 2021
Requirements Elicitation Techniques: Interview Sessions (2/3)● Interviewing strategies
○ Be open-minded, avoid preconceived ideas about the requirements and are willing to listen to stakeholders.
○ Prompt the interviewee to get discussions going using a springboard question, a requirements proposal, or by working together on a prototype system.
ICT 3020 (2020/21) L05 - 57May 26, 2021
Requirements Elicitation Techniques: Interview Sessions (3/3)
Interaction Time LocationSynchronous FtF; Tel; IM FtFAsynchronous Em Tel; Em; IM
● Interviews can be conducted in various ways, each of which involves either synchronous or asynchronous communication○ Face-to-face (FtF) interviews○ Telephone (Tel) interviews○ Email (Em) interview○ Instant messaging (IM) interviews
ICT 3020 (2020/21) L05 - 58May 26, 2021
Interviews in Practice (1/2)
● Normally a mix of closed and open-ended interviewing.● Interviews are good for getting an overall understanding of
what stakeholders do and how they might interact with the system.
● Interviewers need to be open-minded without pre-conceived ideas of what the system should do
● You need to prompt the use to talk about the system by suggesting requirements rather than simply asking them what they want.
ICT 3020 (2020/21) L05 - 59May 26, 2021
Interviews in Practice (2/2)
● Ensure you prepare and interview guide with specific questions
● Pilot the guide to ascertain that details elicited as embedded into questions
● Ensure you identify appropriate individuals to interview● ALWAYS record the interview sessions for future reference
○ Ask for permission from interviewee(s)○ Ensure that equipment is functional○ Take a note of all import details, e.g using a notebook
ICT 3020 (2020/21) L05 - 60May 26, 2021
Problems With Interviews
● Application specialists may use language to describe their work that isn’t easy for the requirements engineer to understand.
● Interviews are not good for understanding domain requirements○ Requirements engineers cannot understand specific domain
terminology;○ Some domain knowledge is so familiar that people find it hard to
articulate or think that it isn’t worth articulating.
ICT 3020 (2020/21) L05 - 61May 26, 2021
Guidelines for a Successful Interview (1/2)
● Conduct preliminary work○ Determine appropriate interview technique○ Research your audience○ Research ethical issues/consideration○ Schedule appointments with interviewees○ Prepare consent forms○ Prepare the interview guide
● Devise a formal interview plan○ Identify required materials and equipment○ Plan to pilot the interview guide
ICT 3020 (2020/21) L05 - 62May 26, 2021
Guidelines for a Successful Interview (2/2)
● Ensure the interview guide is comprehensive and systematic○ Plan to start with a briefing about the interview
○ Introduce yourself and the project○ Outline what you hope to get from interviewee○ Outline benefits for the interviewee○ Discuss informed consent and ethical issues
○ Plan to use open-ended and closed-ended statements○ Use open-ended and closed-ended statements depending on the
information required○ Asking leading and/or probing questions
○ Plan to close by debriefing interviewees○ Formally request for follow up interaction
ICT 3020 (2020/21) L05 - 63May 26, 2021
Requirements Elicitation Techniques: Workshops (1/2)● Workshops are well-structured
facilitated meetings that involve multiple stakeholders○ Workshops are used to elicit
requirements from multiple stakeholders
○ Interacting with multiple stakeholders facilitates resolution of potential disagreements
ICT 3020 (2020/21) L05 - 64May 26, 2021
Requirements Elicitation Techniques: Workshops (2/2)● Workshops facilitators lead
participants through planned processes○ Participants might potentially
be split into working groups, based on their roles
● In software engineering, business analysts will typically play the role of facilitator
ICT 3020 (2020/21) L05 - 65May 26, 2021
Workshops in Practice (1/2)
● Plan the workshop agenda● Preallocate team roles
○ Facilitation, time-keeping, note taking● Enforce workshop scope● Pay particular attention to discussion times● Ensure that group composition includes all stakeholders● Keep participants engaged
ICT 3020 (2020/21) L05 - 66May 26, 2021
Workshops in Practice (2/2)
● Random example of a workshop session
● Multiple stakeholders○ IT experts○ System librarians○ Librarians
● Two facilitators● One scribe
ICT 3020 (2020/21) L05 - 67May 26, 2021
Requirements Elicitation Techniques: Focus Groups● Facilitated elicitation of
requirements can make use of focus group discussions○ Appropriate for eliciting ideas
about product development○ Appropriate in situations with
large bases of potential systems users
ICT 3020 (2020/21) L05 - 68May 26, 2021
Requirements Elicitation Techniques: Observations● In certain instances, potential
system users might find it hard to outline their day-to-day operations, so observing them might be helpful○ Appropriate in instances were
users perform complex tasks○ Appropriate in situations were
users have interconnected workflows
ICT 3020 (2020/21) L05 - 69May 26, 2021
Requirements Elicitation Techniques: Ethnography● A social scientist spends a considerable time observing and
analysing how people actually work.● People do not have to explain or articulate their work.● Social and organisational factors of importance may be
observed.● Ethnographic studies have shown that work is usually richer
and more complex than suggested by simple system models.
ICT 3020 (2020/21) L05 - 70May 26, 2021
Scope of Ethnography
● Requirements that are derived from the way that people actually work rather than the way I which process definitions suggest that they ought to work.
● Requirements that are derived from cooperation and awareness of other people’s activities.○ Awareness of what other people are doing leads to changes in the
ways in which we do things.● Ethnography is effective for understanding existing
processes but cannot identify new features that should be added to a system.
ICT 3020 (2020/21) L05 - 71May 26, 2021
Focused Ethnography
● Developed in a project studying the air traffic control process● Combines ethnography with prototyping● Prototype development results in unanswered questions
which focus the ethnographic analysis.● The problem with ethnography is that it studies existing
practices which may have some historical basis which is no longer relevant.
ICT 3020 (2020/21) L05 - 72May 26, 2021
Ethnography and Prototyping for Requirements analysis
ICT 3020 (2020/21) L05 - 73May 26, 2021
Requirements Elicitation Techniques: System Interface Analysis● System interface analysis
involves careful analysis of external system services to be integrated with the system○ Application Programming
Interfaces (APIs) will generally have predefined endpoints
○ External services will have corresponding specifications○ Login and authentication○ Interaction rules
ICT 3020 (2020/21) L05 - 74May 26, 2021
Requirements Elicitation Techniques: User Interface Analysis● User interfaces for existing
products similar to the system being developed can be used as a basis to elicit user and functional requirements○ Screenshots for existing
platforms offer an effective alternative to the actual platform
ICT 3020 (2020/21) L05 - 75May 26, 2021
User Stories and Scenarios
● Scenarios and user stories are real-life examples of how a system can be used.
● Stories and scenarios are a description of how a system may be used for a particular task.
● Because they are based on a practical situation, stakeholders can relate to them and can comment on their situation with respect to the story.
ICT 3020 (2020/21) L05 - 76May 26, 2021
Wiegers and Beatty: Suggested Elicitation Techniques by Project Characteristics
ICT 3020 (2020/21) L05 - 77May 26, 2021
Zowghi and Coulin: A Survey of Techniques,Approaches, and Tools
ICT 3020 (2020/21) L05 - 78May 26, 2021
Recap—Requirements Elicitation
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 79May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
ICT 3020 (2020/21) L05 - 80May 26, 2021
Lecture Outline
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
○ Problem Statement○ Stakeholders○ Requirements Elicitation○ Functional Requirements○ Non-Functional Requirements
ICT 3020 (2020/21) L05 - 81May 26, 2021
Problem Statement: smartIR Deposit Case Example● The University of Zambia has an Institutional Repository (IR)
that is used to store and make available scholarly research out—digital objects ○ The ingestion of digital objects into the IR is performed by a lean
group of staff—two individuals presently, resulting in a backlog of digital objects
○ In order to address the problem resulting from a backlog of digital objects, there is a proposal to implement a third-party application for efficiently and effectively ingesting digital objects into the IR
ICT 3020 (2020/21) L05 - 82May 26, 2021
Stakeholders in the smartIRDeposit System (1/2)● Postgraduate students—Master’s and doctoral—who’s
submitted manuscripts are ingested into the repository ● Faculty staff who supervise postgraduate students● Assistant Deans of Research who guarantee quality of
manuscripts● Assistant Deans of Postgraduate Studies who are responsible
for the postgraduate processes● Directory of Research and Graduate Studies (DRGS) staff who
ensure the manuscripts adhere to prescribed standards● Library staff who ingest content into the repository
ICT 3020 (2020/21) L05 - 83May 26, 2021
Stakeholders in the smartIRDeposit System (2/2)● Systems and database administrators under the Center for
Information and Communication Technologies (CICT)● The University of Zambia System Librarians● The general public who access ingested digital content on
The University of Zambia Institutional Repository
ICT 3020 (2020/21) L05 - 84May 26, 2021
Requirements Elicitation: smartIR Deposit Case Example● Document analysis● Interviews● Workshops● Focus groups● System interface analysis
ICT 3020 (2020/21) L05 - 85May 26, 2021
Requirements Elicitation: smartIR Deposit Case Example—Document Analysis
ICT 3020 (2020/21) L05 - 86May 26, 2021
Requirements Elicitation: smartIR Deposit Case Example—Interviews ● Is it feasible to use subject
institutional repositories at The UNZA?○ Subject IR setup in the
Department of Library and Information Science
○ Subject IR scored a mean SUS score of 65.5—”Okay-> Good”
Mbewe, M., Moonga, H., Mwewa, M., Sikazindu, N., and Mwale, N. (2018) “Investigating the Feasibility of Using Subject IRs: A Case Study at The UNZA”.URL: http://lis.unza.zm/archive/handle/123456789/189
http://lis.unza.zm/archive
ICT 3020 (2020/21) L05 - 87May 26, 2021
Requirements Elicitation: smartIR Deposit Case Example—Interviews & Focus Groups ● What is the effect of
integrating controlled vocabularies sets in IRs?○ Sanbox IR integrated with
LCSH vocabulary set○ Mean SUS score computed
○ 68.6—With Vocabularies○ 65.1—No Vocabularies
Chipangila, B., Liswaniso, E., Mawila, A., Mwanza, P., and Nawila, D. (2019) “Effectiveness of Integrating Controlled Subject Vocabulary Sets in the UNZA IR”.URL: http://lis.unza.zm/archive/handle/123456789/2236
ICT 3020 (2020/21) L05 - 88May 26, 2021
Requirements Elicitation: smartIR Deposit Case Example—System Interface Analysis
ICT 3020 (2020/21) L05 - 89May 26, 2021
Functional Requirements: smartIR Deposit Case Example● FR 1—Automatic classification of object collection● FR 2—Automatic classification of object subjects● FR 3—Automatic classification of ETD-ms elements● FR 4—CRUD operations implementations● FR 5—Authentication and authorisation via single signon● FR 6—Synchronisation with IR● FR 7—User management
ICT 3020 (2020/21) L05 - 90May 26, 2021
Non-Functional Requirements: smartIR Deposit Case Example● NFR 1—Metadata encoding format for digital objects● NFR 2—Metadata storage location● NFR 3—Bitstream format● NFR 4—Bitstream storage location● NFR 5— Type of application: Desktop vs Web-based vs mobile
vs plugin/addon
ICT 3020 (2020/21) L05 - 91May 26, 2021
Recap—Case Example: smartIR Deposit
● Requirements Engineering● Software Requirements● Requirements Elicitation● Case Example: smartIR Deposit
○ Problem Statement○ Stakeholders○ Requirements Elicitation○ Functional Requirements○ Non-Functional Requirements
ICT 3020 (2020/21) L05 - 92May 26, 2021
Q & A Session
● Comments, concerns and complaints?
[email protected] https://bit.ly/3uI5u5V http://bit.ly/2kK2ZkA
[1] Wiegers, K., & Beatty, J. (2013). Software requirements. Pearson Education.
[2] Sommerville, I. (2011). Software engineering 9th Edition. ISBN-10, 137035152.
[3] Kotonya, G., & Sommerville, I. (1998). Requirements engineering: processes and techniques. Wiley Publishing.
[4] Sommerville, I., & Sawyer, P. (1997). Requirements engineering: a good practice guide. John Wiley & Sons, Inc.
[5] Opdenakker, R. (2006, September). Advantages and disadvantages of four interview techniques in qualitative research.http://www.qualitative-research.net/index.php/fqs/article/view/175/391
Bibliography (1/2)
[1] Opdenakker, R. (2006). Advantages and disadvantages of four interview techniques in qualitative research.http://www.qualitative-research.net/index.php/fqs/article/view/175/391
[2] smartIR Deposit Application Case Examplehttps://moodle.unza.zm/mod/resource/view.php?id=16962
Bibliography (2/2)
ICT 3020 (2020/21)Fundamentals of Software Engineering
Lecture 5: Requirements Engineering—Requirements Elicitation
Lighton Phiri <[email protected]>Department of Library & Information Science
University of Zambiahttps://bit.ly/3uI5u5V
ICT 3020 (2020/21) L05 - 97May 26, 2021
Zowghi and Coulin: A Survey of Techniques,Approaches, and Tools
INT DMN GWK ETH PRT GLS SCN VPTUnderstanding the domain X X X X X X X
Identifying sources of requirements X X X X X X
Analyzing the Stakeholders X X X X X X X X
Selecting techniques and approaches X X X
Eliciting the Requirements X X X X X X X X