2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

25
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 Zambia https://bit.ly/3uI5u5V ICT 3020 (2020/21) L05 - 2 May 26, 2021 Lecture Outline Requirements Engineering Software Requirements Requirements Elicitation Case Example: smartIR Deposit ICT 3020 (2020/21) L05 - 3 May 26, 2021 Lecture Outline Requirements Engineering Software Requirements Requirements Elicitation Case Example: smartIR Deposit ICT 3020 (2020/21) L05 - 4 May 26, 2021 Lecture Outline Requirements Engineering Software Project Success Software Development Lifecycle Requirements Engineering Process Software Requirements Requirements Elicitation Case Example: smartIR Deposit

Transcript of 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

Page 1: 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

Page 2: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 3: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 4: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 5: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 6: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 7: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 8: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 9: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 10: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 11: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 12: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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)

Page 13: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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)

Page 14: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 15: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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.

Page 16: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 17: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 18: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 19: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 20: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 21: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 22: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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

Page 23: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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?

Page 24: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

[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

Page 25: 2020/21 ICT 3020 | Lecture 05: Requirements Engineering ...

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