Software Engineering notes

Software Engineering notes


Table of Contents

SOFTWARE ENGINEERING TUTORIAL

    DEFINITIONS ...........1
   SOFTWARE EVOLUTION .............2
    SOFTWARE EVOLUTION LAWS.............3
    E-TYPE SOFTWARE EVOLUTION .............3
   SOFTWARE PARADIGMS.............4
   Software Development Paradigm...........4
   Software Design Paradigm ..............5
   Programming Paradigm.............5
   NEED OF SOFTWARE ENGINEERING..........5
   CHARACTERISTICS OF GOOD    SOFTWARE..........6
   Operational .............6
   Transitional .............6
   Maintenance ............6

SOFTWARE DEVELOPMENT LIFE CYCLE

   SDLC ACTIVITIES .......8
   Communication...........8
   Requirement Gathering............8
   Feasibility Study ............9
   System Analysis.............9
   Software Design...............9
   Coding ................9
   Testing..................9
   Integration ...............10
   Implementation................10
   Operation and Maintenance................10

SOFTWARE DEVELOPMENT PARADIGM

   Waterfall Model..........10
   Iterative Model..........11 
   Spiral Model ...............12
   V – model .............12
   Big Bang Model.............14

SOFTWARE PROJECT MANAGEMENT 

   SOFTWARE PROJECT..........15
   NEED OF SOFTWARE PROJECT MANAGEMENT ..............15
   SOFTWARE PROJECT MANAGER ..............16
Managing People ................16

   Managing Project.............17
   SOFTWARE MANAGEMENT ACTIVITIES ...........17
   PROJECT PLANNING ..........17
   SCOPE MANAGEMENT..............17
   PROJECT ESTIMATION................18
   PROJECT ESTIMATION TECHNIQUES .............19
   Decomposition Technique..............19
   Empirical Estimation Technique.............19
   PROJECT SCHEDULING .............20
   RESOURCE MANAGEMENT..............20
   PROJECT RISK MANAGEMENT...........21
   Risk Management Process.............21
   PROJECT EXECUTION AND MONITORING.........21
   PROJECT COMMUNICATION   MANAGEMENT.............22
   CONFIGURATION MANAGEMENT .........23
   Baseline .........23
   Change Control............23
   PROJECT MANAGEMENT TOOLS...............24
   Gantt Chart .............24
   PERT Chart.............25
   Resource Histogram...........25
   Critical Path Analysis...............26

SOFTWARE REQUIREMENTS 

   REQUIREMENT ENGINEERING ..........27
   REQUIREMENT ENGINEERING PROCESS ...........27
   Feasibility study..............27
   Requirement Gathering............28
   Software Requirement Specification    (SRS).............28
   Software Requirement Validation.........28
   REQUIREMENT ELICITATION PROCESS ..........29
   REQUIREMENT ELICITATION TECHNIQUES ............29
   Interviews..........30
   Surveys................30
   Questionnaires..............30
   Task analysis ............30
   Domain Analysis..........30
   Brainstorming ............30
   Prototyping ..............31
   Observation...............31
   SOFTWARE REQUIREMENTS    CHARACTERISTICS............31
    SOFTWARE REQUIREMENTS............31
    Functional Requirements ...............32
    Non-Functional Requirements ..........32
    USER INTERFACE REQUIREMENTS ............33
    SOFTWARE SYSTEM ANALYST ............33
    SOFTWARE METRICS AND MEASURES ........34

SOFTWARE DESIGN BASICS

    SOFTWARE DESIGN LEVELS.........36
    MODULARIZATION.........37
    CONCURRENCY..........37
    Example...........37
    COUPLING AND COHESION........38
    COHESION..........38
    COUPLING.........39
    DESIGN VERIFICATION ......39

SOFTWARE ANALYSIS AND DESIGN  TOOLS

    DATA FLOW DIAGRAM ........41
    Types of DFD ............4
    Components.......41
    Levels of DFD.........42
    STRUCTURE CHARTS.........43
    HIPO DIAGRAM..........45
    Example..........46
    STRUCTURED ENGLISH........47
    Example.........47
    PSEUDO-CODE...........48
    Example..........49
    DECISION TABLES ...........49
    Creating Decision Table...........49
    Example.........50
    ENTITY-RELATIONSHIP MODEL..........50
    DATA DICTIONARY .............51
    Requirement of Data Dictionary .........51
    Contents..........52
    Example...........52
    Data Elements.........52
    Data Store ...........53
    Data Processing.........53

