Upload
sophie-strickland
View
218
Download
0
Embed Size (px)
Citation preview
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
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)
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
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.
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
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
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
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
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
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
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
cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 12
IIT BOMBAY
Software Engineering
• A Quality Focus• Process• Methods• Tools
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)
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
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
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
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
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
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
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
cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 21
IIT BOMBAY
sroll
ENTITY MODEL
Student
sname
shostel sroom scpi
scourses
shobbies
cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 22
IIT BOMBAY
ccode
Course Entity
Course
cname cstudents
cfaculty
ccredits
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
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
cs634-Session 8, Software Engineering, SRS Dr. Deepak B Phatak 25
IIT BOMBAY
RELATIONSHIPS
Student
Registers For
Course
sroll
ccode
Grade
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
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.
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
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
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
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
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
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
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
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
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, …
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
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
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
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
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
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