42
CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering, SRS IIT BOMBAY

CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

Embed Size (px)

Citation preview

Page 1: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

CS 634 Information Systems

Dr Deepak B PhatakSubrao Nilekani Chair Professor

Kanwal Rekhi Building, Department of CSEIIT Bombay

Session 8, Software Engineering, SRS

IIT BOMBAY

Page 2: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 2

IIT BOMBAY

SESSION OVERVIEW

• Principles of Software Engineering• Software Engineering Activities• Process Maturity Measures• Review of ER Model• Functional Model

• Data Flow Model

• User Interface Issues• Software Requirement Specifications (SRS)

Page 3: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 3

IIT BOMBAY

ROLE OF SOFTWARE

• Business Functionality Depends Mainly On Software

• Good Systems S/W Is The Basis• OS, Programming Languages (3GL)

• Tools To Build S/W Keep Evolving• 4GL (SQL), RAD Tools

• Typical Life Cycle: 10 -15 Years

Page 4: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 4

IIT BOMBAY

Software Characteristics

• Software is Developed or Engineered• Not Manufactured

• Software Does Not “Wear Out”• May Become Un-Maintainable• Hardware Does wear out

• Most Software is Custom-Built• Limited Role for Packaged Products Which Need

Customization and Integration With Other Apps.

Page 5: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 5

IIT BOMBAY

SOFTWARE ENGINEERING

• Application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; i.e., The application of engineering to software• IEEE Definition 1993

Page 6: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 6

IIT BOMBAY

SOFTWARE ENGINEERING

• Engineering is the analysis, design, construction, verification and management of technical (or) social entities

• To engineer S/W, we must define A development process

Page 7: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 7

IIT BOMBAY

Building Information Systems

• Functional Specifications• System Engineering

• Feasibility Study• Allocation To H/W, S/W, People

• System Analysis• System Design• Coding, Testing, Integration• Acceptance and Deployment

Page 8: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 8

IIT BOMBAY

Software Process Models

• Linear Sequential Model• The Waterfall Model • User Knows Inadequacies Too Late

• Prototyping Model• Model Business, Data, and Processes• Generate Application• Test and Turnover

Page 9: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 9

IIT BOMBAY

Software Process Models

• Rapid Application Development • Evolutionary Models

• The Incremental Model• Sequential + Prototyping

• The Spiral Model

• Concurrent Development Model• Formal Methods Model

Page 10: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 10

IIT BOMBAY

UMBRELLA ACTIVITIES

• Project Tracking And Control• Formal Technical Reviews• S/w Quality Assurance• Configuration Management• Document Production• Reusability Management• Measurement, Risk management

Page 11: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 11

IIT BOMBAY

Software Project Management

• Basic Project Management• Software Teams

• Coordination & Communication

• Process and Project Metrics• Based on Lines of Code (LoC)• Function Point Oriented

• Project Scheduling and Tracking

Page 12: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 12

IIT BOMBAY

Software Engineering

• A Quality Focus• Process• Methods• Tools

Page 13: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 13

IIT BOMBAY

SEI MODEL

• Software Engineering Institute• At Carnegie Mellon University

• Capability Maturity Model• Five Levels of Maturity to Measure

Effectiveness of an Organization in its Software Development Practices (CMM levels)

Page 14: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 14

IIT BOMBAY

CMM LEVEL 1 (Initial)

• Process is Ad Hoc (Even Chaotic)• Very Few Processes Are Defined• Success Depends Entirely On Individual Efforts

Page 15: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 15

IIT BOMBAY

CMM LEVEL 2 (Repeatable)

• Basic Management Processes Are Established

• Cost Schedule And Functionality Is Tracked

• Discipline To Successfully Repeat Projects With Similar Applications

Page 16: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 16

IIT BOMBAY

CMM LEVEL 3 (Defined)

• Software process for both management and engineering activities is standardized, documented, and integrated across the organization

• All projects use the documented approved version

Page 17: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 17

IIT BOMBAY

CMM LEVEL 4 (Managed)

• Detailed measures of process and product quality are collected

• Process and products quantitatively understood and controlled using detailed measures

Page 18: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 18

IIT BOMBAY

CMM LEVEL 5 (Optimizing)

• Quantitative feedback exists from process for continuous process improvement

• Testing innovative ideas and technologies

Page 19: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 19

IIT BOMBAY

Classical Analysis Modeling

• Data Object Description• Entity Relationship Diagram

• Relational Model

• Process Specification• Data Flow Diagram

• Control Specifications• State Transition Diagram

Page 20: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 20

IIT BOMBAY

SYSTEM ANALYSIS

• Represent Information Domain Of The Problem• Which Data, How Manipulated• Five Ws and One H

• Understand S/W Requirements• Specify S/W Functions, Interfaces, Constraints

Page 21: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 21

IIT BOMBAY

sroll

ENTITY MODEL

Student

sname

shostel sroom scpi

scourses

shobbies

Page 22: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 22

