图书介绍
实用软件工程 英文版PDF|Epub|txt|kindle电子书版本网盘下载
![实用软件工程 英文版](https://www.shukui.net/cover/18/34718646.jpg)
- (澳)马查斯泽克(Maciaszek,L.A.)等著 著
- 出版社: 北京:机械工业出版社
- ISBN:7111173287
- 出版时间:2006
- 标注页数:826页
- 文件大小:62MB
- 文件页数:862页
- 主题词:软件工程-英文
PDF下载
下载说明
实用软件工程 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Part 1 Software Projects1
Chapter 1 Software Development Lifecycle5
1.1.1 Software System is less than Enterprise Information System7
Guided tour7
1.1 Software Engineering Quintessence7
Contents7
1.1.2 Software Process is part of Business Process8
Preface9
1.1.3 Software Engineering is different from Traditional Engineering10
1.1.4 Software Engineering is more than Programming11
1.1.5 Software Engineenng is about Modeling12
1.1.6 Software System is Complex13
1.2 Lifecycle Phases15
Acknowledgements15
1.2.1 Requirements Analysis16
1.2.2 System Design17
1.2.3 Implementation18
1.2.4 Integration and Deployment19
1.3 Lifecycle Models21
1.2.5 Operation and Maintenance21
1.3.1 Waterfall Lifecycle with Feedback22
Spiral model25
1.3.2 Iterative Lifecycle with Increments25
Rational Unified Process(RUP)27
Agile lifecycle with short cycles29
Model Driven Architecture(MDA)29
Summary32
Key Terms34
Review Questions35
Chapter 2 Software Modeling Language37
2.1 Structured Modeling Language38
2.1.1 Data Flow Modeling39
2.1.2 Entity-Relationship Modeling42
2.2.1 Class Diagrams43
2.2 Object-Oriented Modeling Language43
2.2.2 Use Case Diagrams46
Sequence diagrams50
2.2.3 Interaction Diagrams50
Collaboration(communication)diagrams51
2.2.4 Statechart Diagrams53
2.2.5 Activity Diagrams55
Component diagrams56
2.2.6 Implementation Diagrams56
Summary59
Deployment diagrams59
Key Terms60
Review Questions61
Problem-Solving Exercises62
Chapter 3 Software Engineering Tools63
3.1 Project Management Tools64
3.1.1 Project Scheduling and Controlling65
3.1.2 Aligning project and Performance Management with Strategic Objectives66
3.1.3 Unifying Project Management with Web-Based Collaboration and Content Management67
3.1.4 Unifying Project Management with Web-Based Portfolio Management68
3.1.5 Integrating project Management with Metrics69
3.1.6 Integrating Project Management with Risk Management72
3.2 System Modeling Tools73
3.2.1 Managing Requirements74
3.2.2 Visual UML Modeling79
3.2.4 Database Modeling82
3.2.3 Report Generation82
3.3 Integrated Development Environments83
3.3.1 Routine Programming Tasks85
Writing the program86
Executing the program89
Debugging the program90
3.3.3 Enterprise Application Development93
3.3.2 Integration with Software Modeling93
3.3.4 Integration with Business Components95
3.3.5 Integration with Change and Configuration Management97
3.4.1 Support for Changes99
3.4 Change and Configuration Management Tools99
3.4.3 Support for System Building102
3.4.2 Support for Versions102
3.4.4 Support for Reengineering104
Summary107
Key Terms108
Problem-SolvingExercises109
Review Questions109
Chapter 4 Software Project Planning and Tracking112
4.1 Project Plan Development113
4.2 Project Scheduling116
4.2.1 Tasks,Milestones,and Deliverables117
4.2.2 Task Scheduling in a Bar Chart118
4.2.3 Resources and Resource Calendars121
4.2.4 Effort-Driven Scheduling in a Bar Chart122
4.2.5 Resource Underallocation and Overallocation123
4.3 Project Budget Estimation126
4.3.1 Schedule-Driven Budget Estimation127
4.3.2 Algorithmic Budget Estimation130
Principles of algorithmic models131
COCOMO 81133
COCOMO Ⅱ135
4.4 Tracking Project Progress138
4.4.1 Tracking the Schedule139
4.4.2 Tracking the Budget141
Actual costs from schedule142
Actual costs from accounting143
Earned value146
Summary149
Review Questions150
Key Terms150
Problem-Solving Exercises151
Chapter 5 Software Process Management153
5.1.1 Acquiring and Motivating People155
5.1 People Management155
Team creation156
Motivational theories157
Forms of communication158
5.1.2 Project Communications158
Lines of communication159
Factors in communication160
Communication in conflict resolution161
5.1.3 Team Development162
5.2.1 Risk Identification163
5.2 Risk Management163
5.2.2 Risk Assessment164
5.2.3 Risk Handling167
5.3 Quality Management168
5.3.1 Software Qualities169
Softwaretesting171
5.3.2 Quality Control171
Testing techniques173
Test planning176
5.3.3 Quality Assurance177
Reviews178
Checklists178
Audits179
5.4 Change and Configuration Management180
5.4.1 Requirements Changes181
5.4.2 Artifact Versions182
5.4.3 Defects and Enhancements185
5.4.4 Metrics187
Summary190
Key Terms191
Review Questions193
Part 2 From Requirements via Architectural Design to Software Release195
Chapter 6 Business Object Model199
6.1 Advertising Expenditure Measurement-The Business200
6.2 Business Context Diagram201
6.3.1 Business Use Cases and Business Actors202
6.3 Business Use Case Model202
6.3.2 Business Use Case Model for AEM203
6.3.3 Alternative Business Use Case Model for AEM204
6.5.1 Business Entities207
6.5 Business Class Model207
6.4 Business Glossary207
6.4.1 Business Glossary for AEM207
6.5.2 Business Class Model for AEM208
6.5.3 Alternative Business Class Model for AEM209
Summary210
Case Study Questions211
Discussion Questions211
Key Terms211
ReviewQuestions211
Minicase-Advertising Expenditure Measurement212
Case Study Exercises212
Problem-Solving Exercises212
Chapter 7 Domain Object Model215
7.1 Contact Management-The Domain216
7.2.2 Use Case Relationships217
7.2.1 Use Cases and Actors217
7.2 Domain Use Case Model217
7.2.3 Use Case Model for Contact Management219
7.2.4 Alternative Use Case Model for Contact Management220
7.3.1 Domain Glossary for Contact Management222
7.3 Domain Glossary222
7.4.1 Classes and Attributes224
7.4 Domain Class Model224
7.4.2 Class Relationships226
7.4.3 Class Model for Contact Management227
7.4.4 Alternative Class Model for Contact Management228
Summary229
Key Terms230
Case Study Exercises231
Problem-Solving Exercises231
Review Questions231
Discussion Questions231
CaseStudyQuestions231
Minicase-Time Logging232
Chapter 8 Iteration 1 Requirements and Object Model234
8.1 Use Case Model235
8.2.1 Brief Description,Preconditions,and Postconditions236
8.2 Use Case Document236
8.2.2 Basic Flow237
8.2.3 Subflows239
8.3 Conceptual Classes241
8.2.4 Exception Flows241
8.4 Supplementary Specification243
Key Terms245
Summary245
Case Study Exercises246
Problem-Solving Exercises246
Review Questions246
Discussion Questions246
CaseStudy Questions246
Minicase-Time Logging247
Chapter 9 Architectural Design248
9.1.1 Architectural Modules249
9.1 Architectural Layers and Dependency Management249
Packages250
Design classes250
9.1.2 Package Dependencies251
9.1.3 Layer Dependencies253
9.1.4 Class Dependencies254
9.1.5 Inheritance Dependencies255
Inheritance without polymorphism258
Extension and restriction inheritance258
Down-calls259
9.1.6 Method Dependencies260
Up-calls260
Method dependencies in the presence of implementation inheritance262
Method dependencies in the presence of delegation262
9.1.7 Interfaces264
Usage dependency266
Implementation dependency266
Breaking circular dependencies with interfaces267
9.1.8 Event Processing268
Event processing and interfaces270
Event processing and layer dependencies270
Acquaintance dependencies and interfaces273
9.1.9 Acquaintance273
Acquaintance package275
9.2.1 Model-View-Controller277
9.2 Architectural Frameworks277
9.2.2 Presentation-Control-Mediator-Entity-Foundation279
PCMEF layers280
PCMEF principles282
Acquaintance in PCMEF+283
9.3 Architectural Patterns285
Deployment of PCMEF layers285
9.3.2 Abstract Factory286
9.3.1 Fa?ade286
9.3.3 Chain of Responsibility287
9.3.4 Observer288
9.3.5 Mediator290
Summary292
Key Terms293
Review Questions294
Minicase-Contact Information Management295
Case Study Exercises295
Problem-Solving Exercises295
Chapter 10 Database Design and Programming301
10.1 Quick Tutorial in Relational Databases from a Software Engineering Viewpoint302
10.1.1 Table303
10.1.2 ReferentialIntegrity305
10.1.3 Conceptual versus Logical Database Models306
10.1.4 Implementing Business Rules307
10.1.5 Programming Database Application Logic310
10.1.6 Indexes311
10.2 Mapping Transient Objects to Persistent Records315
10.2.1 Object Databases,SQL:1999,and Impedance Mismatch316
Mapping a one-to-many association and aggregation317
10.2.2 Object-Relational Mapping317
Mapping a many-to-many association319
Mapping a one-to-many recursive association320
Mapping a one-to-one association320
Mapping generalization321
Mapping a many-to-many recursive association321
10.3 Database Design and Creation for Email Management322
10.3.1 Database Model323
10.3.2 Creating the Database Schema325
10.3.3 Sample Database Content326
Key Terms328
Summary328
CaseStudyQuestions329
Discussion Questions329
Review Questions329
Minicase-ContactInformationManagement330
Case Study Exercises330
Problem-Solving Exercises330
Chapter 11 Class and Interaction Design331
11.1 Finding Classes from Use Case Requirements332
11.1.1 Finding Classes from Use Case Requirements for Email Management333
11.1.2 Initial Class Design for Email Management337
11.2 Architectural Elaboration of Class Design339
Constants in interface339
11.2.1 Architectural Elaboration of Class Design for Email Management342
11.2.2 Class Design for Email Management after Architectural Elaboration343
11.2.3 Class Instantiation344
Instantiation diagram for Email Management345
Who instantiates the first object?345
11.3 Interactions346
11.3.1 Sequence Diagrams347
11.3.2 Communication Diagrams349
11.4 Interactions for Email Management351
11.3.3 Interaction Overview Diagrams351
11.4.1 The'Login'Interaction352
11.4.2 The'Exit'Interaction353
11.4.3 The'View Unsent Messages'Interaction354
11.4.4 The'Display Message Text'Interaction356
11.4.5 The'Email Message'Interaction357
11.4.7 The'Incorrect Option'Interaction358
11.4.6 The'Incorrect User Name or Password'Interaction358
11.4.8 The'Too Many Messages'Interaction359
Summary361
11.4.9 The'Email Couid Not Be Sent'Interaction361
CaseStudyQuestions362
Discussion Questions362
Key Terms362
Review Questions362
Minicase-Time Logging System363
Case Study Exercises363
Problem-Solving Exercises363
Minicase-ContactInformationManagement364
Chapter 12 Programming and Testing365
12.1.1 Class366
12.1 Quick Tutorial in Java from a Software Engineenng Viewpoint366
From conceptual to design class model369
12.1.2 Class Associations and Collections369
Java collections371
Associations on entity objects373
C++ parameterized types375
12.1.3 Database Access in Java377
Comparison of JDBC and SQLJ378
Executing SQL statements379
Establishing a database connection379
Calling stored procedures and functions383
12.2 Test-Driven Development385
12.2.1 JUnit Framework386
12.2.2 Test-Driven Development in Email Management389
12.3 Acceptance and Regression Testing395
12.3.1 Test Scripts in Email Management396
12.3.2 Test Input,Output,and Regression Testing in Email Management398
12.3.3 Implementation of Test Script in Email Management401
12.4 Iteration 1 Runtime Screenshots404
Summary409
Key Terms410
Tutorial and Case Study Exercises411
Problem-Solving Exercises411
Review Questions411
Minicase-Time Logging System412
Minicase-ContactInformation Management413
Chapter 13 Iteration 1 Annotated Code414
13.1 Code Overview415
13.2.1 Interface IAConstants417
13.2 Package Acquaintance417
13.2.3 Interface IAContact419
13.2.2 Interface IAEmployee419
13.2.4 Interface IAOutMessage420
13.3.1 Class PMain422
13.3 Package Presentation422
13.3.2 Class PConsole423
Constructing a PConsole object424
Viewing outmessages426
Displaying login and menu426
Requesting to email an outmessage429
13.4.1 Class CActioner430
13.4 Package Control430
Constructing a CActioner object432
Routing retrieval of outmessages433
Initiating login433
Emailing an outmessage434
13.5.1 Interface IEDataSupplier435
13.5 Package Entity435
Using JavaMailTM API435
Object identifiers and identity field pattern438
Constructing an EEmployee object439
13.5.2 Class EEmployee439
Removing sent outmessages440
Getting unsent outmessages440
13.5.3 Class EContact441
Removing sent outmessages442
Getting unsent outmessages442
Constructing an EContact object442
13.5.4 Class EOutMessage443
Getting and setting a contact for Outmessage444
Constructing an EOutMessage object444
Getting and setting a sender employee for outmessage445
Getting and setting a creator employee for outmessage445
13.6 Package Mediator446
13.6.1 Class MBroker447
Requesting login connection448
Constructing an MBroker object448
Retrieving unsent outmessages450
Creating Employees Cache450
Creating an outmessages cache452
Creating a contacts cache453
Updating outmessages after emailing and restoring the cache454
13.7.1 Class FConnection455
13.7 Package Foundation455
Obtaining database connection456
Constructing an FConnection object456
13.7.3 Class FWriter458
13.7.2 Class FReader458
Iteration 1 Questions and Exercises459
Key Terms459
Summary459
Part 3 Software Refactoring and User Interface Development461
Chapter 14 Iteration 2 Requirements and Object Model463
14.1 Use Case Model464
14.2 Use Case Document465
14.2.2 Basic Flow466
14.2.1 Brief Description,Preconditions,and Postconditions466
14.2.3 Subflows468
14.2.4 Exception Flows472
14.3 Conceptual Classes and Relational Tables474
14.4 Supplementary Specification476
Review Questions477
Key Terms477
Summary477
Chapter 15 Architectural Refactoring478
15.2 Refactoring Methods479
15.1 Refactoring Targets479
15.2.1 Extract Class480
15.2.2 Subsume Method481
15.2.3 Extract Interface483
15.3 Refactoring Patterns484
15.3.1 Identity Map485
Load-check-out487
15.3.2 Data Mapper487
Unload-check-in488
Many data mappers490
15.3.3 Alternative Data Mapper Strategies490
Metadata mapping492
15.3.4 Lazy Load493
Lazy Initialization494
OID Proxy495
Virtual Proxy495
Navigation in Identity Map498
Navigation in Entity Classes500
15.3.5 Unit of Work501
15.4 Refactored Class Model502
Summary505
Key Terms506
Problem-Solving Exercises507
CaseStudy Questions507
Review Questions507
Discussion Questions507
Chapter 16 User Interface Design and Programming509
16.1 User Interface Design Guidelines510
16.1.1 User in Control511
16.1.2 Interrace Consistency512
16.1.3 Interface Forgiveness512
16.1.4 Interface Adaptability513
16.2 User Interface Components514
16.2.1 Containers515
Layout management518
Layering management519
16.2.2 Menus520
16.2.3 Controls521
16.3 User Interface Event Handling523
16.4 Patterns and the User Interface527
16.4.1 Observer528
16.4.3 Chain of Responsibility530
16.4.2 Decorator530
16.4.4 Command531
16.5 User Interface for Email Management532
Summary537
Key Terms538
Review Questions539
Problem-Solving Exercises540
Chapter 17 Web-Based User Interface Design and Programming541
17.1.1 Basic HTML543
17.1 Enabling Technologies for the Web Client Tier543
17.1.2 Scripting Language545
17.1.3 Applet:Thin and Thick547
17.2.1 Servlet551
17.2 Enabling Technologies for the Web Server Tier551
17.2.2 JSP555
17.3 Transactions on Stateless Internet Systems559
17.4 Patterns and the Web561
17.4.2 Composite563
17.4.1 Observer563
17.4.3 Factory Method564
17.4.5 Decorator565
17.4.4 Strategy565
17.4.6 Model-View-Controller566
17.4.8 Reuse of Tags in JSP567
17.4.7 Front Controller567
17.4.9 Decoupled Control:Struts572
17.5 Servlet Implementation of Email Management573
Summary581
Review Questions582
Key Terms582
Problem-Solving Exercises583
Chapter 18 Iteration 2 Annotated Code584
18.1 Code Overview585
18.2 Package Acquaintance586
18.2.1 Interface IAEmployee587
Constructing and launching PWindow588
18.3.1 Class PWindow588
18.3 Package Presentation588
Data retrievalin PWindow590
Filter activation593
18.3.2 Class PMessageDetailWindow595
18.3.3 Class PMessageTableModel598
18.3.4 Class PDisplayList601
18.3.5 Class PDisplayList.Filter604
18.4.2 Class CMsgSeeker607
18.4.1 Class CAdmin607
18.4 Package Control607
18.5 Package Entity608
18.5.1 Class EldentityMap609
18.6 Package Mediator612
18.6.2 Class MDataMapper613
18.6.1 Class MModerator613
Outmessage retrievals and loading615
Outmessage saving and unloading618
18.7 Presentation Layer:Applet Version620
18.8 Presentation Layer:Servlet Version622
18.8.1 Class PEMS623
Login in servlet624
Showing outmessages in servlet626
18.8.2 Class PEMSEdit630
Summary632
Iteration 2 Questions andExercises633
Key Terms633
Part 4 Data Engineering and Business Components637
Chapter 19 Iteration 3 Requirements and Object Model639
19.1 Use Case Model640
19.2.1 Brief Description,Preconditions,and Postconditions641
19.2 Use Case Document641
19.2.2 Basic Flow642
19.2.3 Subflows644
19.2.4 Exception Flows651
19.3 Conceptual Classes and Relational Tables653
19.4 Supplementary Specification655
19.5 Database Specification657
Review Questions659
Key Terms659
Summary659
Chapter 20 Security and Integrity660
20.1 Designing Secunty661
20.1.1 Discretionary Authorization662
System and object privileges663
Programmatic discretionary authorization664
20.1.2 Mandatory Authorization671
20.1.3 Enterprise Authorization672
20.2 Designing Integrity675
20.2.1 Null and Default Constraints676
20.2.3 Unique and Primary Keys677
20.2.2 Domain and Check Constraints677
20.2.4 Foreign Keys678
20.2.5 Triggers680
20.3.1 Secunty in Email Management685
20.3 Security and Integrity in Email Management685
Explicit Authorization table688
Using individual schemas,global schema,views,and stored procedures689
Using individual schemas,global schema,and stored procedures689
Authorization administration692
20.3.2 Integrity in Email Management693
Summary697
Key Terms698
Problem-Solving Exercises699
Review Questions699
Chapter 21 Transactions and Concurrency700
21.1 Concurrency in System Transactions701
21.1.1 ACID Properties702
21.1.2 Isolation Levels703
21.1.3 Lock Modes and Levels705
21.1.4 Transactional Models706
21.1.5 Concurrency Control Schemes707
21.2.1 Business Transaction Execution Contexts711
21.2 Concurrency in Business Transactions711
21.2.3 Transaction Services across Tiers712
21.2.2 Business Transactions and Component Technology712
Webtier713
Application tier714
Database tier716
21.2.4 Offline Concurrency Patterns717
Unit of Work718
Optimistic Offline Lock719
Pessimistic Offline Lock721
21.3.1 Flat Transaction Model722
21.3 Transactions and Concurrency in Email Management722
21.3.2 Unit of Work and Transactional Support723
Summary725
Key Terms726
Problem-Solving Exercises727
Review Questions727
Chapter 22 Business Components729
22.1 Enterprise JavaBeans730
22.1.1 EJB Fundamentals732
22.1.2 Entity Beans735
22.1.3 Session Beans739
22.2.1 Creating Entity Components741
22.2 Business Components for Java741
XML for entity components742
22.2.2 Creating View Components744
Java for entity components744
XML for view components745
Java for view components746
22.2.3 Creating the Application Module747
Summary748
Review Questions749
Key Terms749
Chapter 23 Iteration 3 Annotated Code750
23.2.1 Interface IAReportEntry751
23.2 Package Acquaintance751
23.1 Code Overview751
23.3 Package Presentation753
Populating the report contact list754
23.3.1 Class PWindow754
Report window755
Printing the report757
Activity report757
Populating the report table758
Showing the authorization window759
Saving modified authorization rules762
Conversion from rule matrix to authorization table762
Deleting an outmessage764
Conversion from authorization table to rule matrix764
Creating an outmessage766
Modifying an outmessage766
Dynamic registration of buttons767
23.3.2 Class PTableWindow767
Adding listeners to dynamically generated buttons769
Button return status770
Printing in PTabieWindow770
23.4 Package Control771
23.5 Package Entity771
23.5.1 Class EldentityMap773
Report registration and removal773
Report retrieval774
23.6 Package Mediator776
23.6.1 Class MModerator777
Authorization rules777
Report retrieval779
Creating an outmessage781
Updating an outmessage781
Changes to previous methods782
23.6.2 Class MDataMapper782
Report retrievalin MDataMapper784
Authorization rules loading in MDataMapper786
Saving authorization rules in MDataMapper786
23.6.3 Class MUnitOfWork789
Acquiring MUnitOfWork790
New entity registration in MUnitOfWork791
Dirty entity registration in MUnitOfWork791
Entity removal in MUnitOfWork792
Committing MUnitOfWork792
Execution of a transaction793
Starting a transaction795
23.7 Package Foundation795
23.7.1 Transactions on FConnection796
23.7.2 Execute Statements in FWriter796
23.7.3 Querying the Database in FReader798
23.8 Database Code799
23.8.1 Ref Cursor for ResultSet800
23.8.2 Retrieval of Outmessages801
23.8.3 Retrieval of Departmental Outmessages801
23.8.4 Deleting an Outmessage802
23.8.5 Creating an Outmessage803
23.8.6 Report Generation805
23.8.7 Trigger on OutMessage Table807
Summary809
Key Terms810
Iteration 3 Questions andExercises810
Bibliography811
Index816
The accompanying CD826