实用软件工程

副标题:无

作   者:[澳]马查斯泽克 著

分类号:

ISBN:9787111173281

微信扫一扫,移动浏览光盘

简介

在实践中应该如何进行软件工程?如何开发现今的企业级应用?《实用软件工程(英文版)》用大量实例给出了答案。   
      《实用软件工程(英文版)》讨论了如何将理论与行业实践联系起来,即集中精力进行系统设计和实现以及着手解决重要的实践问题。书中以一个主要的案例研究和两个小型的案例研究 (经过改编以适应教学的需要) 为中心展开叙述,提供了针对大型系统开发的软件工程,全面论述了开发生命周期、建模语言、工程工具、项目规划以及过程管理。通过主要案例研究的三次迭代,说明了迭代和增量式开发的概念。   
《实用软件工程(英文版)》特点   
●强调面向对象的建模和程序设计。   
●针对需求分析和详细设计,广泛使用UML和模式。  
●认识到数据库和数据工程在软件工程中的重要性。   
●解释组件和业务对象。   
●覆盖多层解决方案 (包括GUI和Web客户) ,通过Web和应用服务器扩展到数据库。   
●突出应用架构设计和重构。   
      《实用软件工程(英文版)》将改变读者学习软件工程知识的方式,帮助IT专业人员改进软件开发实践,并带给读者新的开发思想和方向。随书光盘中包括软件开发工具、案例研究模型以及Java和数据库代码等。

目录

contents

guided tour

preface

acknowledgements

part i 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 statachart diagrams

2.2.5 activity diagrams

2.2.6 implementation diagrams

component diagrams

deployment diagrams

summery

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 reenginaering

summery

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

port 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 i 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 subfiows

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-contro!-mediator-entity-fou ndation

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

problem-solving exercises

case study exercises

minicase - contact information 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 architecturat 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-so/vfog exercises

case study exercises

minicasa - time logging system

minicase - contact information management

chapter 12 programming and testing

12.1 quick tutorial in java from a software engineering 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 scdpt in email management

12.4 iteration 1 runtime screenshots

summary

key terms

review questions

prob/em-somng exercises

tutorial and csse 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 inteffece iaemp[oyee

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 pconsoie 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 legin

routing retdeval of outmessages

emailing an outmessage

using javamailtm apl

13.5 package entity

13.5.1 interface iedatasupplier

object identifiers and identity field pattern

13.5.2 class eemployee

constructing an eempluyee 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 class msroker

constructing an mbroker object

requesting iogin connection

creating employees cache

retheving 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 fwdter

summary

key terms

iteretion 1 questions and exercises

part 3 software refactorlng 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 brief 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 refactoring

15.1 refactoring targets

15.2 refactoring 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

cid 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

layenng'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

problem-solving exercises

chapter 18 iteration 2 annotated code

18.1 code overview

18.2 package acquaintance

18.2.1 interface iaemplcyee

18.3 package presentation

18.3.1 class pwindow

constructing and launching pwindow

data rotriaval in pwindow

filter activation

18.3.2 class pmessagedetailwindow

18.3.3 class pmessagetablemodet

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 ssrvlet

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 descdption, 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 secudty and integdty

20.1 designing security

20.1.1 discretionary authodzation

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 pdmary keys

20.2.4 foreign keys

20.2.5 triggers

20.3 security and integdty in email management

20.3.1 secudty in email management

explicit authodzation table

using individual schemas, global schema, and stored procedure!

using individual schemas, global schema, views, and

stored procedures

authorization administration

20.3.2 integrity in email management

summary

key terms

review questions

prcblem-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 offiine concurrency patterns

unit of work

optimistic offline lock

pessimistic offiine 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 eottty 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

poputatleg 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 ptablewledow

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 etdentitymap

report registration and removal

report retrieval

23.6 package men,atm

23.6.1 class mmoderator

authorization rules

report retrieval

creating an outmessage

updating an outmessage

23.6.2 crass mdatamapper

changes to previous methods

report retrieval in mdatamapper

authorization rules loading in mdatamapper

saving authorzation rules in mdatamapper

23.6.3 crass munitofwork

acquiring munttofwork

new entity registration in munitofinork

dirty entity registratien in munitofwork

entity removal in munito~'nork

committing munitofwork

execution of a transaction

starting a transaction

23.7 package foundation

23.7.1 transactions on fconnection

23.7.2 execute statements in fwriter

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 outrnessages

23.8.4 deleting an outmessage

23.8.5 creating an outmessage

23.8.6 report generation

23.8.7 tdgger an outmessage table

summary

key terms

iteration 3 questions and exercises

bibliography

index

the accompanying cd

 

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

实用软件工程
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon