s p o n s o r e d   l i n k s


Software Engineering.pdf

42 Lessons about Software engineering, taken from IIT Kharagpur’s Course Materials.

This ebook is available FREE at National Programme on Technology Enhanced Learning Indian Institute of Technology Madras, India website, we merely collect the information, we are neither affiliated with the author(s), the website and any brand nor responsible for its content and change of content. (Read our disclaimer here or here before you download the document from the website written above by clicking the below link).

Contents along with the download links:

  • Module 1 Introduction to Software Engineering
    • Lesson 1 Basic Issues in Software Engineering objectives: Identify the scope and necessity of software engineering ~ Identify the causes of and solutions for software crisis ~ Differentiate a piece of program from a software product. Contents [ Scope and necessity of software engineering ~ Causes of and solutions for software crisis ~ Program vs. software product ~ ]
    • Lesson 2 Structured Programming objectives: Identify the important features of a structured program ~ Identify the important advantages of structured programming over unstructured ones ~ Explain how software design techniques have evolved over the last 50 years ~ Differentiate between exploratory style and modern style of software development. Contents [ Important features of a structured program ~ Important advantages of structured programming ~ Evolution of software design techniques over the last 50 years ~ Exploratory style vs. modern style of software development. ]
  • Module 2 Software Life Cycle Model
    • Lesson 3 Basics of Software Life Cycle and Waterfall Model objectives: Explain what is a life cycle model ~ Explain what problems would occur if no life cycle model is followed ~ Identify the different software life cycle models ~ Identify the different phases of the classical waterfall model ~ Identify the activities undertaken in each phase ~ Identify the shortcomings of the classical waterfall model ~ Identify the phase-entry and phase-exit criteria of each phase. Contents [ Life cycle model ~ The need for a software life cycle model ~ Different software life cycle models ~ Different phases of the classical waterfall model ~ Activities in each phase of the life cycle ~ Shortcomings of the classical waterfall model ~ Phase-entry and phase-exit criteria of each phase ]
    • Lesson 4 Prototyping and Spiral Life Cycle Models objectives: Explain what a prototype is ~ Explain why and when a prototype needs to be developed during software development ~ Identify the situations in which one would prefer to build a prototype ~ State the activities carried out during each phase of a spiral model ~ Identify circumstances under which spiral model should be used for software development ~ Tailor a development process to a specific project. Contents [ Prototype ~ Need for a prototype in software development ~ Examples for prototype model ~ Spiral model ~ Circumstances to use spiral model ~ Comparison of different life-cycle models ~ The following questions have been designed to test the objectives identified for this module: ]
  • Module 3 Requirements Analysis and Specification
    • Lesson 5 Basic concepts in Requirements Analysis and Specification objectives: Explain the role of a system analyst ~ Identify the important parts of SRS document ~ Identify the functional requirements from any given problem description ~ Document the functional requirements from any given problem description ~ Identify the important properties of a good SRS document ~ Identify the important problems that an organization would face if it does not develop an SRS document ~ Identify non-functional requirements from any given problem description ~ Identify the problems that an unstructured specification would create during software development ~ Represent complex conditions in the form of a decision tree ~ Represent complex conditions in the form of decision table. Contents [ Role of a system analyst ~ Parts of a SRS document ~ Identifying functional requirements from a problem description ~ Documenting functional requirements ~ Properties of a good SRS document ~ Problems without a SRS document ~ Identifying non-functional requirements ~ Problems with an unstructured specification ~ Decision tree ~ Decision table ]
    • Lesson 6 Formal Requirements Specification objectives: Explain what a formal technique is ~ Explain what a formal specification language is ~ Differentiate between model-oriented and property-oriented approaches in the context of requirements specification ~ Explain the operational semantics of a formal method ~ Identify the merits of formal requirements specification ~ Identify the limitations of formal requirements specification ~ Develop axiomatic specification of simple problems. Contents [ Formal technique ~ Formal specification language ~ Model-oriented vs. property-oriented approaches ~ Operational semantics ~ Merits of formal requirements specification ~ Limitations of formal requirements specification ~ Axiomatic specification ~ ]
    • Lesson 7 Algebraic Specification objectives: Explain algebraic specification and its use ~ Explain how algebraic specifications are represented ~ Develop algebraic specification of simple problems ~ Identify the basic properties that a good algebraic specification should satisfy ~ State the properties of a structured specification ~ State the advantages and disadvantages of algebraic specifications ~ State the features of an executable specification language (4GL) with suitable examples. Contents [ Algebraic specification ~ Representation of algebraic specification ~ Develop algebraic specification of simple problems ~ Properties of algebraic specifications ~ Structured specification ~ Advantages and disadvantages of algebraic specifications ~ Executable specification language (4GLs). ]
  • Module 4 Software Design Issues
    • Lesson 8 Basic Concepts in Software Design objectives: Identify the software design activities ~ Identify the items to be designed during the preliminary and detailed design activities ~ Identify the primary differences between analysis and design activities ~ Identify the important items developed during the software design phase ~ State the important desirable characteristics of a good software design ~ Identify the necessary features of a design document in order to facilitate understandability. Contents [ Software design and its activities ~ Preliminary and detailed design activities ~ Difference between analysis and design ~ Items developed during the software design phase ~ Characteristics of a good software design ~ Features of a design document ~ ]
    • Lesson 9 An Overview of Current Design Approaches objectives: State what cohesion means ~ Classify the different types of cohesion that a module may possess ~ State what coupling means ~ Classify the different types of coupling between modules ~ State when a module can be called functionally independent of other modules ~ State why functional independence is the key factor for a good software design ~ State the salient features of a function-oriented design approach ~ State the salient features of an object-oriented design approach ~ Differentiate between function-oriented and object-oriented design approach. Contents [ Cohesion ~ Classification of cohesion ~ Coupling ~ Classification of Coupling ~ Functional independence ~ Need for functional independence ~ Function-oriented design ~ Object-oriented design ~ Function-oriented vs. object-oriented design approach ]
  • Module 5 Function-Oriented Software Design
    • Lesson 10 Data Flow Diagrams (DFDs) objectives: Identify the activities carried out during the structured analysis phase ~ Explain what a DFD is ~ Explain why constructing DFDs are important in arriving at a good software design ~ Explain what a data dictionary is ~ Explain the importance of data dictionary ~ Identify whether a DFD is balanced. Contents [ Structured Analysis ~ Data Flow Diagram (DFD) ~ Importance of DFDs in a good software design ~ Data dictionary ~ Importance of data dictionary ~ Balancing a DFD ~ ]
    • Lesson 11 DFD Model of a System objectives: Draw the context diagram of any given problem ~ Draw the DFD model of any given problem ~ Develop the data dictionary for any given problem ~ Identify the common errors that may occur while constructing the DFD model of a system ~ Identify the shortcomings of a DFD model when used as a tool for structured analysis. Contents [ Context diagram ~ DFD model of a system ~ Data dictionary for a DFD model ~ Commonly made errors while constructing a DFD model ~ Shortcomings of a DFD model ]
    • Lesson 12 has the same contents as lesson 13
  • Module 6 Basic Concepts in Object Orientation
    • Lesson 13 Structured Design objectives: Identify the aim of structured design ~ Explain what a structure chart is ~ Differentiate between a structure chart and a flow chart ~ Identify the activities carried out during transform analysis with examples ~ Explain what is meant by transaction analysis. Contents [ Structured Design ~ Structure Chart ~ Structure Chart vs. Flow Chart ~ Transform Analysis ~ Transaction Analysis ]
  • Module 7 Object Modeling using UML
    • Lesson 14 Basic Ideas on UML objectives: Explain what a model is ~ Explain how models are useful ~ Explain what UML means ~ Explain the origin and the acceptance of UML in industry ~ Identify different types of views captured by UML diagrams. Contents [ Model ~ Need for a model ~ Unified Modeling Language (UML) ~ Origin of UML ~ UML diagrams ~ ]
    • Lesson 15 Use Case Model objectives: Identify different use cases of a system ~ Identify the purpose of use cases ~ Represent use cases for a particular system ~ Explain the utility of the use case diagram ~ Factorize use cases into different component use cases ~ Explain the organization of use cases. Contents [ Use Case Model ~ Purpose of use cases ~ Representation of use cases ~ Utility of use case diagrams ~ Factoring of use cases ~ Organization of use cases ~ ]
    • Lesson 16 Class and Interaction Diagrams objectives: Explain the features represented by a class diagram ~ Explain the relationships among different types of classes by means of association ~ Explain the relationships among different types of classes by means of aggregation ~ Explain the relationships among different types of classes by means of composition ~ Draw interaction diagrams for any given problem ~ Explain the tradeoff between inheritance and aggregation/ composition ~ Bring out a comparison of the three relationships: association, aggregation and composition Contents [ Class diagrams ~ Association ~ Aggregation ~ Composition ~ Association vs. Aggregation vs. Composition ~ Inheritance vs. Aggregation/Composition ~ Interaction Diagrams ~ ]
    • Lesson 17 Activity and State Chart Diagram objectives: Draw activity diagrams for any given problem ~ Differentiate between the activity diagrams and procedural flow charts ~ Develop the state chart diagram for any given class ~ Compare activity diagrams with state chart diagrams. Contents [ Activity diagrams ~ Activity diagrams vs. procedural flow charts ~ State chart diagram ~ Activity diagram vs. State chart diagram ]
  • Module 8 Object-Oriented Software Development
    • Lesson 18 Design Patterns objectives: Identify the basic difference between object-oriented analysis (OOA) and object-oriented design (OOD) ~ Explain why design patterns are important in creating good software design ~ Explain what are design patterns ~ Identify pattern solution for a particular problem in terms of class and interaction diagrams ~ Explain expert pattern and circumstances when it can be used ~ Explain creator pattern and circumstances when it can be used ~ Explain controller pattern and circumstances when it can be used ~ Explain facade pattern and circumstances when it can be used ~ Explain model view separation pattern and circumstances when it can be used ~ Explain intermediary pattern (i.e. proxy pattern) and circumstances when it can be used. Contents [ Identify the basic difference between object-oriented analysis (OOA) and object-oriented design (OOD) ~ Explain why design patterns are important in creating good software design ~ Identify pattern solution for a particular problem in terms of class and interaction diagrams ~ ]
    • Lesson 19 Domain Modeling objectives: Explain what is meant by domain modeling ~ Identify the three types of objects identified during domain analysis ~ Explain the purpose of different types of objects identified during domain analysis. Explain how these objects interact among each other ~ Explain at least three approaches for identifying objects in the context of object-oriented design methodology ~ Identify two goals of interaction modeling ~ Explain the CRC cards technique ~ Develop sequence diagram for any given use case ~ Identify how sequence diagrams are useful in developing the class diagram ~ Identify five important criteria for judging the goodness of an object-oriented design. Contents [ Explain what is meant by domain modeling ~ Identify the three types of objects identified during domain analysis ~ Explain the purpose of different types of objects identified during domain analysis. Explain how these objects interact among each other ~ Explain at least three approaches for identifying objects in the context of object-oriented design methodology ~ Explain the CRC cards technique ~ Develop sequence diagram for any given use case ~ Identify how sequence diagrams are useful in developing the class diagram ~ Identify five important criteria for judging the goodness of an object-oriented design. ]
  • Module 9 User Interface Design
    • Lesson 20 Basic Concepts in User Interface Design objectives: Identify five desirable characteristics of a user interface ~ Differentiate between user guidance and online help system ~ Differentiate between a mode-based interface and the modeless interface ~ Compare various characteristics of a GUI with those of a text-based user interface. Contents [ Characteristics of a user interface ~ Mode-based interface vs. modeless interface ~ Graphical User Interface vs. Text-based User Interface ~ ]
    • Lesson 21 Types of User Interfaces objectives: Classify user interfaces into three main types ~ What are the different ways in which menu items can be arranged when the menu choices are large ~ Identify three characteristics of command language-based interface ~ Identify the three disadvantages of command language-based interface ~ Identify three issues in designing a command language-based interface ~ Identify three main types of menus with their features ~ Explain what an iconic interface is ~ What is meant by component-based GUI development style ~ Explain the necessity of component-based GUI development. Contents [ Types of user interfaces ~ Menu-based interfaces ~ Characteristics of command language-based interface ~ Disadvantages of command language-based interface ~ Issues in designing a command language-based interface ~ Types of menus and their features ~ Iconic interface ~ Component-based GUI development ~ Need for component-based GUI development ~ ]
    • Lesson 22 Component-Based GUI Development objectives: Explain what is window in terms of GUI ~ Explain what is meant by window management system ~ Identify the responsibilities of a window manager ~ Identify at least eight primary types of window objects ~ Explain what X Window is ~ Explain why the X Window is so popular ~ Explain architecture of an X System ~ Explain what is meant by visual programming ~ Differentiate between a user-centered design and a design by users ~ Explain implications of human cognition capabilities on user interface design ~ Define seven important steps needed to design a GUI methodology ~ Prepare a check list for user interface inspection. Contents [ Window ~ Window Management System ~ Window Manager ~ Types of widgets (window objects) ~ X-Window ~ Popularity of X-Window ~ Architecture of an X-System ~ Visual Programming ~ Difference between user-centered design and design by users ~ Implications of human cognition capabilities on user interface design ~ GUI design methodology ~ User interface inspection ]
  • Module 10 Coding and Testing
    • Lesson 23 Code Review objectives: Identify the necessity of coding standards ~ Differentiate between coding standards and coding guidelines ~ State what code review is ~ Explain what clean room testing is ~ Explain the necessity of properly documenting software ~ Differentiate between internal documentation and external documentation ~ Explain what is testing ~ Explain the aim of testing ~ Differentiate between verification and validation ~ Explain why random selection of test cases is not effective ~ Differentiate between functional testing and structural testing. Contents [ Coding ~ Coding standards and guidelines ~ Code review ~ Clean room testing ~ Software documentation ~ Program Testing ~ Aim of testing ~ Differentiate between verification and validation ~ Design of test cases ~ Functional testing vs. Structural testing ~ ]
    • Lesson 24 Black-Box Testing objectives: Differentiate between testing in the large and testing in the small ~ Explain what unit testing ~ Explain what black box testing is ~ Identify equivalence classes for any given problem ~ Explain what is meant by boundary value analysis ~ Design test cases corresponding to equivalence class ~ boundary value analysis for any given problem. Contents [ Testing in the large vs. testing in the small ~ Unit Testing ~ Black box testing ~ Test cases for equivalence class testing and boundary value analysis for a problem ~ ]
    • Lesson 25 White-Box Testing objectives: In the context of white box testing strategy, differentiate between stronger testing and complementary testing ~ Design statement coverage test cases for a code segment ~ Design branch coverage test cases for a code segment ~ Design condition coverage test cases for a code segment ~ Design path coverage test cases for a code segment ~ Draw control flow graph for any program ~ Identify the linear independent paths ~ Compute cyclomatic complexity from any control flow graph ~ Explain data flow-based testing ~ Explain mutation testing. Contents [ White box testing ~ Statement coverage ~ Branch coverage ~ Condition coverage ~ Path coverage ~ Control flow graph ~ Linearly independent path ~ Cyclomatic complexity ~ Data flow-based testing ~ Mutation testing ~ ]
    • Lesson 26 Debugging, Integration and System Testing objectives: Explain why debugging is needed ~ Explain three approaches of debugging ~ Explain three guidelines for effective debugging ~ Explain what is meant by a program analysis tool ~ Explain the functions of a static program analysis tool ~ Explain the functions of a dynamic program analysis tool ~ Explain the type of failures detected by integration testing ~ Identify four types of integration test approaches and explain them ~ Differentiate between phased and incremental testing in the context of integration testing ~ What are three types of system testing? Differentiate among them ~ Identify nine types of performance tests that can be performed to check whether the system meets the non-functional requirements identified in the SRS document ~ Explain what is meant by error seeding ~ Explain what functions are performed by regression testing. Contents [ Need for debugging ~ Debugging approaches ~ Debugging guidelines ~ Program analysis tools ~ Static program analysis tools ~ Dynamic program analysis tools ~ Integration testing ~ Integration test approaches ~ Phased vs. incremental testing ~ System testing ~ Performance testing ~ Error seeding ~ Regression testing ]
  • Module 11 Software Project Planning
    • Lesson 27 Project Planning and Project Estimation Techniques objectives: Identify the job responsibilities of a software project manager ~ Identify the necessary skills required in order to perform software project management ~ Identify the essential activities of project planning ~ Determine the different project related estimates performed by a project manager and suitably order those estimates ~ Explain what is meant by Sliding Window Planning ~ Explain what is Software Project Management Plan (SPMP) ~ Identify and explain two metrics for software project size estimation ~ Identify the shortcomings of function point (FP) metric ~ Explain the necessity of feature point metric in the context of project size estimation ~ Identify the types of project-parameter estimation technique. Contents [ Responsibilities of a software project manager ~ Skills necessary for software project management ~ Project planning ~ Precedence ordering among project planning activities ~ Sliding Window Planning ~ Software Project Management Plan (SPMP) ~ Metrics for software project size estimation ~ Shortcomings of function point (FP) metric ~ Feature point metric ~ Project Estimation techniques ~ ]
    • Lesson 28 COCOMO Model objectives: Differentiate among organic, semidetached and embedded software projects ~ Explain basic COCOMO ~ Differentiate between basic COCOMO model and intermediate COCOMO model ~ Explain the complete COCOMO model. Contents [ Organic, Semidetached and Embedded software projects ~ Intermediate COCOMO model ~ Complete COCOMO model ~ ]
    • Lesson 29 Staffing Level Estimation and Scheduling objectives: Identify why careful planning of staffing pattern for a project is so important ~ Determine numerically how change of project duration affects the overall effort and cost ~ Identify five necessary tasks taken by a project manager in order to perform project scheduling ~ Explain the usefulness of work breakdown structure ~ Explain activity networks and critical path method ~ Develop the Gantt chart for a project ~ Develop PERT chart for a project. Contents [ Staffing level estimation ~ Effect of schedule change on cost ~ Project scheduling ~ Work breakdown structure ~ Activity networks and critical path method ~ Gantt chart ~ PERT chart ]
  • Module 12 Software Project Monitoring and Control
    • Lesson 30 Organization and Team Structures objectives: I Explain the necessity of a suitable organization structure ~ Differentiate between functional format and project format in the context of organization structure ~ Identify the advantages of a functional organization over a project organization ~ Explain why the functional format is not suitable for small organizations handling just one or two projects ~ Identify the important types of team structures of an organization ~ Explain what is meant by egoless programming technique ~ Identify the characteristics of a good software engineer. Contents [ Organization structure ~ Functional format vs. project format ~ Advantages of functional organization over project organization ~ Unsuitability of functional format in small organizations ~ Team structures ~ Egoless programming technique ~ Characteristics of a good software engineer ]
    • Lesson 31 Risk Management and Software Configuration Management objectives: Identify the main categories of risks which can affect a software project ~ Explain how to assess a project risk ~ Identify the main strategies to plan for risk containment ~ Explain what risk leverage is ~ Explain how to handle the risk of schedule slippage ~ Explain what is meant by configuration of a software product ~ Differentiate among release, version and revision of a software product ~ Explain the necessity of software configuration management ~ Identify the principal activities of software configuration management ~ Identify the activities carried out during configuration identification ~ Identify the activities carried out during configuration control ~ Identify the popular configuration management tools. Contents [ Risk management ~ Risk assessment ~ Risk containment ~ Risk leverage ~ Risk related to schedule slippage ~ Software configuration management ~ Release vs. Version vs. Revision ~ Necessity of software configuration management ~ Software configuration management activities ~ Configuration identification ~ Configuration control ~ Configuration management tools ~ ]
  • Module 13 Software Reliability and Quality Management
    • Lesson 32 Software Reliability Issues objectives: Differentiate between a repeatable software development organization and a non-repeatable software development organization ~ What is the relationship between the number of latent errors in a software system and its reliability? ~ Identify the main reasons for why software reliability is difficult to measure ~ Explain how the characteristics of hardware reliability and software reliability differ ~ Identify the reliability metrics which can be used to quantify the reliability of software products ~ Identify the different types of failures of software products ~ Explain the reliability growth models of a software product. Contents [ Repeatable vs. non-repeatable software development organization ~ Software reliability ~ Reasons for software reliability being difficult to measure ~ Hardware reliability vs. software reliability differ ~ Reliability metrics ~ Classification of software failures ~ Reliability growth models ~ ]
    • Lesson 33 Statistical Testing and Software Quality Management objectives: Identify the primary objective of statistical testing ~ Define what is meant by the operation profile of a software product ~ Identify the steps in which statistical testing is performed on a software product ~ Identify the advantages and disadvantages of statistical testing ~ Identify the main quality factors of a software product ~ Explain what is meant by quality management system ~ Identify the phases over which quality management system has evolved in the last century. Contents [ Statistical testing ~ Operation profile ~ Steps in statistical testing ~ Advantages and disadvantages of statistical testing ~ Software Quality ~ Software quality management system ~ Evolution of quality management system ~ ]
    • Lesson 34 ISO 9000 objectives: State what is meant by ISO 9000 certification ~ Identify the different industries to which the different types of ISO 9000 quality standards can be applied ~ Differentiate between the characteristics of software products and other type of products that make managing a software development effort difficult ~ Identify the reasons why obtaining ISO 9000 certification is beneficial to a software development organization ~ Explain the main requirements that a software development organization must satisfy for getting ISO 9001 certification ~ Identify the salient features of ISO 9001 certification ~ Identify the shortcomings of ISO 9000 certification. Contents [ ISO 9000 certification ~ Types of ISO 9000 quality standards ~ Software products vs. other products ~ Need for obtaining ISO 9000 certification ~ Summary of ISO 9001 certification ~ Salient features of ISO 9001 certification ~ Shortcomings of ISO 9000 certification ~ ]
    • Lesson 35 SEI CMM objectives: Identify the different levels of SEI Capability Maturity Model ~ Explain the key process areas of a software organization provided by SEI CMM model ~ Differentiate between ISO 9000 certification and SEI CMM ~ Explain the type of systems to which the SEI CMM model of quality management is applicable ~ Explain what personal software process is ~ Explain what six sigma is. Contents [ SEI Capability Maturity Model ~ Key process areas (KPA) of a software organization ~ ISO 9000 certification vs. SEI/CMM ~ Applicability of SEI CMM to organizations ~ Personal software process ~ Six sigma ]
  • Module 14 Software Maintenance
    • Lesson 36 Characteristics of Software Maintenance objectives: Explain the necessity of software maintenance ~ Identify the types of software maintenance ~ Identify the disadvantages associated with software maintenance ~ Explain what is meant by software reverse engineering ~ What are legacy software products? Identify the problems in their maintenance ~ Identify the factors upon which software maintenance activities depend ~ Identify the process models for software maintenance ~ Explain what is meant by software reengineering ~ Estimate the approximate maintenance cost of a software product. Contents [ Necessity of software maintenance ~ Types of software maintenance ~ Problems associated with software maintenance ~ Software reverse engineering ~ Legacy software products ~ Factors on which software maintenance activities depend ~ Software maintenance process models ~ Software reengineering ~ Estimation of approximate maintenance cost ]
  • Module 15 Computer Aided Software Engineering
    • Lesson 37 Basic Ideas on CASE Tools objectives: What is meant by CASE tool? ~ Identify the primary reasons for using a CASE tool ~ What is meant by a CASE environment? ~ Differentiate in between a CASE environment and a programming environment ~ Identify the benefits of a CASE environment ~ Identify the features of a prototyping CASE tool ~ Identify the features that a good prototyping CASE tool should support ~ Identify the supports that are typically available from CASE tools in order to perform structured analysis and software design activity ~ Identify the support that might be available from CASE tools during code generation ~ Identify the features of a test case generation CASE tool. Contents [ CASE tool and its scope ~ Reasons for using CASE tools ~ CASE environment ~ CASE environment vs programming environment ~ Benefits of CASE ~ Requirements of a prototyping CASE tool ~ Features of a good prototyping CASE tool ~ Structured analysis and design with CASE tools ~ Code generation and CASE tools ~ Test case generation CASE tool ~ ]
    • Lesson 38 Different Characteristics of CASE Tools objectives: Identify hardware and environmental requirements for a CASE tool ~ Identify the software documentation support that might be available from CASE tools ~ Identify the two project management supports that should be available from CASE tools ~ Identify the support that needs to be provided by CASE tools for interfacing with other CASE tools ~ Identify the two software reverse engineering supports that should be available from CASE tools ~ Identify the wo features that might be supported by data dictionary interface of a CASE environment ~ Identify the non-traditional features supported by second generation CASE tools ~ Explain the architecture of a CASE environment with the help of a suitable diagram. Contents [ Hardware and environmental requirements ~ Documentation support ~ Project management support ~ External interface ~ Reverse engineering ~ Data dictionary interface ~ Second-generation CASE tool ~ Architecture of a CASE environment ]
  • Module 16 Software Reuse
    • Lesson 39 Basic Ideas on Software Reuse objectives: Explain the advantages of software reuse ~ Identify the artifacts that can be reused during software development ~ Explain the pros and cons of knowledge reused ~ Explain why reuse of commonly used mathematical functions is easy to achieve ~ Identify the basic issues that must be clearly addressed for starting any reuse program ~ Explain what is meant by domain analysis. Contents [ Advantages of software reuse ~ Artifacts that can be reused ~ Pros and cons of knowledge reuse ~ Easiness of reuse of mathematical functions ~ Basic issues in any reuse program ~ Domain analysis ~ ]
    • Lesson 40 Reuse Approach objectives: Explain a scheme by which software reusable components can be satisfactorily classified ~ Search an item from the domain repository ~ Explain how a reuse repository can be maintained ~ Explain what is meant by an application generator ~ Identify the advantages of using an application generator compared to parameterized programs ~ Identify the shortcomings of application generator ~ Identify the steps that can be adopted for achieving organization-level reuse ~ Identify the non-technical factors that inhibit an effective reuse program. Contents [ Components classification ~ Searching ~ Repository maintenance ~ Application generator ~ Advantages of application generators ~ Shortcomings of application generator ~ Re-use at organization level ~ Factors that inhibit an effective reuse program ]
  • Module 17 Client-Server Software Development
    • Lesson 41 Basic Ideas on Client-Server Software Development and Client-Server Architecture objectives: Explain what is a client-server software ~ Explain the advantages of client-server software over centralized solutions ~ Explain the factors responsible for making client-server solutions feasible, affordable, and popular in recent times ~ Identify the advantages of client-server software development compared to monolithic ones ~ Identify the disadvantages of client-server software ~ Differentiate between host-slave computing and client-server computing. Give an example for each ~ Explain the two-tier client-server architecture ~ Explain the limitations of two-tier client-server architecture ~ Explain three-tier client-server architecture ~ Identify the functions of middleware ~ Identify the popular middleware standards. Contents [ Client-server software ~ Advantages of client-server software ~ Factors for feasibility and popularity of client-server solutions ~ Advantages of client-server software development ~ Disadvantages of client-server software ~ Host-slave computing vs. client-server computing ~ Two-tier client-server architecture ~ Limitations of two-tier client-server architecture ~ Three-tier client-server architecture ~ Functions of middleware ~ Popular middleware standards ~ ]
    • Lesson 42 CORBA and COM/DCOM objectives: Explain what Common Object Request Broker Architecture (CORBA) is ~ Explain CORBA reference model ~ Explain CORBA architecture ~ Identify the functions of Object Request Broker (ORB) ~ Identify the commercial ORBs ~ Explain what is stub ~ Explain Dynamic Invocation Interface (DII) in CORBA ~ Explain what is Component Object Model (COM) ~ Explain what is Distributed Component Object Model (DCOM) ~ Explain Inter-ORB communication ~ Identify the features of General Inter-ORB Protocol (GIOP) ~ Differentiate between CORBA based development and COM/DCOM development. Contents [ Common Object Request Broker Architecture (CORBA) ~ CORBA reference model ~ Explain CORBA architecture ~ Functions of Object Request Broker (ORB) ~ Commercial ORBs ~ Steps to develop application in CORBA ~ Dynamic Invocation Interface (DII) in CORBA ~ Component Object Model (COM) ~ Distributed Component Object Model (DCOM) ~ Inter-ORB communication ~ Features of General Inter-ORB Protocol (GIOP) ~ CORBA vs. COM/DCOM ]

