Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 529 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
TABLE OF CONTENTS
PART I: SOFTWARE ENGINEERING AND TESTING
Chapter 1:INTRODUCTION TO SOFTWARE ENGINEERING
1.1 INTRODUCTION TO SOFTWARE
1.2 TYPES OF SOFTWARE
1.3 CLASSES OF SOFTWARE
1.4 INTRODUCTION TO SOFTWARE ENGINEERING
1.5 SOFTWARE COMPONENTS
1.6 SOFTWARE CHARACTERISTICS
1.7 SOFTWARE CRISIS
1.8 SOFTWARE MYTHS
1.9 SOFTWARE APPLICATIONS
1.10 SOFTWARE-ENGINEERING PROCESSES
1.11 EVOLUTION OF SOFTWARE
1.12 COMPARISON OF SOFTWARE ENGINEERING AND RELATED FIELDS
1.13 SOME TERMINOLOGIES
1.14 PROGRAMS VERSUS SOFTWARE PRODUCTS
EXERCISES
Chapter 2: SOFTWARE-DEVELOPMENT LIFE-CYCLE MODELS
2.1 SOFTWARE-DEVELOPMENT LIFE-CYCLE
2.2 WATERFALL MODEL
2.3 PROTOTYPING MODEL
2.4 SPIRAL MODEL
2.5 EVOLUTIONARY DEVELOPMENT MODEL
2.6 ITERATIVE-ENHANCEMENT MODEL
2.7 RAD MODEL
2.8 COMPARISON OF VARIOUS PROCESS MODELS
EXERCISES
Chapter 3: INTRODUCTION TO SOFTWARE REQUIREMENTS SPECIFICATION
3.1 REQUIREMENT ENGINEERING
3.2 PROCESS OF REQUIREMENTS ENGINEERING
3.3 INFORMATION MODELING
3.4 DATA-FLOW DIAGRAMS
3.5 DECISION TABLES
3.6 SRS DOCUMENT
3.7 IEEE STANDARDS FOR SRS DOCUMENTS
3.8 SRS VALIDATION
3.9 COMPONENTS OF SRS
3.10 CHARACTERISTICS OF SRS
3.11 ENTITY-RELATIONSHIP DIAGRAM
EXERCISES
Chapter 4: SOFTWARE RELIABILIT Y AND QUALITY ASSURANCE
4.1 VERIFICATION AND VALIDATION
4.2 SOFTWARE QUALITY ASSURANCE
4.3 SOFTWARE QUALITY
4.4 CAPABILITY MATURITY MODEL (SEI-CMM)
4.5 INTERNATIONAL STANDARD ORGANIZATION (ISO)
4.6 COMPARISON OF ISO-9000 CERTIFICATION AND THE SEI-CMM
4.7 RELIABILITY ISSUES
4.8 RELIABILITY METRICS
4.9 RELIABILITY GROWTH MODELING
4.10 RELIABILITY ASSESSMENT
EXERCISES
Chapter 5: SYSTEM DESIGN
5.1 SYSTEM/SOFTWARE DESIGN
5.2 ARCHITECTURAL DESIGN
5.3 LOW-LEVEL DESIGN
5.4 COUPLING AND COHESION
5.5 FUNCTIONAL-ORIENTED VERSUS THE OBJECT-ORIENTED APPROACH
5.6 DESIGN SPECIFICATIONS
5.7 VERIFICATION FOR DESIGN
5.8 MONITORING AND CONTROL FOR DESIGN
EXERCISES
Chapter 6: SOFTWARE MEASUREMENT AND METRICS
6.1 SOFTWARE METRICS
6.2 HALSTEAD’S SOFTWARE SCIENCE
6.3 FUNCTION-POINT BASED MEASURES
6.4 CYCLOMATIC COMPLEXITY
EXERCISES
Chapter 7: SOFTWARE TESTING
7.1 INTRODUCTION TO TESTING
7.2 TESTING PRINCIPLES
7.3 TESTING OBJECTIVES
7.4 TEST ORACLES
7.5 LEVELS OF TESTING
7.6 WHITE-BOX TESTING/STRUCTURAL TESTING
7.7 FUNCTIONAL/BLACK-BOX TESTING
7.8 TEST PLAN
7.9 TEST-CASE DESIGN
EXERCISES
Chapter 8: SOFTWARE-TESTING STRATEGIES
8.1 STATIC-TESTING STRATEGIES
8.2 DEBUGGING
8.3 ERROR, FAULT, AND FAILURE
EXERCISES
Chapter 9: SOFTWARE MAINTENANCE AND PROJECT MANAGEMENT
9.1 SOFTWARE AS AN EVOLUTION ENTITY
9.2 SOFTWARE-CONFIGURATION MANAGEMENT ACTIVITIES
9.3 CHANGE-CONTROL PROCESS
9.4 SOFTWARE-VERSION CONTROL
9.5 SOFTWARE-CONFIGURATION MANAGEMENT
9.6 NEED FOR MAINTENANCE
9.7 CATEGORIES OF MAINTENANCE
9.8 MAINTENANCE COSTS
9.9 SOFTWARE-PROJECT ESTIMATION
9.10 CONSTRUCTIVE COST MODEL (COCOMO)
9.11 SOFTWARE-RISK ANALYSIS AND MANAGEMENT
EXERCISES
Chapter 10: COMPUTER-AIDED SOFTWARE ENGINEERING
10.1 CASE AND ITS SCOPE
10.2 LEVELS OF CASE
10.3 ARCHITECTURE OF CASE ENVIRONMENT
10.4 BUILDING BLOCKS FOR CASE
10.5 CASE SUPPORT IN SOFTWARE LIFE-CYCLE
10.6 OBJECTIVES OF CASE
10.7 CASE REPOSITORY
10.8 CHARACTERISTICS OF CASE TOOLS
10.9 CASE CLASSIFICATION
10.10 CATEGORIES OF CASE TOOLS
10.11 ADVANTAGES OF CASE TOOLS
10.12 DISADVANTAGES OF CASE TOOLS
10.13 REVERSE SOFTWARE ENGINEERING
10.14 SOFTWARE RE-ENGINEERING
EXERCISES
Chapter 11: CODING
11.1 INFORMATION HIDING
11.2 PROGRAMMING STYLE
11.3 INTERNAL DOCUMENTATION
11.4 MONITORING AND CONTROL FOR CODING
11.5 STRUCTURED PROGRAMMING
11.6 FOURTH-GENERATION TECHNIQUES
EXERCISES
PART II: SOFTWARE DEVELOPMENT AND APPLICATIONS
Chapter 12: INTRODUCTION TO SOFTWARE DEVELOPMENT
12.1 PROGRAM PHASE
12.2 HOW TO WRITE A GOOD PROGRAM
12.3 PROGRAMMING TOOLS
Chapter 13: VISUAL BASIC 6.0
13.1 HARDWARE AND SOFTWARE REQUIREMENTS FOR VISUAL BASIC
13.2 APPLICATION TYPES
13.3 COMPILATION IN VISUAL BASIC
13.4 VISUAL BASIC TERMINOLOGY
13.5 INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)
Chapter 14: CONTROLS IN VISUAL BASIC
14.1 TOOL-BOX CONTROLS
Chapter 15: VARIABLES AND OPERATORS IN VISUAL BASIC
15.1 VARIABLE NAMING CONVENTIONS
15.2 VARIABLE DECLARATION
15.3 SCOPE OF VARIABLES
15.5 LOGICAL OPERATORS
15.6 IF-ELSE STATEMENT
15.7 DO WHILE …. STATEMENT
15.8 FOR LOOP
15.9 WITH–END WITH STATEMENT
Chapter 16: FUNCTIONS IN VISUAL BASIC
Chapter 17: INTRODUCTION TO DATABASES
17.1 TABLES
17.2 STRUCTURE OF A DATABASE
17.3 KEYS
17.4 DATA INTEGRITY
Chapter 18: MS ACCESS 2000
18.1 CREATING A DATABASE IN MS ACCESS 2000
18.2 DATA TYPES
18.3 FIELD PROPERTIES
18.4 SAVING THE TABLE
18.5 MODIFYING THE TABLE
18.6 IMPORTING THE TABLE
Chapter 19: ORACLE
19.1 STARTING WITH ORACLE 8
19.2 HOW TO CREATE A NEW USER
19.3 USER CREATION BY NAVIGATOR
19.4 DATA TYPES IN ORACLE
19.5 SYNTAX AND QUERY IN ORACLE
19.6 FUNCTIONS
19.7 PRIMARY KEYS
19.8 DATA EXPORT
19.9 DATA IMPORT
Chapter 20: SQL SERVER 2000
20.1 WHAT’S NEW IN MICROSOFT SQL SERVER 2000?
20.2 STARTING MICROSOFT SQL SERVER 2000
20.3 INSTALLATION OF SQL SERVER 2000
20.4 CREATING A DATABASE
20.5 HOW TO CREATE A DATABASE USING ENTERPRISE MANAGER
20.6 CREATE A DATABASE USING THE CREATE DATABASE WIZARDIN ENTERPRISE MANAGER
20.7 CREATING A NEW TABLE
20.8 DATA TYPES
20.9 QUERY ANALYZER
20.10 HOW TO USE QUERY ANALYZER
20.11 GENERATING AN SQL SCRIPT
20.12 HOW TO USE THE SCRIPT
20.13 ATTACHING A DATABASE
20.14 DETACHING A DATABASE
20.15 COPY DATABASE WIZARD
20.16 IMPORTING AND EXPORTING A DATABASE
20.17 SQL SERVER SERVICE MANAGER
Chapter 21: PROGRAMMING IN VISUAL BASIC WITH MS ACCESS 2000
21.1 SAVING PROJECTS AND FORMS
21.2 DATABASE DESIGNING
21.3 USE OF APP.PATH
Chapter 22: PROGRAMMING WITH ORACLE AND SQL SERVER 2000
22.1 TABLE CREATION
22.2 DATA LINKS
22.3 WORKING WITH THE PROJECT
22.4 DATA EXPORT AT RUNTIME
22.5 WORKING IN A PROJECT WITH AN SQL SERVER 2000 DATABASE
Chapter 23: GRAPHS
Chapter 24: DATA REPORTS
24.1 DATA REPORT CREATION
24.2 DATA ENVIRONMENT AND THE CONNECTION
24.3 DATA REPORT DESIGNING
24.4 DATA REPORT CONTROLS
24.5 CALLING A REPORT
24.6 RETRIEVAL OF SELECTED DATA IN THE DATA REPORT
24.7 INDEX NUMBER OF DATA REPORT SECTION
24.8 GROUPING IN DATA REPORTS
Chapter 25: CRYSTAL REPORTS
25.1 ADVANTAGES OVER VISUAL BASIC DATA REPORTS
25.2 STARTING WITH CRYSTAL REPORT 8.5
25.3 CREATING REPORTS USING DSN OF THE SQL SERVER 2000 DATABASE
25.4 CREATING CONNECTION USING DSN
Chapter 26: ERROR HANDLING
26.1 KEY HANDLING
26.2 KEY LOCKING AT KEY PRESS EVENT
26.3 OTHER ERROR-HANDLING METHODS
26.4 SOME COMMON ERRORS
26.5 PRECAUTIONS
Chapter 27: CREATING THE SETUP PACKAGE
27.1 HOW TO CREATE A SETUP
REFERENCES
INDEX
Nội dung
[...]... The term Software Engineering refers to a movement, methods and techniques aimed at making software development more systematic Software methodologies, such as, OMG’s UML and software tools (CASE tools) that help developers model application designs and then generate code are all closely associated with Software Engineering 10 SOF T WARE ENGINEERING AND TESTING OR Software Engineering is an engineering. .. Software Process 20 SOF T WARE ENGINEERING AND TESTING Thus, the software industry considers software development a process According to Booch and Rumbaugh, “A process defines who is doing what, when and how to reach a certain goal.” Software engineering is a field, which combines processes, methods, and tools for the development of software The concept of process is the main step in the software engineering. .. Object-oriented technology 22 SOF T WARE ENGINEERING AND TESTING At this time the concept of software making includes object-oriented technology, network computing, etc 1.12 COMPARISON OF SOFTWARE ENGINEERING AND RELATED FIELDS The relationships between software engineering and the fields of computer science and traditional engineering has been debated for decades Software engineering resembles all of these... introduced the need for software and the quality of software introduced the need for software engineering Software engineering has come a long way since 1968, when the term was first used at a NATO conference, and software itself has entered our lives in ways that few had anticipated, even a decade ago So a firm grounding in software- engineering theory and practice is essential for understanding how to build... Error Handling 465 26.1 Key Handling 465 26.2 Key Locking at Key Press Event 469 26.3 Other Error-Handling Methods 470 26.4 Some Common Errors 471 26.5 Precautions 479 Chapter 27 Creating the Setup Package 481 27.1 How to Create a Setup 481 Index 493 4 SOF T WARE ENGINEERING AND TESTING PART I SOF TWARE ENGINEERING AND TESTING T he role of software engineering cannot be neglected in the field of software. .. disciplines do Software engineers borrow many metaphors and techniques from other engineering disciplines, including requirements analysis, quality control, and project-management techniques Engineers in other disciplines also borrow many tools and practices from software engineers Yet, there are also some differences between software engineering and other engineering disciplines TABLE 1.2 Issue Software Engineering. .. be used 1.10.2 What is a Software Process? A software process is the related set of activities and processes that are involved in developing and evolving a software system OR A set of activities whose goal is the development or evolution of software OR A software process is a set of activities and associated results, which produce a software product INTRODUCTION TO SOFTWARE ENGINEERING 19 These activities... building software artifacts in the service of mankind OR Software Engineering is the application of methods and scientific knowledge to create practical cost-effective solutions for the design, construction, operation and maintenance of software OR Software Engineering is a discipline whose aim is the production of fault free software that satisfies the user’s needs and that is delivered on time and within... 1.4 INTRODUCTION TO SOFTWARE ENGINEERING A few important definitions given by several authors and institutions are as follows: IEEE Comprehensive Definition Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, i.e., the application of engineering to software Other Definitions Software Engineering deals with... compare software engineering to computer science and information science like they compare traditional engineering to physics and chemistry About half of all software engineers earn computer science degrees Yet on the job, practitioners do applied software engineering, which differs from doing theoretical computer science TABLE 1.1 Issue Ideal Results Budgets and Schedules Change Software Engineering . I: SOFTWARE ENGINEERING AND TESTING Chapter 1. Introduction to Software Engineering 3 1.1 Introduction to Software 3 1.2 Types of Software 5 1.3 Classes of Software 8 1.4 Introduction to Software. 481 Index 493 4 SOF T WARE ENGINEERING AND TESTING PART I SOF TWARE ENGINEERING AND TESTING T he role of software engineering cannot be neglected in the field of software development. The. to Software Engineering 9 1.5 Software Components 11 1.6 Software Characteristics 12 1.7 Software Crisis 13 1.8 Software Myths 15 1.9 Software Applications 15 1.10 Software- Engineering