1. lecture0

Upload: harendra-singh

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

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.