Project-Based Software Engineering:An Object-Oriented Approach

副标题:无

作   者:(美)Evelyn Stiller,(美)Cathie LeBlanc[著]

分类号:

ISBN:9787040114034

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

简介

  In teaching softwere engineering, experience has shown us that students are not convinced of the benefits of using software engineering techtniques until they experience the benefits themsehes. Completing a semester-long project is the most effective way of convincing students that softwre engineering is critical to their professional development. The softwre engineering course offered at Plymouth State College is therefore a very practical, hands-on course focused on the   development of object-oriented software. Through the years, however, we became frustrated with the lack of textbooks appropriate for such a course. The majority of the available texts focus on the theoretical aspects of software engineering at the expense of its practical aspects. The texs that are project-based do not focus on the object-oriented paradigm. We wrote this textbook to fill this market gap.   

目录

preface

chapter i lntrodudion to software engineering

l.l key concepts

1.2 why engineer softwre?

l.3 elements of a softwre development hadigm

l.3.1 project conceptualization

l.3.2 project representation

l.3.3 project implementaion

l.4 a brief history of soforare engheering techniques

l.4.l structured programming

l.4.2 functional decomposition

l.4.3 structured analysis and design

l.4.4 data-centered paradigm

1.4.5 object-oriented paradigm

l .5 the costs of not engineering software

l.6 why software engineering is not universal

l.7 the role of the project

1.8 working in teams

l.9 creating the project team

1.l0 class project: functional requirements

.l.lo.1 project overview

l.10.2 game elements

l.10.3 the game sequence of events

1.l0.4 moving and landing on planets

l.1o.5 minning the game

l.1o.6 project thoe frame

1.11 questions for review

chapter 2 object-oriented paradigm overview

2.1 key concepts

2.2 getting acquainted with the class project

2.2.1 guidelines for creating informal scenarios

2.2.2 sample informal scenario: user makes a move

2.3 object-oriented conceptualization

2.3.1 application-specilic relationships

2.3.2 inheritance

2.3.3 aggregation/composition

2.3.4 other categorizations of relationships

2.4 the softwar life cycle

2.4.1 the softwar development process

2.5 object-oriented modeling

2.5.l role of model building

2.5.2 creating quality modules

2.5.3 modeling notation

2.5.4 use of models in software engheering

2.6 qualiies of a good object-oriented system

2.7 wodrig in teams

2.7.1 the chief propeer team

2.7.2 holding effective team meetings

2.8 questions for review

chapter 3 object-odented anaiysis

3.l key concepts

3.2 introduction to requirements analysis

3.3 the importance of requirements analysis

3.4 requirements specilication

3.5 case study: library management system specification

3.6 evaluating the requirements specification

3.7 refining the requirements specincation

3.7.1 prototyping as a refinement tool

3.8 verifying the requirements specincation

3.9 propagating requirements throughout development

3.l0 the process of requirements analysis

3.l0.l ldentifying classes of uccd

3.l0.2 case study: identifying classes for lms

3.l0.3 identifyng use cases

3.l0.4 case study : identifying use cases in lms

3.10.5 scenario development

3.10.6 case study: sample scenarios in lms

3.10.7 modeling the system with uml

3.l0.8 class diagrams

3.l0.9 case study: class diagrams for lms

3.l0.10 use case diagrams

3.1o.ll case study: use case diagrams for lms

3.1o.l2 requirements analysis summary

3.10.l3 evolving the system

3.11 analyzing the class project

3.12 working in teams

3.l3 questions for review

chapter 4 produd design

4.l key concepts

4.2 objecthes of design

4.3 class design versus product design

4.4 product design overview and objectives

4.5 object persistence

4.5.l object serialization

4.5.2 evaluating object persistence

4.6 case study: object persistence in lms

4.7 process architecture

4.7.l modeling multiple nodes

4.7.2 modeling interprocess communication

4.7.3 state machines

4.7.4 modeling multiple threads of control

4.7.5 effecthe use of network resources

4.8 case stljdy: interprocess conununication in lms

4.9 ciass project: interprocess communication in galaxy sleuth

4.l0 user interfaces

4.1l user interface desgh

4.11. l user-friendliness

4.12 user interface design principles

4.l2.1 know the user

4.12.2 rules for interface design

4.12.3 interaction styles

4.l3 case study: user interface for lms

4.l4 working in teams

4. l5 class project product design

4. 16 questions for review

chapter 5 ciass design

5.1 key concepts

5.2 the class design process

5.2.1 class skeletons

5.2.2 case study: class skeletons in lms

5.2.3 system decomposition

5.3 more uml

5.3. 1 notational adorments for class diagrams

5.3.2 interaction diagrams

5.3.3 case study: lnteraction diagrams for lms

5.3.4 collaboration diagram creation

5.3.5 case study more interaction diagrams in lms

5.3.6 evaluating design

