Computer Science 380 Course Page 
Introduction to Software Engineering 
Instructor: Bob Lingard

      Chapter 17 – Software Testing Techniques

            Testing Objectives

            White-box testing (clear-box or glass-box testing)

                        Basis path testing

                        Cyclomatic complexity

                        Condition testing

                        Loop testing

            Black-box testing

                        Equivalence partitioning

                        Boundary value analysis

                        Comparison testing

                        Graph-based testing methods (cause and effect graphing)

      Chapter 18 – Software Testing Strategies

            Verification

            Validation

            Organizing for testing (who does testing?)

            Failure intensity

            Types of testing

                        Unit testing

                        Integration testing

                                    Top-down

                                    Bottom-up

                                    Big bang

                                    Incremental

                        Validation testing

                                    Alpha testing

                                    Beta testing

                        System testing

                        Regression testing

            The debugging process

      Chapter 23 – Object-oriented Testing

            What’s different about object-oriented testing?

                        Unit testing

                        Integration testing

            What’s the same about object-oriented testing?

                        Black-box testing

                        The objectives of testing

 

      Chapter 14 – Architectural Design (High Level Design)

            Data design (data modeling, data structures, databases)

            Structured design

                        Transform flow

                        Transaction flow

                        Creating a structure chart from DFDs

      Chapter 16 – Component-Level Design (Detail Design)

            Well-structured designs

                        Flow charts

                        Box diagrams

                        Program Design Language (PDL) or pseudo code

                        Decision Tables

            Relative advantages and disadvantages of above design representation techniques

      Chapter 22 – Object-Oriented Design

            Differences between Structured Design and OOD

            Design issues

            Advantages and disadvantages of OOD

            The OOD design process

                        System design

                        Object design

                        Human interface design

                        Data management design

                        Task management design

            Design patterns

      Coding Style

            Reasons for having coding guidelines

            Important guidelines

            Documentation (naming and comments)

            Data declarations

            Statement construction

           

            Chapter 1 - The Product

                What is (was) the software crisis?

                What software myths still exist?

            Chapter 2 - The Process

                The linear sequential (waterfall) model

                The prototyping model

                The spiral model

            Chaper 10 - System Engineering

                System elements (software, hardware, people, etc.)

                Allocation to system elements based on various considerations

            Chapter 11 - Analysis Concepts and Principles

                Information gathering (FAST)

                Analysis principles

                Modeling (Information, function, behavior)

                The Software Requirements Specification (SRS)

            Chapter 12 - Analysis Modeling

                Entity Relationship Diagram (ERD)

                    modality

                    cardinality

                Data Flow Diagram (DFD)

                    external entity

                    process

                    data/control item

                    data/control store

                The Data Dictionary

            Chapter 13 - Design Concepts and Principles

                High-level (preliminary) design

                Low-level (detail) design

                Design concepts

                    abstraction

                    refinement

                    modularity

                    software architecture

                    procedural design

                    information hiding

                Functional independence

                    cohesion

                    coupling

            Chapter 20 & 21 - Object-Oriented Concepts and Principles

                Classes and Objects

                Attributes

                Operations/Methods

                Messages

                Encapsulation

                Inheritance

                Polymorphism

                Advantages and disadvantages of OO approach relative to traditional (procedural) approach


 
 

 
 
 
 
 
 
 
 


Updated: December 5, 2002