Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway...

26
CS 101 Computer Programming and utilization Dr Deepak B Phatak Subrao Nilekani Chair Professor Department of CSE, Kanwal Rekhi Building IIT Bombay Session 15,Software Engineering and Course Projects Friday, September 23, 2011 IIT BOMBAY Session 15, Software Engineering and course projects

Transcript of Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway...

Page 1: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

CS 101 Computer Programming and utilization

Dr Deepak B Phatak Subrao Nilekani Chair Professor

Department of CSE, Kanwal Rekhi Building IIT Bombay

Session 15,Software Engineering and Course Projects

Friday, September 23, 2011

IIT BOMBAY

Session 15, Software Engineering and course projects

Page 2: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 2

IIT BOMBAY

Session 15, Software Engineering and course projects

Overview

• Introduction to Software Engineering • Role of Software • Software development process

• Course projects • Activities to be carried out in the project • Reporting process • Deadlines

• Project evaluation • Stage I • Stage II

Page 3: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 3

IIT BOMBAY

Software Engineering

Session 15, Software Engineering and course projects

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

– Data Flow Model • User Interface Issues • Software Requirement Specifications (SRS)

Page 4: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 4

IIT BOMBAY

Role of Software

Session 15, Software Engineering and course projects

• Classical categorization – System Software – Application Software – Embedded software – Web applications

Page 5: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 5

IIT BOMBAY

System Software

Session 15, Software Engineering and course projects

– OS, Programming Languages (3GL) compilers – 4GL (SQL), Rapid Application Development (RAD) Tools – Tools To Build Software Keep Evolving

Page 6: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 6

IIT BOMBAY

Application Software

Session 15, Software Engineering and course projects

• Determines Business Functionality • Students’ Information system, Accounting, payroll, …

– Railway reservation, Core banking, … – Simulators, Equation solvers, genome sequencing – Typical Life Cycle: 10 -25 Years

Page 7: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 7

IIT BOMBAY

Embedded systems

Session 15, Software Engineering and course projects

• Software inside any gadget or appliance – Washing machines, watch, camera, lift, car, aircraft, … – Equipment in manufacturing Plant, Instruments

• Some special characteristics – Code size has to be ‘compact’ – Changes in versions are difficult – Development cycle is longer

Page 8: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 8

IIT BOMBAY

Software Engineering

Session 15, Software Engineering and course projects

• Software is Developed or Engineered – Not Manufactured

• Hardware does wear out • Software does not “Wear Out”

– May Become Un-Maintainable • Most Software is Custom-Built

– Limited Role for Packaged Products Which Need Customization and Integration With Other Apps.

Page 9: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 9

IIT BOMBAY

Definition

Session 15, Software Engineering and course projects

• 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

• 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 10: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 10

IIT BOMBAY

Software Engineering Activities

Session 15, Software Engineering and course projects

• Functional Specifications • System Engineering • Feasibility Study • Allocation To H/W, S/W, People • System Analysis • System Design • Coding, Testing, Integration • Acceptance & Deployment

Page 11: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 11

IIT BOMBAY

Software project management

Session 15, Software Engineering and course projects

• 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: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 12

IIT BOMBAY

SEI models

Session 15, Software Engineering and course projects

• 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

Page 13: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 13

IIT BOMBAY

CMM LEVEL 1 (Initial)

Session 15, Software Engineering and course projects

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

Page 14: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 14

IIT BOMBAY

Classical System analysis

Session 15, Software Engineering and course projects

• Understand S/W Requirements – What functions should the system perform – Specify S/W Functions, Interfaces, Constraints

• Represent Information Domain Of The Problem – Which Data, How Manipulated – What is input, what output is desired – Rules governing values of data – Rules governing processing logic

Page 15: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 15

IIT BOMBAY

Tasks to be completed during system analysis

Session 15, Software Engineering and course projects

• Modeling Interactive Screens – Capture and Validate Input – Query screens for Data Retrieval

• Modeling Reports – Contents and Format (text, graphics) – On Screen, On Printer

• Special Interfaces • Screen And Forms Layouts • Source And Target files • Operational Considerations • Ease Of Use (User Friendliness)

– Keystroke Minimization

Page 16: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 16

IIT BOMBAY

SRS document (modified for CS101)