5.3.7 case study:evalating design of lms

5.3.8 object diagrams

5.3.9 case study: object diagrams for lms

5.3.10 object diagram creation

5.4 objectives of the class design phasc

5.4.l code reuse

5.4.2 case study: code reuse in lms

5.4.3 well-designed classes and methods

5.4.4 data integrity

5.5 verilication of the class design

5.6 designing the class project

5.7 questions for review

chapter 6 case stuoy: game2d with method

design

6.1 key concepts

6.2 overview

6.3 requirements specification

6.4 refined requirements specification

6.5 requirements analysis

6.5.l list of nouns

6.5.2 analysis of list of nouns

6.5.3 list of primary classes

6.5.4 use case development

6.5.5 scenarios

6.5.6 refined class list

6.5.7 modeling

6.6 product design

6.6.l process architecture

6.6.2 graphical user interface review

6.7 class design

6.7.l interaction diagrams

6.7.2 object diagrams

6.7.3 reuse

6.7.4 class skeletons

6.8 method design

6.8.l specifying methods

6.8.2 method design for game2d

6.8.3 creating quality methods

6.9 questions for review

chapter 7 lmpiementotion

7.l key concepts

7.2 introduction

7.3 implemcntation approaches

7.3.l big bang implementaion

7.3.2 top-down versus bottom-up implementation

7.3.3 combining the top-down and bottom-up approaches

7.3.4 threads approach to implementation

7.4 implementation plan

7.5 case study: implementation plan for the lms

7.6 programming style

7.6.l shorter is simpler

7.6.2 simpler code has fewer decisions

7.6.3 excessively nested logic should be avoided

7.7 comments and internal documentation

7.7.l header conunent block

7.7.2 line comments

7.8 project coding standards

7.8. l case study: programming standards for the lms

7.9 implementing the class project

7. lo questions for review

chapter 8 testing

8. l key concepts

8.2 what is testing?

8.3 principles of object-oriented testing

8.4 debotions

8.4.1 error, fault, and failure

8.4.2 test plan

8.4.3 test oracle

8.4.4 test cases

8.4.5 white box testing

8.4.6 black box testing

8.4.7 unit testing

8.4.8 integhion testing

8.4.9 system testing

8.5 testing steps

8.5.1 analysis of test results

8.6 special issues for testing object-oriented systems

8.7 case study: testing the lms

8.7.l test plan

8.7.2 unit testing phase i

8.7.3 formulating test cases

8.8 testing the class project

8.9 testing in the face of change: configuration management

8. lo questions for review

chapter 9 projecd management

9.1 key concepts

9.2 introduction

9.3 project manager responsibilities

9.3.1 soforre metrics

9.3.2 case study: project estimation

9.3.3 quality control metrics

9.3.4 the mythical staff-month

9.4 condguration management

9.4.l version control

9.4.2 change control

9.4.3 condguration audit

9.4.4 configuration status reporing

9.5 project planning and monitoring

9.5.l evolving the project

9.5.2 case study: evolving game2d

9.5.3 the project plan

9.5.4 case study: project plan for game2d

9.5.5 scheduling

9.5.6 monitoring progress

9.6 project teams

9.6.1 building a project team

9.6.2 the four stages of team development

9.6.3 conflict

9.6.4 conflict resolution

9.7 risk management

9.7.l sources of technical risk

9.7.2 sources of human risk

9.7.3 consequences of risk

9.8 reducing risk

9.8.1 early product eyalation

9.8.2 early implementation of risky system aspects

9.8.3 early use of new technology

9.8.4 early resolution of class interaction problems

9.9 further readings on risk management

9.10 case study: risk analyis in the lms

9.l0.l risk trade-offs in the lms

9.l0.2 technical risks in the lms

9.ll questions for review

chapter 10 design patterns

l0.1 key concepts

l0.2 mothaion for design patterns

10.3 what are design patterns?

l0.4 exploring design patterns

l0.4.l case study: decorator design pattern

10.4.2 case study: iterator design pattern

10.4.3 case study: state design patten

l0.4.4 case study: singleton design pattern

l0.5 questions for review

chapter 11 software development horror stories

1l.1 key concepts

l1.2 introduction

l1.2. 1 causes of failure

ll.3 therac-25

ll.4 confirm

l1.5 telephones and communications

chapter 12 completing and presenting the

project

l2.l succeeding with the class project

12.2 reflecting on the project

l2.2.l analyzing what went wrong

12.3 presenting the project

12.3.l categories of nontechnical users

12.3.2 elements of the nontechnical presentation

l2.3.3 elements of the technical presentation

l2.3.4 the project presentation

references

index




已确认勘误

次印刷

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

Project-Based Software Engineering:An Object-Oriented Approach
    • 名称
    • 类型
    • 大小

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

    意见反馈

    14:15

    关闭

    云图客服:

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

    或者您是想咨询:

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

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

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

    loading icon