Requirements analysis and
software specification
SENG 123:
Introduction to Computer Software Engineering
By
Atilla Elçi
14.11.2020 Intro Comp SWE 1
WEEKLY SCHEDULE
Week Topics PPTs Text
1 Intro to the course;
An overview of software engineering concepts
Intro;
Concepts
Preface;
Ch.1
2 Engineering, software engineering, ethics Engin…
3 Software development life cycle SDLC Ch.2
4 Software development life cycle SDLC Ch.2
5 Practical UML -
6 Requirements analysis and software
specification
Req Ch.3
7 Midterm Examination Week 25.11.2020 18:00-21:00
8 Software development project management
9 Software project analysis and design
10 Object-oriented analysis and design
11 Interfaces, dialogs, and database
12 coding and debugging; software testing
13 Implementation and maintenance; reliability and
quality
14 Review; Q & A.
14.11.2020 Intro Comp SWE 2
Here
we
are!
14.11.2020 Intro Comp SWE 3
Requirements Analysis
• Conceptually, the requirements analysis involves the following:
– Eliciting requirements: determining customer requirements
– Analyzing requirements: assure that the requirements are clear, complete,
unambiguous, not contradictory
– Recording requirements: document reqs as text, use cases, user stories, or
process specifications.
• Techniques used in eliciting reqs:
– Holding interviews,
– Holding focus groups
– Running questionairs
– Creating requirements lists
– Prototyping,
– Use cases.
• => The above is often called as the Requirements Engineering in
software/systems engineering jargon.
• The outcome is Software Requirements Specification (SRS)
14.11.2020 Intro Comp SWE 4
SRS
• SRS: a complete description of the behavior of
the target system:
– Functional Requirements: use cases
– Non-functional Requirements: constraints to satisfy,
such as performance, quality standards, and design.
• Let’s consider a simple example:
– Daily schedule reminder software application:
• SRS:
– Objective?
– FR?
– NFR?
14.11.2020 Intro Comp SWE 5
Format of a software requirement specification report
14.11.2020 Intro Comp SWE 6
Modern Methods for SRS
• Joint Application Development (JAD): the key users,
sponsors, managers, and system analysts hold a
succession of structured collaborative workshops.
• Group Support Systems (GSS): provide collaboration for
members of the group.
• Computer-Aided Software Engineering (CASE) tools:
privode computer tool base for auomation of the
processes
• Prototyping: A rudimentary version of the application
is built with the help of analysts and users. This is used
to augment the requirement determination process.
14.11.2020 Intro Comp SWE 7
Software Requirement Documentation
• Requirements are produced and consumed by
everyone involved in the production of software:
end-users, customers, product managers, project
managers, sales, marketing, software architects,
usability experts, interaction designers,
developers, testers, deployment and
maintenance staff. Thus, requirements
documentation has many different purposes.
– Architecture/Design Documentation
– Technical documentation
– User documentation
14.11.2020 Intro Comp SWE 8
Terminology - Terimler
• Requirements analysis:
gereksinme çözümlemesi
• Prototyping: öntürleme
• SRS: yazılım gereksinim
belirtimi
• Functional Requirements:
işlevsel gereksinimler
• Interface: arayüz
• software architect:
yazılım mimarı
• Data flow: veri akımı
• Exception handling: olay
işleme
• JAD: ortaklaşa uygulama
geliştirimi
• GSS: grup destek sistemi
• CASE: bilgisayar destekli
yazılım mühendisliği
• Documentation: belge,
belgeleme
14.11.2020 Intro Comp SWE 9
Homework
• Prepare a software requirements specification
report:
– For an application of your choice
– Provide one sentence entry for each section;
– No drawing or graphics; use just text.
14.11.2020 Intro Comp SWE 10
These are FYI!
• Software requirements analysis, 20 minutes:
– https://www.youtube.com/watch?v=Vz7TQ3eAQi
U
• Analysis and Requirements Gathering, 19
minutes:
– https://www.youtube.com/watch?v=gyXcu78bWis
– Start from 4.50 minute mark!
14.11.2020 Intro Comp SWE 11
Leads
• Python programming language creator Guido van
Rossum joins Microsoft:
– https://www.techrepublic.com/article/python-
programming-language-creator-guido-van-rossum-joins-
microsoft/
• C++ programming language: How it became the
invisible foundation for everything, and what's next:
– https://www.techrepublic.com/article/c-programming-
language-how-it-became-the-invisible-foundation-for-
everything-and-whats-next/
• TIOBE Index for November 2020:
– https://www.tiobe.com/tiobe-index/
14.11.2020 Intro Comp SWE 12