Related posts

You might also be interested in reading:
Software Engineering, software engineering pdf, uml, PH, free ebooks download software engg, six sigma, software engg, visual programming, free ebooks software engg, Software engineering * pdf

Disclaimer

http://www.onlinefreeebooks.net - provides you collection of links to other websites containing ebooks/manuals/cheatsheets either for computer geeks, technicians, automotive enthusiasts or programmers. We merely take the power of Google Search to find those materials and link to it. NONE OF THOSE MATERIALS ARE HOSTED IN THIS SERVER NOR UPLOADED BY ME IN SOMEONE'S SERVERS.

We are neither affiliated with authors and brands nor responsible for its content and change of content.

Information contained herein is provided "as is" without warranty of any kind, either expressed or implied, including any warranty of merchantability or fitness for a particular purpose. In no event shall ANYONE be held liable for any loss of profit, special, incidental, consequential, or other similar claims.

Comments

7 Responses to “Software Engineering.pdf”

  1. me on July 30th, 2008 4:26 pm

    thanx bro!!

  2. zargam on July 31st, 2008 4:14 am

    I need free Electrical Hand books

  3. me on August 1st, 2008 12:19 am

    can help you with electronics

  4. Grim on November 8th, 2008 8:05 am

    Thanks so much for this download. Its just what I need. Ta

  5. sam on November 15th, 2008 1:05 am

    thanks alots

  6. basic of plc programm on March 6th, 2009 3:53 am

    hi
    thanks realy your very nice
    i,m eng electrical please send me how to learn PLC PROGRAM
    ALEPPO SYRIA

  7. Soumen Sarkar on May 26th, 2009 12:22 pm

    Thanks a lot…This is what exactly needed & I got it…Again,many many thanks..

Leave a Reply