Sie sind auf Seite 1von 40

Course: Software Engineering Course code: IT302 Instructor: Saroj Pamulapati

Software engineering

Course Objective
The course helps develop the skills that are required for developing a software in a systematic fashion, so as to deliver software, in time, in cost and with high quality.

Software engineering

Course Plan
Content at a glance Part 1: Overview
Chapter 1: Introduction Chapter 2: Software processes

Part 2: Requirements
Chapter 3: Software Requirements Chapter 4: Requirement Engineering processes

Part 3: Management
Chapter 5: Project management Chapter 6: Software cost estimation Chapter 7: Configuration management & Reliability

Part 4: Design
Chapter 8:Architecture Design Chapter 9: Object-oriented design

Part 5: Verification and validation


Chapter 10: Verification and validation Chapter 11: Software testing
Software engineering 3

Books
Text book:
Ian Sommerville, Software engineering, 6th Edition Roger S Pressman, Software engineering- A Practitioners approach, 6th Edition Dr. K.C.Shet, Software Engineering & Quality assurance.

References
SWEBOK
Software engineering 4

Evaluation scheme
End sem - 40% Mid sem - 25% Assignments - 35%

Software engineering

Assignments
1. 2. 3. 4. 5. 6. 7. 8. 9. Software Requirement Specification (SRS) Project management and risk management Software cost estimation Analysis Design Coding Inspection Testing Final submission

Software engineering

Instructions for Assignments


Group size - 5 members Select any topic of your choice.( Note: No two teams should work on the same topic. It would be on the bases of first come first served.) Deadlines are rigid and missing the deadline simply means failing in that particular assignment. Reference list is compulsory for every assignment. Each team has to maintain a folder to preserve all the assignements.
Software engineering 7

Evaluation of the Assignment


Any kind of plagiarism will not be entertained what so ever. If caught, both teams will be failing in that particular assignment as well as the next assignment. Evaluation will be done by Mentor: Course Instructor Opponent: One of the team The opponent has to come up with constructive suggestions or comments. For which there are certain marks. The idea of opponent review is to help improve the assignment as well as for one to pick the best from the other teams assignments. The assignment has to be sent to the course instructor as well as the opponent ( Note: A soft copy of the assignment has to be sent to the opponent only after handing over the hard copy to the course intructor and after the deadline has passed.). The comments given for each assignment has to noted down and fixed, and to be placed under the title REJOINDER. Which will be checked in the final submission. In a group each of the members will be again judged based on the viva. The whole idea of individual evaluation is to make sure that the assignment is done in a team and not by a single person.
Software engineering 8

Example topics for the assignment


Online Movie Ticket Reservation System Develop a secure, reliable email server for communication within a university. Web search engine Software that maintains the details of the record for a Campus placement department Travel planner application

Software engineering

Deadline 1
Task:
Forming of groups Selection of topic A brief write up about the project Register the same with your CR

Deadline:
3 rd Aug, 2012 by 10:00 am

Note: While registering with your CR, check if the topic has been already taken by some other team. In which case you need to come up with a new topic all together. All this has to be done before 3 rd Aug, 2012 by 10:00 am

Software engineering

10

Topic registration form


Team number Member names Topic title Write up

Software engineering

11

Points to be noted
Software engineering IT 302
Is a 4 credits course and not 3 credits

Course instructor Saroj Pamulapati

Software engineering

12

Course: Software Engineering Course code: IT302 Instructor: Saroj Pamulapati

Software
Software= program + associated documents + configuration data
Eg: Number of programs Configuratuion files System documents User documents Web sites
Software Engineering 2

Types of Software

Generic software Software


Bespoke software

Software Engineering

Problems with traditional software development


Schedule slippage Cost over-runs Unreliable Poor quality Poor maintainability

Software Engineering

Reasons for failure


No planning Deliverables not identified Poor understanding of user requirements Poor understanding of cost and effort No control Technical incompetences of developers

Software Engineering

How to overcome these problems?


Identify stages in development Define milestones Define deliverables Identify requirements Plan and schedule work Schedule reviews Estimate cost/effort Plan extensive testing
Software Engineering 6

Software engineering
A systematic and organised approach to the analysis, design, implementation and maintenance to produce software that meets specifications, cost and quality effectively.

Software Engineering

THANK YOU!!!!

Software Engineering

Software Engineering IT350 Lecture 2 Introduction & Software Process Models


Software engineering 1

Summary of last session


What is software? Types of software Problems with traditional software development Reasons for failure How to overcome these problems Software Engineering Definition
Software engineering 2

Agenda
Difference between Software Engineering and Computer Science Difference between Software and System Engineering Software Process Software Process model CASE tools Attributes of good software Various software process models
Software Engineering 3

What is the difference between Software Engineering and Computer science ?


Computer Science: Theories and the methods Software Engineering: Practical problems

Difference between Software Engineering and System Engineering


System Engineering: Specifying + Designing + Integrating the system
System Engineering = Hardware development + Software Engineering + Policy and process design

Software engineering

Software Process
Consists of set of activities and associated results which produce a software product.
Software Specification Software development Software Validation Software Evolution

Software engineering

Software Process model


Is a simplified description of the software process that is presented from a particular perspective.
Workflow model Role/action model

Software engineering

Computer-Aided Software Engineering( CASE) Tools that support different activities of a software process
Upper CASE tools: analysis & design Lower CASE tools: implemetation & testing

Software engineering

Attributes of a good software


Maintainable Dependability Efficiency Usability

Software engineering

Software Process Models

Software engineering

Characteristics of an activity in a process


Well-defined objective. Requires people with specific skills Takes specific inputs and produces well-defined outputs Defines the entry criteria and exit criteria Uses specific techniques, tools, guidelines, conventions Must be executed as per project plan Must produce information for management Each step ends with a review
Software engineering 10

Activity in a process

Software engineering

11

Software Process Models


Is an abstract representation of the software process from a particular perspective.
Waterfall model Evolutionary development Formal systems development Reuse-based development

Software engineering

12

Waterfall model

Software engineering

13

Advantages
Simple and easy to use. Easy to manage due to the rigidity of the model each phase has specific deliverables and a review process. Works well for smaller projects where requirements are very well understood. Works well when quality is more important then cost/schedule. Works well if Customers/End users already know about it.
Software engineering 14

Disadvantage
Essential that requirements are known in the beginning itself. Assumes that requirements are stable Documentation heavy No working software is produced until late during the life cycle. High amounts of risk and uncertainty. Poor model for complex projects.
Software engineering 15

Evolutionary development

Software engineering

16

Types of Evolutionary development


There are two types of evolutionary development
Exploratory development: The development begins with parts of the system that are well understood Throw-away prototyping: The development begins with parts of the system that are not understood at all.

Software engineering

17

Advantages
The system can cope with change during and after implementation Users get essential functionality quickly. For small or medium sized system with fairly short life

Software engineering

18

Disadvantages
Systems are poorly structured Require special tools, techniques Can lead to a long development timescale Process is not visible Not suitable for large, long-lifetime systems.

Software engineering

19

THANK YOU!!!!

Software engineering

20

Das könnte Ihnen auch gefallen