Intro To Software Engineering




                                                     By
                                              Utpal Ray


January 13, 2012   Made By Utpal Ray                      1
Intro To Software Engineering




  What is Software ?
     It is NOT just merely a program.
     It is the collection of following items:-
            - A group of separate programs
            - A set of configuration files
            - System Documentation
            - User Documentation
            - A relevent web site to contain all the
              latest info about this software.

January 13, 2012   Made By Utpal Ray                   2
Intro To Software Engineering




  What is Software Engineering ?


 - Software Engineering is an Engineering discipline
   which is concerned with all aspects of Software
   Production.

 - It is an Universal Technique for developing large scale
    system in a cost effective way.


January 13, 2012   Made By Utpal Ray                         3
Intro To Software Engineering




  Attributes of Good Software
     Satisfies Functional Requirements
     Satisfies Performance Requirements
     Should be Maintainable
     Should be Dependable
     Should be Usable
     Should be Portable




January 13, 2012   Made By Utpal Ray                4
Intro To Software Engineering




  Key Challenges facing Software Engineering
     Coping with legacy systems
     Coping with increasing diversity
     Coping with increasing demands for reduced delivery
     time
     Updating software with the latest revision
     Curb the ever-increasing cost of producing quality
     software
     Meeting 100% user expectations


January 13, 2012   Made By Utpal Ray                       5
Intro To Software Engineering




 Software Engineering and Computer Science

    Computer Science is concerned with theory and
    fundamentals.

    Sofware Engineering is concerned with the
    practicalities of developing and delivering useful
    software.


January 13, 2012   Made By Utpal Ray                     6
Intro To Software Engineering




 Software Engineering and System Engineering

    System Engineering is concerned with all aspects of
    computer based system development, including
    H/W, S/W and Process Engineering

     Software Engineering is a part of this process




January 13, 2012   Made By Utpal Ray                      7
Intro To Software Engineering




  Cost Associated with software engineering


           Specs    Design             Development   Integration and Testing
            15%      20%                  25%                  40%




January 13, 2012   Made By Utpal Ray                                     8
Intro To Software Engineering

  Process        Specification       Design          Development   Verification and   CASE TOOL
Tools                                                               Validation         Example
Planning Tools           Y                     Y            Y              Y           MS EXCEL
Editing Tools            Y                     Y            Y              Y           VI,
                                                                                       MS WORD
Documentati-             Y                     Y            Y              Y           MS WORD,
on Tools                                                                               ADOBE

Change Mgmt              Y                     Y            Y              Y           CLEARCASE
Tools                                                                                  and RCS
Scheduling               Y                     Y            Y              Y           MS PROJ
Tools
Configuration                                  Y            Y              Y           CLEARCASE
Mgmt Tools                                                                             And RCS
Language                                                    Y              Y           CC,
Processing                                                                             JAVAC
Tools
Debugging                                                   Y              Y           ADB,
Tools                                                                                  KDB
Testing Tools                                               Y              Y           Win Runner,
                                                                                       File
                                                                                       Comparator
    January 13, 2012              Made By Utpal Ray                                                  9
Intro To Software Engineering


  Professional and Ethical Responsibility of a Software
    Engineer
         Maintain the confidentiality of their Clients
         Never mis-represent their competence
         Careful to ensure that IP Rights of employers and
         Clients are protected
         Never misuse the employer’s and Client’s Computer
         Never attempt to write dishonest code
         Never make a program to appear cryptic




January 13, 2012   Made By Utpal Ray                         10
Intro To Software Engineering
                                SYLLABUS
              1. Intro to S/W Engg
              2. Software Process Model
              3. Requirement Engg
              4. Design Concepts
              5. Architectural Design
              6. Architectural Design Workout
              7. Interface Design
              8. Component Level Design
              9. Coding Standards & Guidelines
              10. Software Testing Technique
              11. Software Testing Strategy
              12. Software Maintenance
              13. S/W Metrics – Process and Project Metrics
              14. S/W Product Metrics – Technical Metrics
January 13, 2012     Made By Utpal Ray                        11
Intro To Software Engineering

  Reference :-

 1. Software Engineering – A practitioner’s Approach
    by R. S. Pressman; McGrawHill

 2. Software Engineering
    by Ian Sommerville; Pearson Education

 3. Fundamentals of Software Engineering
    by Rajib Mall; PHI