Session 15, Software Engineering and course projects

• Introduction • Problem definition for your project

– Functional Specifications • Description of data (Input and Output) • User Interface Requirements • Interfaces to Other Systems, if any • Acceptance Criteria • Appendices

Page 17: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 17

IIT BOMBAY

Session 15, Software Engineering and course projects

CS101 Course Projects

• The course project is a chance for you to apply your programming knowledge to solve a larger problem by developing programs to solve the problem – A taste of professional Software Development activity

Page 18: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 18

IIT BOMBAY

Session 15, Software Engineering and course projects

Course Projects …

• Open ended Projects – What is to be done is not necessarily well defined – Team work will be most important

• Efforts MUST be made by each individual member • Two stage submission and evaluation process • Stage 1

– Problem definition – Analysis, and design of the algorithms, sample code – SRS document, including draft User Manual

• Stage 2 – Complete implementation, final documentation

Page 19: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 19

IIT BOMBAY

You will learn …

Session 15, Software Engineering and course projects

• Basic principles of project management • Professional programming style • To work together in groups, towards a common goal • To discuss, design, document, review • To take decisions, to meet deadlines

Page 20: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 20

IIT BOMBAY

Coordination of project activities

Session 15, Software Engineering and course projects

• A lab-batch will work on an allocated programming project • Your batch TA will be your project mentor • Each batch may divide itself into multiple teams

– A team should ordinarily have 3 students – Each team to elect a team leader – All the team leaders will be joint coordinators for the batch

• Regular meetings and discussions amongst members of a batch – Lab attendance is now COMPULSORY – At least one additional meeting per week

Page 21: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 21

IIT BOMBAY

Project diary

Session 15, Software Engineering and course projects

• Each student must maintain a record of the time spent for the project and specific work done in that time. The categorization of nature of the work could be as follows: – Discussions (names of participants, nature of discussion,

decisions taken) – Design: Data/file/algorithm/function/program – Programming – Testing/Documentation/Report writing – Logistics (maintaining records of meetings and decisions,

uploading files, CVS work, etc.) – Miscellaneous

Page 22: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 22

IIT BOMBAY

Project diary …

Session 15, Software Engineering and course projects

• Each student will maintain a project diary – Daily entries, format will be notified

• Consolidated entries to be uploaded every week – Each batch will sum up the number of person hours

spent by each member on each of the subheads during the week

Page 23: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 23

IIT BOMBAY

Submission Schedule

Session 15, Software Engineering and course projects

• Will be notified on moodle – Weekly diary submissions – Stage wise submission schedule – Stage wise evaluation process

Page 24: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 24

IIT BOMBAY

Self evaluation with Peer-review

Session 15, Software Engineering and course projects

• Perhaps never attempted by any of you earlier – Good time to learn

• Award Marks out of 5 to yourself, at each of the two stages – Based on the quantitative and qualitative contribution – Norms will be defined.

• The entire batch will review these marks in a formal meeting • Supervisory check

– Viva will be conducted for some selected student – Marks will be uniformly deducted for every student of the

batch if effort/marks discrepancy is noticed during viva

Page 25: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 25

IIT BOMBAY

Announcements

Session 15, Software Engineering and course projects

• Make-up activity for Lab assignments – Problems will be assigned by the TA – Submissions will be evaluated, viva may be conducted – Lab assignment marks will be upgraded appropriately

• Make-up for midsem examination. – Will be conducted for students scoring less than T – New scores to replace old (Up to T)

• Lab attendance is compulsory from next week – Additional batch meetings will be essential

• Additional lab-slot on Monday, Wednesday, Saturday, Sunday – Very limited TA support – You will need to pre-register

Page 26: Dr Deepak B Phatak - it.iitb.ac.in · PDF file– System Software ... – Railway reservation, Core banking, – Simulators, ... final documentation . Dr. Deepak B Phatak 19 IIT BOMBAY

Dr. Deepak B Phatak 26

IIT BOMBAY

Project selection

• Projects of Cs101-2010 batch will be uploaded on the moodle • A new portal is being • The URL of the C portal along with other requisite information

regarding the log in details for students www.it.iitb.ac.in/Cportal • Students can login with following details Username: RollNo Password: RollNo Right Now, • You can access data on projects quiz, post things to the forum...

• You may have to download