图书介绍

实用软件工程 英文版PDF|Epub|txt|kindle电子书版本网盘下载

实用软件工程 英文版
  • (澳)马查斯泽克(Maciaszek,L.A.)等著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111173287
  • 出版时间:2006
  • 标注页数:826页
  • 文件大小:62MB
  • 文件页数:862页
  • 主题词:软件工程-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

实用软件工程 英文版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

热门推荐