Software Engineering

Author:   Kassem Saleh ,  Kassem A Saleh
Publisher:   J Ross Publishing
Edition:   New ed.
ISBN:  

9781932159943


Pages:   358
Publication Date:   30 July 2009
Format:   Hardback
Availability:   Out of stock   Availability explained
The supplier is temporarily out of stock of this item. It will be ordered for you on backorder and shipped when it becomes available.

Our Price $231.00 Quantity:  
Add to Cart

Share |

Software Engineering


Overview

Software engineering from a project point of view embarks on software products that are both feasible technically and financially. Moreover, software projects must be completed on time and within budgets and are important challenges to software engineers. Research has shown that one-third of software projects are never completed, another third do not fulfill their promises. Software Engineering provides the software engineering fundamentals, principles and skills needed to develop and maintain high quality software products. The software engineering processes and techniques covered include requirements specification, design, implementation, testing and management of software projects. This up-to-date book is modeled on the recommendations and guidelines prescribed in the Guide to the Software Engineering Body of Knowledge (SWEBOK) published by the IEEE Computer Society, and the Software Engineering Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering published by the IEEE Computer Society and the Association for Computing Machinery Joint Task Force on Computing Curricula. At the end of each chapter, the reader will be able to perform tangible software engineering tasks by applying the learned techniques and methods, will be familiar with the terminology, the principles by mastering the subjects, and will be able to analyze existing task deliverables, compare and critique the different techniques. The book is designed as a text for an undergraduate first course in software engineering and graduate bridging courses in information technology. In addition, Software Engineering can be used by practitioners who need to refresh their knowledge with the latest in software engineering techniques and processes. The prerequisite to use this text is to have a background in an object-oriented programming language.

Full Product Details

Author:   Kassem Saleh ,  Kassem A Saleh
Publisher:   J Ross Publishing
Imprint:   J Ross Publishing
Edition:   New ed.
Dimensions:   Width: 19.30cm , Height: 2.20cm , Length: 23.60cm
Weight:   0.333kg
ISBN:  

9781932159943


ISBN 10:   1932159940
Pages:   358
Publication Date:   30 July 2009
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Hardback
Publisher's Status:   Active
Availability:   Out of stock   Availability explained
The supplier is temporarily out of stock of this item. It will be ordered for you on backorder and shipped when it becomes available.

Table of Contents

