Foreword |
|
xxi | |
Preface |
|
xxiii | |
Glossary of Acronyms |
|
xxvii | |
Acknowledgements |
|
xxix | |
Author |
|
xxxi | |
Unique Features |
|
xxxv | |
1 Software Engineering Fundamentals with Object Orientation |
|
1 | (13) |
|
|
1 | (1) |
|
Introduction to Software Engineering |
|
|
1 | (1) |
|
Learning and Adopting Software Engineering |
|
|
2 | (2) |
|
|
4 | (1) |
|
Software Engineering Fundamentals |
|
|
5 | (2) |
|
Programs, Classes, Objects, and Data |
|
|
5 | (1) |
|
The Six Fundamentals (Cornerstone) of Software Engineering |
|
|
6 | (1) |
|
Classification (Grouping) |
|
|
7 | (1) |
|
Abstraction (Representing) |
|
|
7 | (2) |
|
Encapsulation (Modularizing) |
|
|
9 | (1) |
|
|
10 | (1) |
|
Inheritance (Generalizing) |
|
|
10 | (1) |
|
|
11 | (1) |
|
Software Engineering: A Historical Perspective |
|
|
12 | (2) |
|
|
12 | (2) |
|
About the UML and Its Purpose |
|
|
14 | (2) |
|
|
15 | (1) |
|
Common Errors in Interpreting Software Engineering Fundamentals and How to Rectify Them |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
18 | |
2 Review of |
|
14 | (25) |
|
Unified Modeling Language Diagrams |
|
|
19 | (1) |
|
|
19 | (1) |
|
List and Nature of UML Diagrams |
|
|
19 | (3) |
|
Nature and Basics of UML Diagrams |
|
|
22 | (1) |
|
Brief Review of UML Diagrams |
|
|
22 | (1) |
|
|
22 | (2) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
Interaction Overview Diagrams |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
28 | (2) |
|
Composite Structure Diagrams |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (2) |
|
|
33 | (1) |
|
|
33 | (1) |
|
Differences in List of UML Diagrams |
|
|
34 | (1) |
|
Common Errors in Understanding UML Diagrams and How to Rectify Them |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (1) |
|
|
37 | (2) |
3 Software Projects and Modeling Spaces: Package Diagrams |
|
39 | (16) |
|
|
39 | (1) |
|
Understanding Different Types and Sizes of UML-Based Projects |
|
|
39 | (2) |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
41 | (3) |
|
Identifying Business Objectives |
|
|
41 | (1) |
|
Dividing a Project into Smaller, Manageable Parts |
|
|
42 | (1) |
|
Prioritization of Requirements |
|
|
42 | (2) |
|
The Three Modeling Spaces in Software Engineering |
|
|
44 | (2) |
|
Modeling of the Problem Space |
|
|
44 | (1) |
|
Modeling of Solution Space |
|
|
45 | (1) |
|
Modeling of Architectural Space |
|
|
45 | (1) |
|
Mapping UML to Modeling Spaces |
|
|
46 | (2) |
|
|
48 | (3) |
|
What Is a Package in UML? |
|
|
48 | (1) |
|
Creating Package Diagrams |
|
|
48 | (2) |
|
|
50 | (1) |
|
Strengths of Package Diagrams |
|
|
50 | (1) |
|
Weaknesses of Package Diagrams |
|
|
50 | (1) |
|
Common Errors in Organizing Project Packages and How to Rectify Them |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
52 | (1) |
|
|
53 | (2) |
4 The Software Development Life Cycle and Agility |
|
55 | (18) |
|
|
55 | (1) |
|
Process in Developing Software |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
56 | (2) |
|
Software Development Life Cycles |
|
|
58 | (1) |
|
Iterative, Incremental, and Parallel Process in Software Development |
|
|
59 | (3) |
|
|
60 | (1) |
|
|
60 | (1) |
|
|
60 | (1) |
|
Time and Effort Distribution in Iterations |
|
|
60 | (2) |
|
Agile in Software Development |
|
|
62 | (1) |
|
|
62 | (1) |
|
|
63 | (1) |
|
Roles, Ceremonies, and Artifacts |
|
|
63 | (4) |
|
|
64 | (1) |
|
|
65 | (1) |
|
|
65 | (2) |
|
|
67 | (1) |
|
Disciplined Agile Development |
|
|
67 | (1) |
|
Composite Agile Method and Strategy |
|
|
68 | (1) |
|
Common Errors in SDLC and Agile Use and How to Rectify Them |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
71 | (2) |
5 Use Case Models-1: Actors and Use Cases |
|
73 | (24) |
|
|
73 | (1) |
|
Use Case Modeling in the Problem Space |
|
|
73 | (1) |
|
|
74 | (3) |
|
|
74 | (1) |
|
|
75 | (3) |
|
Primary versus Secondary Actors |
|
|
75 | (1) |
|
Direct versus Indirect Actors |
|
|
76 | (1) |
|
Abstract versus Concrete Actors |
|
|
76 | (1) |
|
Clarifying Actor-Class Confusion |
|
|
77 | (1) |
|
|
78 | (3) |
|
Actor Documentation for "A10-Patient" |
|
|
79 | (1) |
|
Actor Documentation for "A60-Doctor" |
|
|
80 | (1) |
|
|
81 | (3) |
|
|
81 | (1) |
|
|
81 | (1) |
|
|
81 | (1) |
|
|
82 | (1) |
|
Use Case Documentation Template |
|
|
82 | (2) |
|
Example: Use Cases in the Hospital Management System |
|
|
84 | (8) |
|
Brief Use Case Documentation for HMS |
|
|
84 | (3) |
|
Detailed Use Case Documentation for HMS |
|
|
87 | (1) |
|
Use Case "RegistersPatient" |
|
|
88 | (1) |
|
Use Case "MaintainsCalendar" |
|
|
89 | (1) |
|
Use Case "BooksConsultation" |
|
|
90 | (1) |
|
|
91 | (1) |
|
Strengths and Weaknesses of Use Cases and Actors |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
93 | (1) |
|
Relating Use Cases to Packages |
|
|
93 | (1) |
|
Relating Use Cases to Functional Testing |
|
|
94 | (1) |
|
Common Errors in Modeling Actors and Use Cases and How to Rectify Them |
|
|
94 | (1) |
|
|
95 | (1) |
|
|
96 | (1) |
|
|
96 | (1) |
6 Use Case Models-2: Use Case Diagrams and Requirements Modeling |
|
97 | (12) |
|
|
97 | (1) |
|
|
97 | (2) |
|
Notations of a Use Case Diagram |
|
|
98 | (1) |
|
|
98 | (1) |
|
|
98 | (1) |
|
|
98 | (1) |
|
|
99 | (1) |
|
|
99 | (1) |
|
|
99 | (2) |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
100 | (1) |
|
Naming a Use Case Diagram |
|
|
101 | (1) |
|
Use Case Diagrams for Hospital Management System |
|
|
101 | (4) |
|
"Patient Maintenance" Use Case Diagram |
|
|
101 | (1) |
|
"Calendar Maintenance" Use Case Diagram |
|
|
102 | (1) |
|
"Consultation Details" Use Case Diagram |
|
|
103 | (1) |
|
"Accounting" Use Case Diagram |
|
|
103 | (2) |
|
Strengths and Weaknesses of Use Case Diagrams |
|
|
105 | (1) |
|
Strengths of Use Case Diagrams |
|
|
105 | (1) |
|
Weaknesses of Use Case Diagrams |
|
|
106 | (1) |
|
Common Errors in Use Case Diagrams and How to Rectify Them |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
108 | (1) |
7 Activity Diagrams, Interaction Overview Diagrams, and Business Process Models |
|
109 | (18) |
|
|
109 | (1) |
|
|
109 | (1) |
|
|
110 | (2) |
|
Notations of Activity Diagrams |
|
|
110 | (1) |
|
Naming an Activity Diagram |
|
|
111 | (1) |
|
Activity Diagrams for Hospital Management System |
|
|
112 | (4) |
|
"RegistersPatient" Activity Diagram |
|
|
112 | (1) |
|
"MaintainsCalendar" Activity Diagram |
|
|
113 | (1) |
|
"BooksConsultation" Activity Diagram |
|
|
113 | (2) |
|
"PaysBill" Activity Diagram |
|
|
115 | (1) |
|
Strengths and Weaknesses of Activity Diagrams |
|
|
116 | (2) |
|
Strengths of Activity Diagrams |
|
|
116 | (1) |
|
Weaknesses of Activity Diagrams |
|
|
117 | (1) |
|
Interaction Overview Diagram |
|
|
118 | (2) |
|
Notations of an Interaction Overview Diagram |
|
|
118 | (1) |
|
Naming an Interaction Overview Diagram |
|
|
118 | (1) |
|
Interaction Overview for "Consultation Details" |
|
|
119 | (1) |
|
Interaction Overview for "Accounting" |
|
|
119 | (1) |
|
Strengths and Weaknesses of Interaction Overview Diagrams |
|
|
120 | (1) |
|
Strengths of Interaction Overview Diagrams |
|
|
120 | (1) |
|
Weaknesses of Interaction Overview Diagrams |
|
|
120 | (1) |
|
Business Process Modeling |
|
|
121 | (4) |
|
Common Errors in Activity Diagrams, Interaction Overview Diagrams, and Business Process Models and How to Rectify Them |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
8 Class Models-1: Classes and Business Entities |
|
127 | (18) |
|
|
127 | (1) |
|
Understanding Business Entities, Classes, and Objects |
|
|
127 | (1) |
|
Classes and Business Entities |
|
|
128 | (1) |
|
Identifying and Naming Classes |
|
|
129 | (2) |
|
Class Identification by Use Case Analysis |
|
|
129 | (1) |
|
Class Identification by Sequence Diagrams |
|
|
130 | (1) |
|
Naming a Class as a Business Entity |
|
|
130 | (1) |
|
Analyzing the "RegistersPatient" Use Case to Identify Classes/Business Entities |
|
|
131 | (3) |
|
|
134 | (3) |
|
Class Documentation Template |
|
|
134 | (1) |
|
Documenting the Patient Class |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
136 | (1) |
|
Class Operations (Methods) |
|
|
137 | (1) |
|
Naming Conventions for Attributes and Operations |
|
|
137 | (1) |
|
|
137 | (1) |
|
Designing a Class in the Solution Space |
|
|
138 | (3) |
|
Class Identification in Design (MOSS) |
|
|
140 | (1) |
|
Strengths and Weaknesses of Classes |
|
|
141 | (1) |
|
|
141 | (1) |
|
|
141 | (1) |
|
Common Errors in Classes and Business Entities and How to Rectify Them |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
143 | (2) |
9 Class Model-2: Basic Class Diagram |
|
145 | (14) |
|
|
145 | (1) |
|
|
145 | (1) |
|
Notations of Class Diagrams |
|
|
145 | (1) |
|
Inheritance Relationship in a Class Diagram |
|
|
146 | (1) |
|
Association Relationship in a Class Diagram |
|
|
147 | (1) |
|
Aggregation Relationship in a Class Diagram |
|
|
148 | (2) |
|
Multiplicities in Class Diagrams |
|
|
149 | (1) |
|
Class Diagrams for Hospital Management System |
|
|
150 | (4) |
|
"Patient Details" Class Diagram |
|
|
150 | (1) |
|
"Staff Details" Class Diagram |
|
|
151 | (1) |
|
"Consultation Details" Class Diagram |
|
|
152 | (1) |
|
"Accounting" Class Diagram |
|
|
153 | (1) |
|
Strengths of Class Diagrams |
|
|
154 | (1) |
|
Strengths and Advantages of Class Diagrams |
|
|
154 | (1) |
|
Weaknesses of Class Diagrams |
|
|
155 | (1) |
|
Common Errors in Basic Class Diagram and How to Rectify Them |
|
|
155 | (1) |
|
|
156 | (1) |
|
|
156 | (3) |
10 UML's Extensibility Mechanisms: Notes, Stereotypes, Constraints, and Tags |
|
159 | (12) |
|
|
159 | (1) |
|
UML's Extensibility Mechanisms |
|
|
159 | (1) |
|
|
160 | (1) |
|
|
160 | (5) |
|
|
163 | (1) |
|
|
163 | (1) |
|
|
163 | (1) |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
164 | (1) |
|
|
164 | (1) |
|
Interfaces, Roles, and Types |
|
|
164 | (1) |
|
Stereotypes for Attributes and Operations |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
166 | (1) |
|
|
166 | (1) |
|
|
166 | (1) |
|
Common Errors in UML's Extensibility Mechanisms and How to Rectify Them |
|
|
167 | (1) |
|
|
168 | (1) |
|
|
169 | (2) |
|
|
169 | (2) |
11 Class Model-3: Advanced Class Designs |
|
171 | (24) |
|
|
171 | (1) |
|
|
171 | (1) |
|
Understanding Class Relationships |
|
|
172 | (1) |
|
Notations on an Advanced Class Diagram in the Solution Space |
|
|
172 | (1) |
|
Class-to-Class Relationships |
|
|
172 | (1) |
|
Advanced Relationships in a Class Diagram in Design |
|
|
173 | (2) |
|
Association Relationship in Design |
|
|
174 | (1) |
|
Dependency Relationship in Design |
|
|
175 | (1) |
|
Interface and Realization Relationship in Design |
|
|
176 | (1) |
|
Aggregation Relationship in Design |
|
|
177 | (1) |
|
Implementing the Relationships: By References and By Value |
|
|
178 | (1) |
|
|
179 | (1) |
|
Multiplicities and Object Diagrams |
|
|
180 | (2) |
|
|
180 | (1) |
|
Object Diagrams Interpreting Multiplicities |
|
|
180 | (1) |
|
Collection Class and Multiplicities |
|
|
181 | (1) |
|
Inheritance and Polymorphism in Design |
|
|
182 | (4) |
|
Incorporating Polymorphism in Design |
|
|
182 | (3) |
|
|
185 | (1) |
|
Incorporating Errors and Exceptions in Design |
|
|
186 | (1) |
|
Attribute Identification, Naming, and Definition |
|
|
187 | (3) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
Common Errors in Designing Attributes |
|
|
189 | (1) |
|
Operation Identification, Naming, and Signature |
|
|
190 | (2) |
|
Understanding an Operation in a Class |
|
|
190 | (1) |
|
|
191 | (1) |
|
Understanding Operation Signatures |
|
|
191 | (1) |
|
Common Errors in Modeling Advance Class Designs and How to Rectify Them |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (2) |
12 Interaction Modeling with Sequence Diagrams |
|
195 | (20) |
|
|
195 | (1) |
|
|
195 | (1) |
|
|
195 | (1) |
|
Sequence Diagrams in Detail |
|
|
196 | (5) |
|
Notations on a Sequence Diagram |
|
|
196 | (2) |
|
Creating a Basic Sequence Diagram |
|
|
198 | (1) |
|
Relating Sequence Diagrams to Class Diagrams |
|
|
198 | (1) |
|
Advancing Sequence Diagrams from Analysis to Design |
|
|
199 | (1) |
|
Understanding Focus of Control and Return Message |
|
|
200 | (1) |
|
Creating and Destroying an Object |
|
|
201 | (1) |
|
Sequence Diagrams in Hospital Management System |
|
|
201 | (3) |
|
Sequence Diagrams in the Problem Space |
|
|
201 | (3) |
|
Design-Level Sequence Diagrams in the Solution Space |
|
|
204 | (5) |
|
Registering a Patient Sequence Diagram in Design |
|
|
206 | (1) |
|
Updating a Calendar Sequence Diagram in Design |
|
|
207 | (1) |
|
"Changing Booking Times" Sequence Diagram in Design |
|
|
207 | (1) |
|
"Paying a Bill" Sequence Diagram in Design |
|
|
207 | (2) |
|
Strengths and Weaknesses of Sequence Diagrams |
|
|
209 | (1) |
|
Common Errors in Interaction Modeling with Sequence Diagrams and How to Rectify Them |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
212 | (3) |
13 Database Modeling with Class and Sequence Diagrams |
|
215 | (20) |
|
|
215 | (1) |
|
Introduction to Persistence |
|
|
215 | (1) |
|
Persistence Mechanisms-Databases |
|
|
216 | (2) |
|
|
216 | (1) |
|
Object-Oriented Databases |
|
|
216 | (1) |
|
|
217 | (1) |
|
|
217 | (1) |
|
Using Relational Databases in Object-Oriented Designs |
|
|
218 | (3) |
|
Challenge of Storing Objects in Relational Tables |
|
|
218 | (1) |
|
|
00 | |
|
Classes to Relational Tables |
|
|
219 | (1) |
|
Basic Persistence Functions (CRUD) |
|
|
220 | (1) |
|
Robustness in Persistence Design |
|
|
221 | (2) |
|
Separating Persistence Operations from Business Logic |
|
|
221 | (1) |
|
Robustness in Design Keeping Relational Storage and Objects Separate |
|
|
222 | (1) |
|
Inheritance Relationship and Relational Tables |
|
|
223 | (1) |
|
Mapping Associations in Relational Tables |
|
|
224 | (5) |
|
Multiplicities, Association Class, and Link Table |
|
|
225 | (3) |
|
Mapping Aggregation: Composition and Shared Aggregation |
|
|
228 | (1) |
|
Shared Aggregation and Reference Table |
|
|
228 | (1) |
|
Persistence in Practice for HMS |
|
|
229 | (1) |
|
Persistence Design for Patient-Related Classes |
|
|
229 | (1) |
|
Additional Example of Persistence Design in HMS |
|
|
230 | (1) |
|
Incorporating Database Interface Pattern in HMS Persistence Design |
|
|
230 | (2) |
|
Common Errors in Interpreting Database Modeling and How to Rectify Them |
|
|
232 | (1) |
|
|
232 | (1) |
|
|
233 | (1) |
|
|
233 | (2) |
14 Dynamic Modeling with State Machine Diagrams |
|
235 | (14) |
|
|
235 | (1) |
|
Introduction to Dynamic Modeling with State Machine Diagrams |
|
|
235 | (1) |
|
State Machine Diagrams for Dynamic Modeling |
|
|
236 | (1) |
|
Notations of State Machine Diagrams |
|
|
236 | (1) |
|
State Machine Diagrams for Patient Object in Problem Space |
|
|
237 | (2) |
|
"Patient" State Machine Diagram |
|
|
239 | (1) |
|
"Consultation" State Machine Diagram |
|
|
239 | (1) |
|
"Bill Payment" State Machine Diagram |
|
|
239 | (1) |
|
Advanced State Machine Diagram for Patient Object in HMS in Solution Space |
|
|
239 | (6) |
|
State Machine Diagram for "Patient" in HMS |
|
|
240 | (2) |
|
State Machine Diagram for "Patient_Form," Boundary Object in HMS |
|
|
242 | (1) |
|
State Machine Diagram for "ConsultationManager," a Control Object in HMS |
|
|
243 | (1) |
|
Steps in Building a State Machine Diagram |
|
|
244 | (1) |
|
Common Errors in Modeling State Machine Diagrams and How to Rectify Them |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
247 | (2) |
15 Advanced Software Engineering Design Concepts: Reuse, Granularity, Patterns, and Robustness |
|
249 | (16) |
|
|
249 | (1) |
|
|
249 | (1) |
|
Reusability in Software Engineering |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
251 | (1) |
|
Reuse Strategies in Software Projects |
|
|
251 | (2) |
|
Encapsulation Facilitates Reuse |
|
|
252 | (1) |
|
|
252 | (1) |
|
Generalization versus Specialization in Reuse |
|
|
253 | (1) |
|
Granularity in Object-Oriented Design |
|
|
253 | (1) |
|
Design Patterns in Software Design Engineering |
|
|
254 | (3) |
|
|
254 | (1) |
|
|
255 | (1) |
|
|
255 | (1) |
|
Using Patterns in the Solution and Architectural Modeling Spaces |
|
|
255 | (2) |
|
|
257 | (3) |
|
|
257 | (1) |
|
Identifying Lack of Robustness |
|
|
257 | (1) |
|
|
258 | (1) |
|
Incorporating Robustness in Design |
|
|
258 | (2) |
|
System Architecture and Design Process |
|
|
260 | (2) |
|
Common Errors in Reuse, Granularity, Patterns, and Robustness and How to Rectify Them |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
264 | (1) |
16 Interface Specifications: Prototyping |
|
265 | (20) |
|
|
265 | (1) |
|
Introduction to Interfaces |
|
|
265 | (2) |
|
Specifying Interface Requirements |
|
|
266 | (1) |
|
Interface Specifications for HMS |
|
|
267 | (2) |
|
User Interface Specifications for HMS |
|
|
267 | (1) |
|
Printer Interface Specifications for HMS |
|
|
268 | (1) |
|
External System Interfaces for HMS |
|
|
269 | (1) |
|
Examples of User Interface Designs for HMS (Initial Iteration) |
|
|
269 | (1) |
|
Specifying the Flow of User Interfaces (HMS Example) |
|
|
270 | (3) |
|
Mobile Applications Interfaces |
|
|
273 | (1) |
|
|
273 | (3) |
|
User Interface Design Considerations |
|
|
276 | (3) |
|
Organizing Interface Classes |
|
|
276 | (1) |
|
|
277 | (1) |
|
User Categories in GUI Design |
|
|
278 | (1) |
|
|
279 | (2) |
|
|
279 | (1) |
|
|
280 | (1) |
|
|
280 | (1) |
|
|
280 | (1) |
|
Common Errors in Interface Specifications and Prototyping and How to Rectify Them |
|
|
281 | (1) |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
282 | (3) |
17 Implementation Modeling with Component, Deployment, and Composite Structure Diagrams |
|
285 | (14) |
|
|
285 | (1) |
|
|
285 | (1) |
|
|
286 | (2) |
|
Understanding a Component |
|
|
286 | (1) |
|
Relevance of Component-Based Software Development |
|
|
286 | (1) |
|
|
287 | (1) |
|
Representing Components with UML |
|
|
287 | (1) |
|
Component Characteristics and Types |
|
|
288 | (2) |
|
Component Diagrams for HMS |
|
|
289 | (1) |
|
Practical Component Diagram Showing Interdependencies and Packages for HMS |
|
|
289 | (1) |
|
Strengths and Weaknesses of Component Diagram |
|
|
290 | (1) |
|
Composite Structure Diagram |
|
|
291 | (1) |
|
|
292 | (3) |
|
UML Notations on a Deployment Diagram |
|
|
292 | (3) |
|
Process Around Implementation Diagrams |
|
|
295 | (1) |
|
Common Errors in Implementation Modeling with Component, Deployment, and Composite Structure Diagrams and How to Rectify Them |
|
|
296 | (1) |
|
|
296 | (1) |
|
|
297 | (1) |
|
|
297 | (2) |
18 Quality of UML Models with Syntax, Semantic, and Aesthetic Checks |
|
299 | (12) |
|
|
299 | (1) |
|
|
299 | (1) |
|
Quality Management, Assurance, and Control (Testing) |
|
|
300 | (1) |
|
Quality Assurance and Model Quality |
|
|
300 | (1) |
|
Verification and Validation |
|
|
301 | (1) |
|
Syntax, Semantics, and Aesthetics Verify and Validate Artifacts, Diagrams, and Models |
|
|
301 | (1) |
|
Application of Syntax, Semantics, and Aesthetics to UML Notations |
|
|
302 | (2) |
|
|
302 | (1) |
|
|
303 | (1) |
|
Quality Models-Aesthetics |
|
|
304 | (1) |
|
Quality Techniques and V&V Checks |
|
|
304 | (3) |
|
Levels of Syntax, Semantics, and Aesthetics as Applied to UML-Based Diagrams |
|
|
305 | (1) |
|
Syntactic Checks and UML Elements (Focus on Correctness) |
|
|
306 | (1) |
|
Semantic Checks and UML Diagrams (Focus on Completeness and Consistency) |
|
|
306 | (1) |
|
Aesthetic Checks and UML Models (Focus on Symmetry and Consistency) |
|
|
307 | (1) |
|
Common Errors in Quality Assurance and Testing of UML Models and How to Rectify Them |
|
|
307 | (1) |
|
|
308 | (1) |
|
|
309 | (1) |
|
|
309 | (2) |
19 Software Testing: Plan, Design, and Execute |
|
311 | (22) |
|
|
311 | (1) |
|
|
311 | (3) |
|
Testing Needs in a Project |
|
|
311 | (1) |
|
|
312 | (1) |
|
Test Strategy Influencing Factors |
|
|
313 | (1) |
|
Organizing the Testing of Software |
|
|
314 | (3) |
|
|
314 | (1) |
|
|
315 | (1) |
|
Use-Case-Based versus Class-Based Test Design |
|
|
316 | (1) |
|
|
317 | (1) |
|
Visibility of Testing-Black Box versus White Box Testing |
|
|
317 | (1) |
|
Automation of Testing-Manual versus Automated |
|
|
317 | (1) |
|
Slicing of Tests Vertical(Functional) or Horizontal (Technical) |
|
|
318 | (1) |
|
Partitioning of Data-Equivalence Partition and Boundary Values |
|
|
318 | (1) |
|
|
318 | (1) |
|
|
319 | (2) |
|
Test Designs in Solution Space |
|
|
319 | (1) |
|
|
319 | (1) |
|
Test Designs for Components |
|
|
320 | (1) |
|
Reusability in Test Designs |
|
|
320 | (1) |
|
Test Cases in Solution Space |
|
|
321 | (1) |
|
|
321 | (1) |
|
|
322 | (1) |
|
Masking and Blending of Test Data |
|
|
322 | (1) |
|
Acceptance Test Cases for Hospital Management System |
|
|
322 | (5) |
|
Test Case for "RegistersPatient" |
|
|
323 | (1) |
|
Test Case for "MaintainsCalendar" |
|
|
324 | (1) |
|
Test Case for "BooksConsultation" |
|
|
324 | (1) |
|
|
325 | (1) |
|
Test Case for "PaysBillOnInternet" |
|
|
326 | (1) |
|
Test Case for "CashChequePayment" |
|
|
327 | (1) |
|
Class-Based Approach to Test Cases in the Solution Space |
|
|
327 | (2) |
|
|
327 | (1) |
|
|
328 | (1) |
|
Operational (NFR) Testing |
|
|
329 | (1) |
|
|
329 | (1) |
|
Common Errors in Testing in Solution Space and How to Rectify Them |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
20 Nonfunctional (Operational) Requirements Specification and Application |
|
333 | (22) |
|
|
333 | (1) |
|
Nonfunctional (Operational) Requirements |
|
|
333 | (4) |
|
|
334 | (1) |
|
|
334 | (1) |
|
Types of Nonfunctional Parameters |
|
|
335 | (2) |
|
Composite Agile Method and Strategy and Prototyping for NFRs |
|
|
337 | (1) |
|
NFR Categories: Qualities and Constraints |
|
|
337 | (3) |
|
|
338 | (1) |
|
|
339 | (1) |
|
|
340 | (1) |
|
|
341 | (2) |
|
Response Times and Performance |
|
|
341 | (1) |
|
Outsourced Projects and Performance |
|
|
342 | (1) |
|
|
343 | (1) |
|
|
343 | (1) |
|
|
344 | (1) |
|
HMS Example of Scalability Requirement |
|
|
344 | (1) |
|
|
344 | (1) |
|
|
344 | (1) |
|
|
345 | (1) |
|
|
345 | (1) |
|
Reliability and Maintenance |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
347 | (2) |
|
Usability and User Experience |
|
|
349 | (1) |
|
Applying Usability Requirements to Software Solutions |
|
|
349 | (1) |
|
Designing to Prevent Errors |
|
|
350 | (1) |
|
Big Data (Velocity, Variety) |
|
|
350 | (1) |
|
|
350 | (1) |
|
Common Errors in Handling NFRs and How to Rectify Them |
|
|
351 | (1) |
|
|
352 | (1) |
|
|
353 | (1) |
|
|
353 | (2) |
21 Emerging Information Technologies and Modeling |
|
355 | (14) |
|
|
355 | (1) |
|
Emerging Information Technologies and Modeling |
|
|
355 | (2) |
|
|
356 | (1) |
|
Service Orientation (Analytics, Utilities) |
|
|
357 | (1) |
|
|
357 | (1) |
|
Mobile and Social Media Applications |
|
|
358 | (1) |
|
|
358 | (1) |
|
Virtual and Augmented Reality |
|
|
359 | (1) |
|
Robotics and Machine Learning |
|
|
359 | (1) |
|
Modeling the Not Only SQL Databases |
|
|
359 | (1) |
|
Service Orientation Based on the Cloud |
|
|
360 | (1) |
|
|
361 | (1) |
|
Core Elements of Web Services |
|
|
362 | (1) |
|
|
362 | (1) |
|
Web Services Description Language |
|
|
362 | (1) |
|
Universal Description, Discovery, and Integration |
|
|
363 | (1) |
|
Web Services and Modeling |
|
|
363 | (3) |
|
Modeling and Usage of Web Services |
|
|
363 | (1) |
|
Web Service Metamodels and Dynamics |
|
|
364 | (1) |
|
Model-Driven Architecture and Web Services |
|
|
365 | (1) |
|
|
365 | (1) |
|
|
366 | (1) |
|
|
366 | (1) |
|
|
366 | (3) |
Appendix A: Case Study Problem Statements for Team Projects |
|
369 | (6) |
Bibliography |
|
375 | (4) |
Index |
|
379 | |