Seng 123 5-req

  • 1.
    Requirements analysis and softwarespecification SENG 123: Introduction to Computer Software Engineering By Atilla Elçi 14.11.2020 Intro Comp SWE 1
  • 2.
    WEEKLY SCHEDULE Week TopicsPPTs Text 1 Intro to the course; An overview of software engineering concepts Intro; Concepts Preface; Ch.1 2 Engineering, software engineering, ethics Engin… 3 Software development life cycle SDLC Ch.2 4 Software development life cycle SDLC Ch.2 5 Practical UML - 6 Requirements analysis and software specification Req Ch.3 7 Midterm Examination Week 25.11.2020 18:00-21:00 8 Software development project management 9 Software project analysis and design 10 Object-oriented analysis and design 11 Interfaces, dialogs, and database 12 coding and debugging; software testing 13 Implementation and maintenance; reliability and quality 14 Review; Q & A. 14.11.2020 Intro Comp SWE 2
  • 3.
  • 4.
    Requirements Analysis • Conceptually,the requirements analysis involves the following: – Eliciting requirements: determining customer requirements – Analyzing requirements: assure that the requirements are clear, complete, unambiguous, not contradictory – Recording requirements: document reqs as text, use cases, user stories, or process specifications. • Techniques used in eliciting reqs: – Holding interviews, – Holding focus groups – Running questionairs – Creating requirements lists – Prototyping, – Use cases. • => The above is often called as the Requirements Engineering in software/systems engineering jargon. • The outcome is Software Requirements Specification (SRS) 14.11.2020 Intro Comp SWE 4
  • 5.
    SRS • SRS: acomplete description of the behavior of the target system: – Functional Requirements: use cases – Non-functional Requirements: constraints to satisfy, such as performance, quality standards, and design. • Let’s consider a simple example: – Daily schedule reminder software application: • SRS: – Objective? – FR? – NFR? 14.11.2020 Intro Comp SWE 5
  • 6.
    Format of asoftware requirement specification report 14.11.2020 Intro Comp SWE 6
  • 7.
    Modern Methods forSRS • Joint Application Development (JAD): the key users, sponsors, managers, and system analysts hold a succession of structured collaborative workshops. • Group Support Systems (GSS): provide collaboration for members of the group. • Computer-Aided Software Engineering (CASE) tools: privode computer tool base for auomation of the processes • Prototyping: A rudimentary version of the application is built with the help of analysts and users. This is used to augment the requirement determination process. 14.11.2020 Intro Comp SWE 7
  • 8.
    Software Requirement Documentation •Requirements are produced and consumed by everyone involved in the production of software: end-users, customers, product managers, project managers, sales, marketing, software architects, usability experts, interaction designers, developers, testers, deployment and maintenance staff. Thus, requirements documentation has many different purposes. – Architecture/Design Documentation – Technical documentation – User documentation 14.11.2020 Intro Comp SWE 8
  • 9.
    Terminology - Terimler •Requirements analysis: gereksinme çözümlemesi • Prototyping: öntürleme • SRS: yazılım gereksinim belirtimi • Functional Requirements: işlevsel gereksinimler • Interface: arayüz • software architect: yazılım mimarı • Data flow: veri akımı • Exception handling: olay işleme • JAD: ortaklaşa uygulama geliştirimi • GSS: grup destek sistemi • CASE: bilgisayar destekli yazılım mühendisliği • Documentation: belge, belgeleme 14.11.2020 Intro Comp SWE 9
  • 10.
    Homework • Prepare asoftware requirements specification report: – For an application of your choice – Provide one sentence entry for each section; – No drawing or graphics; use just text. 14.11.2020 Intro Comp SWE 10
  • 11.
    These are FYI! •Software requirements analysis, 20 minutes: – https://www.youtube.com/watch?v=Vz7TQ3eAQi U • Analysis and Requirements Gathering, 19 minutes: – https://www.youtube.com/watch?v=gyXcu78bWis – Start from 4.50 minute mark! 14.11.2020 Intro Comp SWE 11
  • 12.
    Leads • Python programminglanguage creator Guido van Rossum joins Microsoft: – https://www.techrepublic.com/article/python- programming-language-creator-guido-van-rossum-joins- microsoft/ • C++ programming language: How it became the invisible foundation for everything, and what's next: – https://www.techrepublic.com/article/c-programming- language-how-it-became-the-invisible-foundation-for- everything-and-whats-next/ • TIOBE Index for November 2020: – https://www.tiobe.com/tiobe-index/ 14.11.2020 Intro Comp SWE 12