书籍详情

实用软件工程(英文版)

实用软件工程(英文版)

作者:(澳)马查斯泽克

出版社:机械工业出版社

出版时间:2006-01-01

ISBN:9787111173281

定价:¥69.00

购买这本书可以去
内容简介
  在实践中应该如何进行软件工程?如何开发现今的企业级应用?《实用软件工程(英文版)(附光盘1张)》用大量实例给出了答案。《实用软件工程(英文版)(附光盘1张)》讨论了如何将理论与行业实践联系起来,即集中精力进行系统设计和实现以及着手解决重要的实践问题。书中以一个主要的案例研究和两个小型的案例研究 (经过改编以适应教学的需要) 为中心展开叙述,提供了针对大型系统开发的软件工程,全面论述了开发生命周期、建模语言、工程工具、项目规划以及过程管理。通过主要案例研究的三次迭代,说明了迭代和增量式开发的概念。《实用软件工程(英文版)(附光盘1张)》特点●强调面向对象的建模和程序设计。●针对需求分析和详细设计,广泛使用UML和模式。●认识到数据库和数据工程在软件工程中的重要性。●解释组件和业务对象。●覆盖多层解决方案 (包括GUI和Web客户) ,通过Web和应用服务器扩展到数据库。●突出应用架构设计和重构。《实用软件工程(英文版)(附光盘1张)》将改变读者学习软件工程知识的方式,帮助IT专业人员改进软件开发实践,并带给读者新的开发思想和方向。随书光盘中包括软件开发工具、案例研究模型以及Java和数据库代码等。
作者简介
  LeszekA.Maciaszek澳大利亚悉尼麦考里大学副教授。他是企业级应用的设计与实现、数据库和对象技术方面的专业顾问。除本书外,他还著有《DatabaseDesignandImplementation》和《RequirementsAnalysisandSystemsDesign》等书。相关图书软件过程改进(英文版)80X86汇编语言与计算机体系结构计算机体系结构:量化研究方法:第3版计算机科学概论(英文版·第2版)分布式系统概念设计调和分析导论(英文第三版)人工智能:智能系统指南(英文版)第二版电力系统分析(英文版·第2版)面向计算机科学的数理逻辑:系统建模与推理(英文版·第2版)数学规划导论英文版抽样理论与方法(英文版)Java2专家导引(英文版·第3版)复分析基础及工程应用(英文版.第3版)机器视觉教程(英文版)(含盘)支持向量机导论(英文版)电子设计自动化基础(英文版)Java程序设计导论(英文版·第5版)数据挖掘:实用机器学习技术(英文版·第2版)UML参考手册(第2版)Java教程(英文版·第2版)软件需求管理:用例方法(英文版·第2版)数字通信导论离散事件系统仿真(英文版·第4版)复杂SoC设计(英文版)基于FPGA的系统设计(英文版)UML参考手册(英文版·第2版)计算理论导引计算机取证(英文版)EffectiveC#(英文版)基于用例的面向方面软件开发(英文版)UNIX教程(英文版·第2版)软件测试(英文版第2版)设计模式精解(英文版第2版)Linux内核编程必读-经典原版书库实分析和概率论-经典原版书库(英文版.第2版)