SOFTWARE DESIGN STRATEGIEs

   STRUCTURED DESIGN ........54
   FUNCTION ORIENTED DESIGN........55
   Design Process........55
   OBJECT ORIENTED DESIGN........55
   Design Process.........56
   SOFTWARE DESIGN APPROACHES.......57
   Top Down Design ........57
   Bottom-up Design ..........57

SOFTWARE USER INTERFACE DESIGN

   COMMAND LINE INTERFACE (CLI) ........58
   CLI Elements........59

   GRAPHICAL USER INTERFACE .......60
   GUI Elements........60
   Application specific GUI components........61
   USER INTERFACE DESIGN   ACTIVITIES..........62
   GUI IMPLEMENTATION TOOLS........l64
   Example........64
   USER INTERFACE GOLDEN RULES ..........64

SOFTWARE DESIGN COMPLEXITY

   HALSTEAD'S COMPLEXITY MEASURES.........67
   CYCLOMATIC COMPLEXITY MEASURES .......68
   FUNCTION POINT...........70
   External Input..........70
   External Output.........71
   Logical Internal Files...........71
   External Interface Files...........71
   External Inquiry ........71

SOFTWARE IMPLEMENTATION

     STRUCTURED PROGRAMMING ........74
     FUNCTIONAL PROGRAMMING.........75               PROGRAMMING STYLE............76
    Coding Guidelines..........76
    SOFTWARE DOCUMENTATION ........77
    SOFTWARE IMPLEMENTATION                            CHALLENGES .......78

SOFTWARE TESTING OVERVIEW

   SOFTWARE VALIDATION..........l80
   SOFTWARE VERIFICATION ........80
   MANUAL VS AUTOMATED TESTING ......81
   TESTING APPROACHES..........81
   Black-box testing...........82
   White-box testing..........82
   TESTING LEVELS..........83
   Unit Testing..........83
   Integration Testing...........83
   System Testing ..............84
   Acceptance Testing ..............84
   Regression Testing ...........84
   TESTING DOCUMENTATION............84
   Before Testing ..............85
   While Being Tested..............85
   After Testing...............85
   TESTING VS. QUALITY CONTROL &                ASSURANCE AND AUDIT ............86

SOFTWARE MAINTENANCE OVERVIEW

    TYPES OF MAINTENANCE...........87
   COST OF MAINTENANCE ...........88

   Real-world factors affecting Maintenance Cost ............88
    Software-end factors affecting Maintenance Cost.........89
    MAINTENANCE ACTIVITIES ..........89
    SOFTWARE RE-ENGINEERING.............90
    Re-Engineering Process..............91
    Reverse Engineering.............92
    Program Restructuring..........92
    Forward Engineering.............l92
    COMPONENT REUSABILITY.............93
    Example...............93
    Reuse Process............93

SOFTWARE CASE TOOLS OVERVIEW

   CASE TOOLS .........100
   COMPONENTS OF CASE TOOLS ...........100
   SCOPE OF CASE TOOLS .........101
   Diagram tools...........101
   Process Modeling Tools.........101
   Project Management Tools.........102
   Documentation Tools.............102
   Analysis Tools............102
   Design Tools.........102
   Configuration Management Tools.........102
   Change Control Tools...........103
   Programming Tools............103
   Prototyping Tools...........103
   Web Development Tools............103
   Quality Assurance Tools.........l103
   Maintenance Tools..........103



Lecture 1: Introduction to Software Engineering
Lecture 2: Soft
ware Development Life Cycle, Classical Waterfall Model, Iter
ative Model
 Lecture 3: Prototype Model, Spiral Model
 Lecture 4: Requirement Analysis & Specification
 Lecture 5: Software Requirement Characteristics, User Interface Requirements
 Lecture 6: Software Design
 Lecture 7: Cohesion & Coupling
Lecture 8: Software Analysis & Design Tools – DFD
 Lecture 9: Structure Charts, Structured English
Lecture 10: Decision Table, ER Model, Data Dictionary




                                       Download 




Post a Comment

0 Comments