• No results found

IIT Bombay

N/A
N/A
Protected

Academic year: 2022

Share "IIT Bombay "

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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

(3)

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)

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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.

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

References

Related documents

Adverbs of place Where the verb took place walking near the house, here, there..

● Compile the client program with the client stub, and procedure implementation with the server stub, into two independent client and server programs.. IIT Bombay cs

● Resulting cipher text is encrypted again using receiver’s public key, for confidentiality. ● Receiver first decrypts with private key, then decrypts with senders’

● Instead of the entire routing table, a router only provides the state (cost and status) of its directly connected links3. ● Routers use flooding to disseminate

• Combine results of sub-problems to obtain solution of larger problem.?.

Sivakumar Computer Science and Engineering IIT Bombay siva@iitb.ac.in... But, C can listen to all

● allows data frames to contain arbitrary number of bits. ● allows character codes with arbitrary number of bits

Sivakumar Computer Science and Engineering IIT Bombay siva@iitb.ac.in Free/Open Source Software: What and Why... Open Access not only