1 Software and Software Engineering 1.1 Software, Software Engineering and the Software Crisis 1.2 Types of Software 1.3 Generic Stages in Software Development1.4 Software Errors1.5 Software Behavior, Structure and Architecture1.6 Stakeholders of Software1.7 Related Disciplines1.8 Software Engineering Education, Training and Certification1.9 Code of Ethics and Professional Practice1.10 Project, Process and People1.11 Desirable Software Capabilities1.12 Pioneers in Software and Software Engineering1.13 Analogy to Other Engineering Disciplines1.14 The Rest of the BookChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards2 Software Development Life Cycle Models2.1 Life Cycle Models2.2 Pre-Development Activities and Deliverables2.3 Waterfall Model Development Phases, Activities and Deliverables2.4 Software Maintenance Activities2.5 Continuous Life Cycle Activities and Deliverables2.6 Prototyped Waterfall Model2.7 The Object-Oriented Model2.8 Incremental and Iterative Model2.9 The Spiral Model2.10 The Rational Unified Process (RUP) 2.11 Software Development and Maintenance Teams2.12 Software Engineering Standards and Tools2.13 Software Processes Capability Maturity Model (CMM) 2.14 The Unified Modeling LanguageChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards3 Software Requirements3.1 Software Analysis3.2 Product Vision and Project Scope3.3 Requirements Engineering3.4 Elicitation of Functional Requirements 3.4.1 Elicitation Techniques3.4.2 Use Case Modeling3.4.3 Use Case Development3.5 Elicitation of Non-Functional Requirements3.5.1 Technical Non-Functional Requirements3.5.2 Non-Technical Non-Functional Requirements3.6 Requirements Validation3.7 Requirements Maintenance3.8 The Software Requirements Specification DocumentChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards4 Software Specification4.1 Software Modeling4.2 Behavior Modeling4.2.1 The Finite State Machine Model4.2.1.1 Graphical, Algebraic and Tabular Representations4.2.1.2 Properties of FSM-Based Models4.2.1.3 Limitations of the Basic FSM Model4.2.1.4 The Extended Finite State Machine Model (EFSM) 4.2.1.5 Applications of the EFSM Model4.2.1.6 Additional Properties of EFSM-Based Models4.2.2 The Petri Net Model 4.2.2.1 Mathematical and Graphical Representations4.2.2.2 Properties of the Petri Net Model4.2.2.3 Extensions to the Basic Petri Net Model4.2.2.4 Modeling Requirements4.2.3 Statechart Diagram4.2.4 Activity Diagram4.3 Process Modeling4.3.1 Data Flow Diagrams4.3.2 Decision Table 4.3.3 Decision Tree4.4 Data Modeling4.4.1 Entity Relationship Model4.4.2 Data Dictionary4.5 Formal Specification Techniques4.6 Object-Oriented Analysis4.6.1 Identifying Objects4.6.1.1 Entity Objects4.6.1.2 Interface Objects4.6.1.3 Control Objects4.6.2 Objects Relationships4.6.3 Dynamic Object Behavior4.6.4 Objects Interactions4.6.4.1 Sequence Diagram4.6.4.2 Communication Diagram4.7 Validating Specifications and Traceability4.8 Completing the Software Requirement Specification DocumentChapter SummaryKey TermsReview QuestionsExercises BibliographyStandards5 Software Design5.1 Mapping Specification to Design5.2 Recurring Concepts and Design Properties5.2.1 Recurring Concepts5.2.2 Desirable Design Properties5.3 High-Level Architectural Design5.4 Inter-Module Coupling5.5 Structured Design5.6 Detailed Design5.7 Intra Module Cohesion5.8 Database Design5.9 Graphical User Interface (GUI) Design5.10 The Software Design Document5.11 Design Validation and ReviewChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards6 Object-Oriented Design6.1 From Analysis to Design6.2 Object-Oriented High Level Architectural Design6.3 Architectural Patterns6.4 Design Patterns6.5 Documenting an Object-Oriented Design Chapter SummaryKey TermsReview QuestionsExercisesBibliography7 Software Implementation7.1 Mapping Design into Code7.2 Coding Style and Documentation Guidelines7.3 Software Libraries and APIS7.4 Fault Tolerance 7.5 Exception Handling7.6 Writing Secure Software7.7 Code ReviewChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards8 Software Testing and Quality Assurance8.1 Testing and Test Coverage8.2 Dynamic and Static Testing8.3 Anatomy of a Test Case8.4 Black-Box, White-Box and Grey-Box Testing8.5 Black Box-Based Unit Testing Techniques8.5.1 Boundary Value Analysis8.5.2 Equivalence Class Testing8.5.3 Decision Table and Decision Tree Based Testing8.5.4 State-Based Testing8.5.5 Black Box-Based Robustness Testing8.6 White Box-Based Unit Testing Techniques8.6.1 Control Flow Graph8.6.2 Control Flow-Based Techniques8.6.3 Data Flow-Based Testing8.6.4 Path Expression8.7 Integration Testing8.7.1 Top-Down Integration8.7.2 Bottom-Up Integration8.7.3 Hybrid Integration8.8 System-Level Testing8.8.1 Acceptance Testing8.8.2 Testing Conformance to Non-Functional Requirements8.9 Other Test Selection Strategies8.9.1 Random Testing8.9.2 Probabilistic Testing8.9.3 Mutation Testing8.10 Potpourri of Testing Issues8.10.1 Test Architectures8.10.2 Test Correctness8.10.3 Test Description Language8.10.4 Software Testability8.10.5 Regression Testing8.11 Object-Oriented Testing8.11.1 Testing Classes8.11.2 Integrating Classes8.11.3 System-Level Use Case Testing8.12 Software Quality Assurance8.12.1 Plan and Activities8.12.2 Audit and Review8.12.3 Inspection Checklist and Walkthrough8.12.4 MetricsChapter SummaryKey TermsReview QuestionsExercisesBibliography Standards9 Software Maintenance9.1 The Importance of Software Maintenance9.2 Taxonomy of Software Maintenance Activities9.3 Software Maintenance Process9.4 Software Maintenance Management9.5 Software Configuration Management 9.6 Configuration Management Activities9.6.1 Configuration Item Identification9.6.2 Configuration Control and Change Management9.6.3 Configuration Status Accounting9.6.4 Configuration Audits and Reviews9.6.5 Configuration Interface Control9.6.6 Subcontractor and Vendor Control9.7 Software Maintenance Techniques9.7.1 Reverse Engineering and Design Recovery9.7.2 Restructuring and Reengineering9.7.3 Regression TestingChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandards10 Software Project Management10.1 Project, People, Processes and Products10.2 Project Management Activities10.3 Estimation Techniques and Software Metrics10.3.1 Function Points10.3.2 Use Case Points10.3.3 COCOMO10.4 Risk Management10.4.1 Risk Management Planning 10.4.2 Risk Identification10.4.3 Risk Analysis10.4.4 Risk Planning10.4.5 Risk Tracking 10.4.6 Risk Control10.4.7 Risk Communication10.5 Scheduling and Tracking Projects10.6 The Software Project Management Plan DocumentChapter SummaryKey TermsReview QuestionsExercisesBibliographyStandardsIndex

Reviews

Author Information

Kassem A. Saleh, Ph.D. is currently Professor of Information Sciences at Kuwait University. He received his B.Sc., M.Sc. and PhD in Computer Science from the University of Ottawa in Canada. Professor Saleh worked as a computer systems specialist at Mediatel, Bell Canada, from 1985 to 1991, and was on the faculty of Concordia University in 1991-1992, Kuwait University from 1992 to 2000, and American University of Sharjah from 2000 to 2007. He is also a Certified Information Systems Security Professional (CISSP) and is currently the Editor-in-Chief of the Journal of Software. The Journal of Systems and Software has ranked Professor Saleh among the top scholars in the field of systems and software engineering in seven of its annual assessments published from 1996 to 2003. Professor Saleh has published more than 120 journal and conference papers and has presented numerous tutorials and invited talks at international conferences and universities worldwide.

Tab Content 6

Author Website:  

Countries Available

All regions
Latest Reading Guide

NOV RG 20252

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List