1. lecture0
TRANSCRIPT
-
8/13/2019 1. Lecture0
1/32
DVSS: Course Introduction
Dr Atul Gupta
-
8/13/2019 1. Lecture0
2/32
The K-2 Tower 8611 meters in the Karakorum range of
the western Himalayas 2ndHighest peak and considered most
difficult to climb (success rate less than
40%) An expedition to K-2 typically lasts several
months
Lot of planning and efforts
Many unexpected events may happen.
-
8/13/2019 1. Lecture0
3/32
NAS Monitors and controls air-traffic in US
More than 18,300 airport, 21 air route traffic control centers,460 control towers
More than 34000 pieces of equipments - radar systems,
communication switches, radios, computer systems, displays
Computers at 21 air route traffic control centers are IBM 3083mainframes
In 1996, US Govt initiated a modernization program thatincluded satellite navigation, digital communications,
automation, decision support system, etc
A previous similar effort (AAS) was suspended in 1994
because of software failure
-
8/13/2019 1. Lecture0
4/32
Engineering of Complex Systems Complex systems many components and
interactions External conditions can trigger unexpected changes
The problem is beyond the control of any single
individual Changes forces participants to look for new
solutions
Several participant need to cooperate and developdesired solution
We are interested in Software-IntensiveSystems
-
8/13/2019 1. Lecture0
5/32
Software is also about FUN!
www.dilbert.com
-
8/13/2019 1. Lecture0
6/32
Software
Economy is measured by availability of IT
infrastructure and its successful use
Software is the central to any IT
infrastructure Multi-billion dollar Industry
World is moving very fast. besides
Software technology is changing evenfaster
-
8/13/2019 1. Lecture0
7/32
Software Dominates everything
Education to Employment Health to Life styles
Entertainment Science and Exploration (on Earth and beyond) Management to Governance Business to Economics House-hold to Office
Transportation to Teleconferencing Banking to Finance Planning to Design to Implementation to Evaluation Individual to Society Communication
Ecological and Environmental balance Engineering Agriculture
-
8/13/2019 1. Lecture0
8/32
Engineering Software
The main objective of the undergraduate
programme in CSE
-
8/13/2019 1. Lecture0
9/32
We are good at it:Writing Programs !
Find roots of a quadratic equation!
Sorting algorithm!
Implementing a data structure!
Graph problem/algorithms! Writing database queries!
Programming LEX, YACC Writing programs for Chat, Library,
Reservation, etc.!
-
8/13/2019 1. Lecture0
10/32
Writing Programs Dos ! You choosea programming language
You write everythingfrom scratch For you, writing program means mainly
coding
You do some testingto show that it works (adhoc)
You decide to stop coding (ad hoc)
You show/submit it to your teacher
Thats All !
-
8/13/2019 1. Lecture0
11/32
Writing Programs Donts ! You dont do Requirement Engineering
You dont do Formal Designing You dont follow standard coding practices
You dont do Formal Verification andValidation
You dont do Deployment
You dont check-in your code Thats NOTAll !
-
8/13/2019 1. Lecture0
12/32
Writing Programs Donts !
Above All
Project Management Activities
Planning, Estimation, Scheduling, Tracking,
Configuration Management
Versioning, Change management, Bug tracking
Quality Management
Reviews, Audits,
Software Evolution
-
8/13/2019 1. Lecture0
13/32
Developing Software You choosea programming language
You write everythingfrom scratch
For you, writing program means mainlycoding
You do testingto show that it works (ad hoc)
You decide to stop coding (ad hoc)
You show/submit it to your teacher Thats NOTAll !
-
8/13/2019 1. Lecture0
14/32
DevelopingMaintainingSoftware (Industrial Practice)
Multi-million LOC software project
Organization-specific processcentricapproach
People-oriented (team) effort Some unfamiliar language
Different development environment
Support services
-
8/13/2019 1. Lecture0
15/32
Welcome the World ofSoftware Development !
-
8/13/2019 1. Lecture0
16/32
How the Course Fits into CSCurriculum?
Most courses for learning technology
Compilers, operating systems, databases, etc.
This course concerns wrt. analysis, design,implementation, testing, and maintenance ofSoftware Systems Assume you can program/learn new languages
Make use of technology as a tool to support
process Skills will become very important upon graduation
complex systems, large teams
dont look for large immediate impact in other CS courses
10/21/2010 16
-
8/13/2019 1. Lecture0
17/32
A SE Course Small groups of 3-4 students are assigned toy
problems Deadline less than a month
One strong programmer can carry the whole
team by brute force Its not necessary to learn
Communication skills
Use of modeling tool
Deal with the ambiguities of actual problem
Team skills
-
8/13/2019 1. Lecture0
18/32
Course Objectives Understand and Appreciate Software
Engineering: How to build high quality complex software
systems within time while dealing with
complexity and change
Acquire technical knowledge (mainemphasis)
Acquire managerial knowledge
10/21/2010 18
-
8/13/2019 1. Lecture0
19/32
Acquire Technical Know-how Factual SE information
Learn how to undertake an SE activity individually as wellas in groups
Learn how to design and develop software systems
RUP, Agile, SA/SD Understand Software Modeling and Design
Learn different modeling techniques using UML models: Use Case modeling Object Modeling Functional Modeling Dynamic Modeling
Learn how to Validate Software Learn how to use CASE (Computer Aided Software
Engineering) Tools: Rational Rose, JUnit
10/21/2010 19
-
8/13/2019 1. Lecture0
20/32
Acquire Managerial Know-how Understand the Software Lifecycle (SDLC)
Process, Product, Project and People Learn about different software development lifecycles Best Practices Process Improvement, CMM
Estimates, Planning and Executions Cost, Effort, Resources, Risk Deliverables Scheduling and tracking
Communicate and critically evaluate yours results key to your future success
10/21/2010 20
-
8/13/2019 1. Lecture0
21/32
Software Engineering Skills Communication
Feedback
Motivation
Analytical Project Management related Skills
Planning and Tracking
Risk Assessment and Mitigation
Estimation
-
8/13/2019 1. Lecture0
22/32
This Course is about Understanding and learning about SDLC
Methodologies, techniques and tools thatcan be used for better S/W development
Technical and not so technical issues Learning on real life projects
-
8/13/2019 1. Lecture0
23/32
-
8/13/2019 1. Lecture0
24/32
Course Organization Technical and Managerial Know-how for
SDLC Teaching
Lectures (with slides) Course Project
Hands-on (Modeling, TDD, Unit Testing, Code
Inspection) Term Papers and Presentations
-
8/13/2019 1. Lecture0
25/32
-
8/13/2019 1. Lecture0
26/32
Evaluation Criteria30% Course Project
40% End-Semester + Mid Semester20% Term Paper and Presentation10% Attendance
There will be bonus marks (max 10%) forundertaking additional work on course objectives.
-
8/13/2019 1. Lecture0
27/32
Course Project [120 Marks] For a given real world problem, develop
Requirement Specification SRS [10] Use Case Model with UCD [10]
Scenarios [10]
Class Diagram (Domain Level) [10]
Component/Architecture Diagram [10]
Class Diagram (Domain Level) [10]
Implementation [60]
Will Be done in groups, each with 4 students
-
8/13/2019 1. Lecture0
28/32
Term Paper and Seminar [40] Motivation ?
Ensure good technical writing and presentation skills To write research papers/articles
Contributions!
Develop a general understanding about them
Topics ? A Small List is available
You can choose too !
Contents ?
A generic structure of the contribution will be made available
Specific needs
Presentation and Evaluation
-
8/13/2019 1. Lecture0
29/32
-
8/13/2019 1. Lecture0
30/32
Books and Reference Materials Text Books
Pankaj Jalote. An integrated approach to Software
Engineering, 3rd
Ed. Narosa Publication 2005 Bernd Bruegge, Allen Dutoit: Object-Oriented
Software Engineering: Using UML, Patterns, andJava, Addison Wesley, 2003.
Course site
https://sites.google.com/site/atulkg/courses/software-engineering
Internet
10/21/2010 30
-
8/13/2019 1. Lecture0
31/32
Questions ?
-
8/13/2019 1. Lecture0
32/32
SE as a Separate Discipline Several Universities Offers Undergraduate
program in SE [SWEBOK04] University of New South Wales (Australia),
McMaster University (Canada),
the Rochester Institute of Technology (US),
the University of Sheffield (UK), and others.