目录
Guided tour
Preface
Acknowledgements
Part 1 Software Projects
Chapter 1 Software Development Lifecycle
1.1 Software Engineering Quintessence
1.1.1 Software System is less than Enterprise Information System
1.1.2 Software Process is part of Business Process
1.1.3 Software Engineering is different from Traditional Engineering
1.1.4 Software Engineering is more than Programming
1.1.5 Software Engineering is about Modeling
1.1.6 Software System is Complex
1.2 Lifecycle Phases
1.2.1 Requirements Analysis
1.2.2 System Design
1.2.3 Implementation
1.2.4 Integration and Deployment
1.2.5 Operation and Maintenance
1.3 Lifecycle Models
1.3.1 Waterfall Lifecycle with Feedback
1.3.2 Iterative Lifecycle with Increments
Spiral model
Rational Unified Process (RUP)
Model Driven Architecture (MDA)
Agile lifecycle with short cycles
Summary
Key Terms
Review Questions
Chapter 2 Software Modeling Language
2.1 Structured Modeling Language
2.1.1 Data Flow Modeling
2.1.2 Entity-Relationship Modeling
2.2 Object-Oriented Modeling Language
2.2.1 Class Diagrams
2.2.2 Use Case Diagrams
2.2.3 Interaction Diagrams
Sequence diagrams
Collaboration (communication) diagrams
2.2.4 Statechart Diagrams
2.2.5 Activity Diagrams
2.2.6 Implementation Diagrams
Component diagrams
Deployment diagrams
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 3 Software Engineering Tools
3.1 Project Management Tools
3.1.1 Project Scheduling and Controlling
3.1.2 Aligning Project and Performance Management with
Strategic Objectives
3.1.3 Unifying Project Management with Web-Based Collaboration
and Content Management
3.1.4 Unifying Project Management with Web-Based Portfolio
Management
3.1.5 Integrating ProjeCt Management with Metrics
3.1.6 Integrating Project Management with Risk Management
3.2 System Modeling Tools
3.2.1 Managing Requirements
3.2.2 Visual UML Modeling
3.2.3 Report Generation
3.2.4 Database Modeling
3.3 Integrated Development Environments
3.3.1 Routine Programming Tasks
Writing the program
Executing the program
Debugging the program
3.3.2 Integration with Software Modeling
3.3.3 Enterprise Application Development
3.3.4 Integration with Business Components
3.3.5 Integration with Change and Configuration Management
3.4 Change and Configuration Management Tools
3.4.1 Support for Changes
3.4.2 Support for Versions
3.4.3 Support for System Building
3.4.4 Support for Reengineering
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 4 Software Project Planning and Tracking
4.1 Project Plan Development
4.2 Project Scheduling
4.2.1 Tasks, Milestones, and Deliverables
4.2.2 Task Scheduling in a Bar Chart
4.2.3 Resources and Resource Calendars
4.2.4 Effort-Driven Scheduling in a Bar Chart
4.2.5 Resource Underallocation and Overallocation
4.3 Project Budget Estimation
4.3.1 Schedule-Driven Budget Estimation
4.3.2 Algorithmic Budget Estimation
Principles of algorithmic models
COCOMO 81
COCOMO II
4.4 Tracking Project Progress
4.4.1 Tracking the Schedule
4.4.2 Tracking the Budget
Actual costs from schedule
Actual costs from accounting
Earned value
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 5 Software Process Management
5.1 People Management
5.1.1 Acquiring and Motivating People
Team creation
Motivational theories
5.1.2 Project Communications
Forms of communication
Lines of communication
Factors in communication
Communication in conflict resolution
5.1.3 Team Development
5.2 Risk Management
5.2.1 Risk Identification
5.2.2 Risk Assessment
5.2.3 Risk Handling
5.3 Quality Management
5.3.1 Software Qualities
5.3.2 Quality Control
Software testing
Testing techniques
Test planning
5.3.3 Quality Assurance
Checklists
Reviews
Audits
5.4 Change and Configuration Management
5.4.1 Requirements Changes
5.4.2 Artifact Versions
5.4.3 Defects and Enhancements
5.4.4 Metrics
Summary
Key Terms
Review Questions
Part 2 From Requirements via Architectural Design to
Software Release
Chapter 6 Business Object Model
6.1 Advertising Expenditure Measurement- The Business
6.2 Business Context Diagram
6.3 Business Use Case Model
6.3.1 Business Use Cases and Business Actors
6.3.2 Business Use Case Model for AEM
6.3.3 Alternative Business Use Case Model for AEM
6.4 Business Glossary
6.4.1 Business Glossary for AEM
6.5 Business Class Model
6.5.1 Business Entities
6.5.2 Business Class Model for AEM
6.5.3 Alternative Business Class Model for AEM
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Case Study Exercises
Minicase - Advertising Expenditure Measurement
Chapter 7 Domain Object Model
7.1 Contact Management - The Domain
7.2 Domain Use Case Model
7.2.1 Use Cases and Actors
7.2.2 Use Case Relationships
7.2.3 Use Case Model for Contact Management
7.2.4 Alternative Use Case Model for Contact Management
7.3 Domain Glossary
7.3.1 Domain Glossary for Contact Management
7.4 Domain Class Model
7.4.1 Classes and Attributes
7.4.2 Class Relationships
7.4.3 Class Model for Contact Management
7.4.4 Alternative Class Model for Contact Management
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Case Study Exercises
Minicase - Time Logging
Chapter 8 Iteration 1 Requirements and Object Model
8.1 Use Case Model
8.2 Use Case Document
8.2.1 Brief Description, Preconditions, and Postconditions
8.2.2 Basic Flow
8.2.3 Subflows
8.2.4 Exception Flows
8.3 Conceptual Classes
8.4 Supplementary Specification
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Case Study Exercises
Minicase - Time Logging
Chapter 9 Architectural Design
9.1 Architectural Layers and Dependency Management
9.1.1 Architectural Modules
Design classes
Packages
9.1.2 Package Dependencies
9.1.3 Layer Dependencies
9.1.4 Class Dependencies
9.1.5 Inheritance Dependencies
Inheritance without polymorphism
Extension and restriction inheritance
Down-calls
Up-calls
9.1.6 Method Dependencies
Method dependencies in the presence of delegation
Method dependencies in the presence of
implementation inheritance
9.1.7 Interfaces
Implementation dependency
Usage dependency
Breaking circular dependencies with interfaces
9.1.8 Event Processing
Event processing and layer dependencies
Event processing and interfaces
9.1.9 Acquaintance
Acquaintance dependencies and interfaces
Acquaintance package
9.2 Architectural Frameworks
9.2.1 Model-View-Controller
9.2.2 Presentation-Control-Mediator-Entity-Foundation
PCMEF layers
PCMEF principles
Acquaintance in PCMEF+
Deployment of PCMEF layers
9.3 Architectural Patterns
9.3.1 Facade
9.3.2 Abstract Factory
9.3.3 Chain of Responsibility
9.3.4 Observer
9.3.5 Mediator
Summary
Key Terms
Review Questions
Prob/em-Solving Exercises
Case Study Exercises
Minicase - Contact/nformation Management
Chapter 10 Database Design and Programming
10.1 Quick Tutorial in Relational Databases from a Software
Engineering Viewpoint
10.1.1 Table
10.1.2 Referential Integrity
10.1.3 Conceptual versus Logical Database Models
10.1.4 Implementing Business Rules
10.1.5 Programming Database Application Logic
10.1.6 Indexes
10.2 Mapping Transient Objects to Persistent Records
10.2.1 Object Databases, SQL:1999, and Impedance Mismatch
10.2.2 Object-Relational Mapping
Mapping a one-to-many association and aggregation
Mapping a many-to-many association
Mapping a one-to-one association
Mapping a one-to-many recursive association
Mapping a many-to-many recursive association
Mapping generalization
10.3 Database Design and Creation for Email Management
10.3.1 Database Model
10.3.2 Creating the Database Schema
10.3.3 Sample Database Content
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Case Study Exercises
Minicase - Contact Information Management
Chapter 11 Class and Interaction Design
11.1 Finding Classes from Use Case Requirements
11,1.1 Finding Classes from Use Case Requirements for
Email Management
11.1.2 Initial Class Design for Email Management
Constants in interface
11.2 Architectural Elaboration of Class Design
11.2.1 Architectural Elaboration of Class Design for Email Management
11.2.2 Class Design for Email Management after Architectural Elaboration
11.2.3 Class Instantiation
Who instantiates the first object?
Instantiation diagram for Email Management
11.3 Interactions
11.3.1 Sequence Diagrams
11.3.2 Communication Diagrams
11.3.3 Interaction Overview Diagrams
11.4 Interactions for Email Management
11.4.1 The 'Login' Interaction
11,4.2 The 'Exit' Interaction
11.4.3 The 'View Unsent Messages' Interaction
11.4.4 The 'Display Message Text' Interaction
11.4.5 The 'Email Message' Interaction
11.4.6 The 'Incorrect User Name or Password' Interaction
11.4.7 The 'Incorrect Option' Interaction
11.4.8 The 'Too Many Messages' Interaction
11.4.9 The 'Email Could Not Be Sent' Interaction
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Case Study Exercises
Minicase- Time Logging System
Minicase - Contact Information Management
Chapter 12 Programming and Testing
12.1 Quick Tutorial in Java from a Software Engineenng Viewpoint
12.1.1 Class
12.1.2 Class Associations and Collections
From conceptual to design class model
Java collections
Associations on entity objects
C++ parameterized types
12.1.3 Database Access in Java
Comparison of JDBC and SQLJ
Establishing a database connection
Executing SQL statements
Calling stored procedures and functions
12.2 Test-Driven Development
12.2,1 JUnit Framework
12.2.2 Test-Driven Development in Email Management
12.3 Acceptance and Regression Testing
12.3.1 Test Scripts in Email Management
12.3,2 Test Input, Output, and Regression Testing in Email Management
12.3.3 Implementation of Test Script in Email Management
12.4 Iteration 1 Runtime Screenshots
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Tutorial and Case Study Exercises
Minicase- Time Logging System
Minicase - Contact Information Management
Chapter 13 Iteration 1 Annotated Code
13.1 Code Overview
13.2 Package Acquaintance
13.2.1 Interface IAConstants
13.2.2 Interface IAEmployee
13.2.3 Interface IAContact
13.2.4 Interface IAOutMessage
13.3 Package Presentation
13.3.1 Class PMain
13.3.2 Class PConsole
Constructing a PConsole object
Displaying Iogin and menu
Viewing outmessages
Requesting to email an outmessage
13.4 Package Control
13.4.1 Class CActioner
Constructing a CActioner object
Initiating Iogin
Routing retrieval of outmessages
Emailing an outmessage
Using JavaMailTM API
13.5 Package Entity
13.5.1 Interface IEDataSupplier
Object identifiers and identity field pattern
13.5.2 Class EEmployee
Constructing an EEmployee object
Getting unsent outmessages
Removing sent outmessages
13.5.3 Class EContact
Constructing an EContact object
Getting unsent outmessages
Removing sent outmessages
13.5.4 Class EOutMessage
Constructing an EOutMessage object
Getting and setting a contact for Outmessage
Getting and setting a creator employee for outmessage
Getting and setting a sender employee for outmessage
13.6 Package Mediator
13.6.1 Crass MBroker
Constructing an MBroker object
Requesting Iogin connection
Creating Employees Cache
Retrieving unsent outmessages
Creating an outmessages cache
Creating a contacts cache
Updating outmessages after emailing and restoring the cache
13.7 Package Foundation
13.7.1 Class FConnection
Constructing an FConnection object
Obtaining database connection
13.7.2 Class FReader
13.7.3 Class FVVriter
Summary
Key Terms
Iteration 1 Questions and Exercises
Part 3 Software Refactoring and User
Interface Development
Chapter 14 Iteration 2 Requirements and Object Model
14.1 Use Case Model
14.2 Use Case Document
14.2.1 Bdef Description, Preconditions, and Postconditions
14.2.2 Basic Flow
14.2.3 Subflows
14.2.4 Exception Flows
14.3 Conceptual Classes and Relational Tables
14.4 Supplementary Specification
Summary
Key Terms
Review Questions
Chapter 15 Architectural Refactodng
15.1 Refactoring Targets
15.2 Refactodng Methods
15.2.1 Extract Class
15.2.2 Subsume Method
15.2.3 Extract Interface
15.3 Refactoring Patterns
15.3.1 Identity Map
15.3.2 Data Mapper
Load - check-out
Unload- check-in
15.3.3 Alternative Data Mapper Strategies
Many data mappers
Metadata mapping
15.3.4 Lazy Load
Lazy Initialization
Virtual Proxy
OID Proxy
Navigation in Identity Map
Navigation in Entity Classes
15.3.5 Unit of Work
15.4 Refactored Class Model
Summary
Key Terms
Review Questions
Discussion Questions
Case Study Questions
Problem-Solving Exercises
Chapter 16 User Interface Design and Programming
16.1 User Interface Design Guidelines
16.1.1 User in Control
16.1.2 Interface Consistency
16.1.3 Interface Forgiveness
16.1.4 Interface Adaptability
16.2 User Interface Components
16.2.1 Containers
Layout management
Layering management
16.2.2 Menus
16.2.3 Controls
16.3 User Interface Event Handling
16.4 Patterns and the User Interface
16.4.1 Observer
16.4.2 Decorator
16.4.3 Chain of Responsibility
16.4.4 Command
16.5 User Interface for Email Management
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 17 Web-Based User Interface Design and Programming-
17.1 Enabling Technologies for the Web Client Tier
17.1.1 Basic HTML
17.1.2 Scripting Language
17.1.3 Applet: Thin and Thick
17.2 Enabling Technologies for the Web Server Tier
17.2.1 Servlet
17.2.2 JSP
17.3 Transactions on Stateless Internet Systems
17.4 Patterns and the Web
17.4.1 Observer
17.4.2 Composite
17.4.3 Factory Method
17.4.4 Strategy
17.4.5 Decorator
17.4.6 Model-View-Controller
17.4.7 Front Controller
17.4.8 Reuse of Tags in JSP
17.4.9 Decoupled Control: Struts
17.5 Servlet Implementation of Email Management
Summary
Key Terms
Review Questions
Prob/em-So/ving Exercises
Chapter 18 Iteration 2 Annotated Code
18.1 Code Overview
18.2 Package Acquaintance
18.2.1 Interface IAEmployee
18.3 Package Presentation
18.3.1 Class PWindow
Constructing and launching PWindow
Data retrieval in PWindow
Filter activation
18.3.2 Class PMessageDetailWindow
18.3.3 Class PMessageTableModel
18.3.4 Class PDisplayList
18.3.5 Class PDisplayList.Filter
18.4 Package Control
18.4.1 Class CAdmin
18.4.2 Class CMsgSeeker
18.5 Package Entity
18.5.1 Class EldentityMap
18.6 Package Mediator
18.6.1 Class MModerator
18.6.2 Class MDataMapper
Outmessage retrievals and loading
Outmessage saving and unloading
18.7 Presentation Layer: Applet Version
18.8 Presentation Layer: Servlet Version
18.8.1 Class PEMS
Login in servlet
Showing outmessages in servlet
18.8.2 Class PEMSEdit
Summary
Key Terms
Iteration 2 Questions and Exercises
Part 4 Data Engineering and Business Components
Chapter 19 Iteration 3 Requirements and Object Model
19.1 Use Case Model
19.2 Use Case Document
19.2.1 Bdef Description, Preconditions, and Postconditions
19.2.2 Basic Flow
19.2.3 Subflows
19.2.4 Exception Flows
19.3 Conceptual Classes and Relational Tables
19.4 Supplementary Specification
19.5 Database Specification
Summary
Key Terms
Review Questions
Chapter 20 Security and Integrity
20.1 Designing Security
20.1.1 Discretionary Authorization
System and object privileges
Programmatic discretionary authorization
20.1,2 Mandatory Authorization
20.1.3 Enterprise Authorization
20.2 Designing Integrity
20.2.1 Null and Default Constraints
20.2.2 Domain and Check Constraints
20.2.3 Unique and Primary Keys
20.2.4 Foreign Keys
20.2.5 Triggers
20.3 Security and Integrity in Email Management
20.3.1 Security in Email Management
Explicit Authorization table
Using individual schemas, global schema, and stored procedures
Using individual schemas, global schema, views, and
stored procedures
Authorization administration
20.3.2 Integrity in Email Management
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 21 Transactions and Concurrency
21.1 Concurrency in System Transactions
21.1.1 ACID Properties
21.1.2 Isolation Levels
21.1.3 Lock Modes and Levels
21.1.4 Transactional Models
21.1.5 Concurrency Control Schemes
21.2 Concurrency in Business Transactions
21.2.1 Business Transaction Execution Contexts
21.2.2 Business Transactions and Component Technology
21.2.3 Transaction Services across Tiers
Web tier
Application tier
Database tier
21.2.4 Offline Concurrency Patterns
Unit of Work
Optimistic Offline Lock
Pessimistic Offline Lock
21.3 Transactions and Concurrency in Email Management
21.3.1 Flat Transaction Model
21.3.2 Unit of Work and Transactional Support
Summary
Key Terms
Review Questions
Problem-Solving Exercises
Chapter 22 Business Components
22.1 Enterprise JavaBeans
22.1.1 EJB Fundamentals
22.1.2 Entity Beans
22.1.3 Session Beans
22.2 Business Components for Java
22.2.1 Creating Entity Components
XML for entity components
Java for entity components
22.2.2 Creating View Components
XML for view components
Java for view components
22.2.3 Creating the Application Module
Summary
Key Terms
Review Questions
Chapter 23 Iteration 3 Annotated Code
23.1 Code Overview
23.2 Package Acquaintance
23.2.1 Interface IAReportEntry
23.3 Package Presentation
23.3.1 Class PWindow
Populating the report contact list
Report window
Activity report
Printing the report
Populating the report table
Showing the authorization window
Conversion from rule matrix to authorization table
Saving modified authorization rules
Conversion from authorization table to rule matrix
Deleting an outmessage
Modifying an outmessage
Creating an outmessage
23.3.2 Class PTableWindow
Dynamic registration of buttons
Adding listeners to dynamically generated buttons
Button return status
Printing in PTableWindow
23.4 Package Control
23.5 Package Entity
23.5.1 Class EldentityMap
Report registration and removat
Report retrieval
23.6 Package Mediator
23.6.1 Class MModerator
Authorization rules
Report retdeval
Creating an outmessage
Updating an outmessage
23.6.2 Class MDataMapper
Changes to previous methods
Report retrieval in MDataMapper
Authorization rules loading in MDataMapper
Saving authorization rules in MDataMapper
23.6.3 Class MUnitOfWork
Acquiring MUnitOfWork
New entity registration in MUnitOfWork
Dirty entity registration in MUnitOfWork
Entity removal in MUnitOfWork
Committing MUnitONVork
Execution of a transaction
Starting a transaction
23.7 Package Foundation
23.7.1 Transactions on FConnection
23.7.2 Execute Statements in FWdter
23.7.3 Querying the Database in FReader
23.8 Database Code
23.8.1 Ref Cursor for ResultSet
23.8.2 Retrieval of Outmessages
23.8.3 Retrieval of Departmental Outmessages
23.8.4 Deleting an Outmessage
23.8.5 Creating an Outmessage
23.8.6 Report Generation
23.8.7 Trigger on OutMessage Table
Summary
Key Terms
Iteration 3 Questions and Exercises
Bibliography
Index
The accompanying CD
猜您喜欢

读书导航