January 13, 2012   Made By Utpal Ray                   12

01 software engineering_aspects

  • 1.
    Intro To SoftwareEngineering By Utpal Ray January 13, 2012 Made By Utpal Ray 1
  • 2.
    Intro To SoftwareEngineering  What is Software ? It is NOT just merely a program. It is the collection of following items:- - A group of separate programs - A set of configuration files - System Documentation - User Documentation - A relevent web site to contain all the latest info about this software. January 13, 2012 Made By Utpal Ray 2
  • 3.
    Intro To SoftwareEngineering  What is Software Engineering ? - Software Engineering is an Engineering discipline which is concerned with all aspects of Software Production. - It is an Universal Technique for developing large scale system in a cost effective way. January 13, 2012 Made By Utpal Ray 3
  • 4.
    Intro To SoftwareEngineering  Attributes of Good Software Satisfies Functional Requirements Satisfies Performance Requirements Should be Maintainable Should be Dependable Should be Usable Should be Portable January 13, 2012 Made By Utpal Ray 4
  • 5.
    Intro To SoftwareEngineering  Key Challenges facing Software Engineering Coping with legacy systems Coping with increasing diversity Coping with increasing demands for reduced delivery time Updating software with the latest revision Curb the ever-increasing cost of producing quality software Meeting 100% user expectations January 13, 2012 Made By Utpal Ray 5
  • 6.
    Intro To SoftwareEngineering Software Engineering and Computer Science Computer Science is concerned with theory and fundamentals. Sofware Engineering is concerned with the practicalities of developing and delivering useful software. January 13, 2012 Made By Utpal Ray 6
  • 7.
    Intro To SoftwareEngineering Software Engineering and System Engineering System Engineering is concerned with all aspects of computer based system development, including H/W, S/W and Process Engineering Software Engineering is a part of this process January 13, 2012 Made By Utpal Ray 7
  • 8.
    Intro To SoftwareEngineering  Cost Associated with software engineering Specs Design Development Integration and Testing 15% 20% 25% 40% January 13, 2012 Made By Utpal Ray 8
  • 9.
    Intro To SoftwareEngineering Process  Specification Design Development Verification and CASE TOOL Tools Validation Example Planning Tools Y Y Y Y MS EXCEL Editing Tools Y Y Y Y VI, MS WORD Documentati- Y Y Y Y MS WORD, on Tools ADOBE Change Mgmt Y Y Y Y CLEARCASE Tools and RCS Scheduling Y Y Y Y MS PROJ Tools Configuration Y Y Y CLEARCASE Mgmt Tools And RCS Language Y Y CC, Processing JAVAC Tools Debugging Y Y ADB, Tools KDB Testing Tools Y Y Win Runner, File Comparator January 13, 2012 Made By Utpal Ray 9
  • 10.
    Intro To SoftwareEngineering  Professional and Ethical Responsibility of a Software Engineer Maintain the confidentiality of their Clients Never mis-represent their competence Careful to ensure that IP Rights of employers and Clients are protected Never misuse the employer’s and Client’s Computer Never attempt to write dishonest code Never make a program to appear cryptic January 13, 2012 Made By Utpal Ray 10
  • 11.
    Intro To SoftwareEngineering SYLLABUS 1. Intro to S/W Engg 2. Software Process Model 3. Requirement Engg 4. Design Concepts 5. Architectural Design 6. Architectural Design Workout 7. Interface Design 8. Component Level Design 9. Coding Standards & Guidelines 10. Software Testing Technique 11. Software Testing Strategy 12. Software Maintenance 13. S/W Metrics – Process and Project Metrics 14. S/W Product Metrics – Technical Metrics January 13, 2012 Made By Utpal Ray 11
  • 12.
    Intro To SoftwareEngineering Reference :- 1. Software Engineering – A practitioner’s Approach by R. S. Pressman; McGrawHill 2. Software Engineering by Ian Sommerville; Pearson Education 3. Fundamentals of Software Engineering by Rajib Mall; PHI January 13, 2012 Made By Utpal Ray 12