IIT BOMBAY

ccode

Course Entity

Course

cname cstudents

cfaculty

ccredits

Page 23: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 23

IIT BOMBAY

TABLE REPRESENTATION

sroll sname shostel

99011012 Vijay Ambre 02

sroom

01D15034 Shaukat Ali 08

scpi

218 8.497.94218

Page 24: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 24

IIT BOMBAY

TABLE REPRESENTATION

ccode cname ccredit

CS634 Information Systems 06

CS101 Computer Programming 06

Page 25: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 25

IIT BOMBAY

RELATIONSHIPS

Student

Registers For

Course

sroll

ccode

Grade

Page 26: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 26

IIT BOMBAY

The REG Table

TABLE FOR RELATIONSHIPS

sroll ccode grade

99011012 CS402 AB

Page 27: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 27

IIT BOMBAY

ER MODEL

• Captures Static Characteristics• Associations May Be

• One To One (Shown By A Dot)• One To Many, Many To One

• Easy To Map The Structure To Files Or Data Base Schema

This Model Does Not Cover Dynamic Features, Workflow, Interfaces, etc.

Page 28: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 28

IIT BOMBAY

DATA DICTIONARY (Entity Sets)

• A Repository Of All Information About Entities And Associations

• For An Entity• Name, Brief Description• Approximate Number in The Set• Frequency of Changes• Any Other Information

Page 29: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 29

IIT BOMBAY

DATA DICTIONARY (Attributes)

• For Each Attribute• Name, Brief Description• Data Type and Field Width• Valid Values (Domain)• Typical Values

Page 30: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 30

IIT BOMBAY

FLOW MODELING (DFD)

• As information flows through A system, it is transformed

• A transformation represents part of a system function

• Such flow and the attendant transformation can be captured using a model for data flow

• Represented using data flow diagrams

Page 31: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 31

IIT BOMBAY

Example of a Data Flow

Participant

Enrollment-master

Reg-form

Acct-masterRoll-list

Pnext

ErrorListValidate

Registration

Faculty

Page 32: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 32

IIT BOMBAY

Example of a Data Flow

Participant

Enrollment-master

Reg-form

Acct-masterRoll-list

Pnext

ErrorListValidate

Registration

ValidationInformation

DF1

Faculty

Page 33: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 33

IIT BOMBAY

DFD SYMBOLS

External Entity

Data Flow

Donor

Acct-statement

ProcessCheckExpense

Data-StorePledge-Info

Page 34: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 34

IIT BOMBAY

DFD SYMBOLS

• External Entity: Source Or Consumer Of Information

• Arrow: Represents Flow of Data• Process: Describes Transformation

• Ultimately, Represents the Algorithm or Program That Gets/Puts Data From/To Arrows and Contains Processing Specifications

• Store: Stores Data

Page 35: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 35

IIT BOMBAY

DFD Data Dictionary

• Each Symbol Must Have An Associated Label

• Data Dictionary Entries Must Define That Label in Terms Of its Meta-Data

• Process Narrative (PSPEC) Must be Included

Page 36: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 36

IIT BOMBAY

Example Entries

• Reg-Form• Roll Number, Name, Course, Audit/Credit, Time-

table slot, …

• Validation-Information• Input to Store: Roll-number• Return From Store

• Name, CPI, fees-payment status, …

Page 37: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 37

IIT BOMBAY

CONTEXT DIAGRAM

• Called level 0 DFD, or the fundamental system model

• Single bubble with incoming and outgoing arrows mainly showing the entities involved

• Functional partitioning further done to derive several level 1 DFDs

Page 38: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 38

IIT BOMBAY

Context Diagram Example

CDEEPSYSTEM

Participant-Info

Course-Info

Faculty-Info

Remote-Centre-Info

Participant-Grades

Course Contents

Annual Revenue

Page 39: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 39

IIT BOMBAY

REFINEMENT

• Expansion Of a Level 1 DFD To Add Detailed Processes

• Flow Continuity Necessary• Expansion Must Have Same I/O

Page 40: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 40

IIT BOMBAY

USER INTERFACE

• Modeling Interactive Screens• Capture And Validate Input• Query Retrieval

• Modeling Reports• Contents and Format• On Screen, On Printer

• Special Interfaces

Page 41: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 41

IIT BOMBAY

USER INTERFACE

• Screen And Forms Layouts• Source And Target Stores• Operational Considerations

• Ease Of Use (User Friendliness)• Keystroke Minimization

Page 42: CS 634 Information Systems Dr Deepak B Phatak Subrao Nilekani Chair Professor Kanwal Rekhi Building, Department of CSE IIT Bombay Session 8, Software Engineering,

cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 42

IIT BOMBAY

SRS Document (Draft Contents)

• Introduction• Functional Specifications• Data Models and Data Dictionary

• ER Model• Data Flow Model

• User Interface Requirements• Interfaces to Other Systems• Procedures and Workflow• Acceptance Criteria• Appendices