Software engineering : (Record no. 6797)
[ view plain ]
000 -LEADER | |
---|---|
fixed length control field | 09905cam a22002054a 4500 |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
ISBN | 0201648563 |
Terms of availability | TZS 26,500/= |
040 ## - CATALOGING SOURCE | |
Original cataloging agency | MUL |
Language of cataloging | eng |
Description conventions | AACR |
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER | |
Classification number | 005.1 BEL |
100 1# - MAIN ENTRY--AUTHOR NAME | |
Personal name | Bell, Douglas, |
245 10 - TITLE STATEMENT | |
Title | Software engineering : |
Sub Title | a programming approach / |
Statement of responsibility, etc | Douglas Bell. |
250 ## - Edition Statement | |
Edition statement | 3rd ed. |
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT) | |
Place of publication | Harlow : |
Name of publisher | Addison Wesley, |
Year of publication | c2000. |
300 ## - PHYSICAL DESCRIPTION | |
Number of Pages | xvi, 470 p. : |
Other physical details | ill. ; |
Dimensions | 23 cm. |
504 ## - BIBLIOGRAPHY, ETC. NOTE | |
Bibliography, etc | Includes bibliographical references and index. |
505 ## - Formatted Contents | |
Formatted contents note | <br/>Preface xv <br/>Part A Introduction <br/>Software -- problems and prospects<br/>3 (18)<br/>Introduction<br/>3 (1)<br/>Meeting users' needs<br/>4 (1)<br/>The cost of software production<br/>5 (5)<br/>Meeting deadlines<br/>10 (1)<br/>Software performance<br/>10 (1)<br/>Portability<br/>11 (1)<br/>Maintenance<br/>12 (1)<br/>Reliability<br/>13 (3)<br/>Human--computer interaction<br/>16 (1)<br/>A software crisis?<br/>16 (1)<br/>A remedy -- software engineering?<br/>17 (1)<br/>Summary<br/>18 (3)<br/>Exercises<br/>19 (1)<br/>Answers to self test questions<br/>20 (1)<br/>Further reading<br/>20 (1)<br/>Process models<br/>21 (24)<br/>Introduction<br/>21 (1)<br/>The components of software development<br/>22 (2)<br/>Validation and verification<br/>24 (1)<br/>The waterfall model<br/>25 (3)<br/>Prototyping<br/>28 (8)<br/>Formal methods -- the transform model<br/>36 (1)<br/>The spiral model<br/>37 (3)<br/>Discussion<br/>40 (1)<br/>Summary<br/>41 (4)<br/>Exercises<br/>41 (1)<br/>Answers to self test questions<br/>42 (1)<br/>Further reading<br/>42 (3)<br/>Part B Requirements engineering <br/>Requirements analysis<br/>45 (10)<br/>Introduction<br/>45 (1)<br/>The notion of a requirement<br/>46 (1)<br/>The process of eliciting requirements<br/>47 (2)<br/>The requirements specification<br/>49 (3)<br/>Summary<br/>52 (3)<br/>Exercises<br/>53 (1)<br/>Further reading<br/>54 (1)<br/>Formal specification<br/>55 (16)<br/>Introduction<br/>55 (2)<br/>Formal specification in Z: an example<br/>57 (7)<br/>The role of formal specification<br/>64 (1)<br/>Summary<br/>65 (6)<br/>Exercises<br/>66 (1)<br/>Answers to self test questions<br/>67 (1)<br/>Further reading<br/>67 (4)<br/>Part C Design <br/>Structured programming<br/>71 (14)<br/>Introduction<br/>71 (1)<br/>Arguments against goto<br/>72 (4)<br/>Arguments in favor of goto<br/>76 (1)<br/>Selecting control structures<br/>77 (2)<br/>What is structured programming?<br/>79 (3)<br/>Summary<br/>82 (3)<br/>Exercises<br/>83 (1)<br/>Further reading<br/>84 (1)<br/>Modularity<br/>85 (21)<br/>Introduction<br/>85 (1)<br/>Why modularity?<br/>86 (2)<br/>Module size<br/>88 (2)<br/>Complexity<br/>90 (1)<br/>Global data is harmful<br/>91 (1)<br/>Information hiding and abstract data types<br/>92 (2)<br/>Coupling and cohesion<br/>94 (1)<br/>Coupling<br/>95 (3)<br/>Cohesion<br/>98 (2)<br/>Shaw and Garlan's classification<br/>100 (2)<br/>Object-oriented programming<br/>102 (1)<br/>Summary<br/>103 (3)<br/>Exercises<br/>104 (1)<br/>Answer to self test question<br/>105 (1)<br/>Further reading<br/>105 (1)<br/>Functional decomposition<br/>106 (10)<br/>Introduction<br/>106 (1)<br/>An example -- a video game<br/>107 (3)<br/>More about the method<br/>110 (1)<br/>What about data?<br/>111 (1)<br/>Alternative solutions<br/>112 (1)<br/>The place of functional decomposition<br/>113 (1)<br/>Discussion<br/>113 (1)<br/>Summary<br/>114 (2)<br/>Exercises<br/>114 (1)<br/>Further reading<br/>115 (1)<br/>Data structure design: The Michael Jackson program design method (JSP)<br/>116 (25)<br/>Introduction<br/>116 (1)<br/>A simple example<br/>117 (5)<br/>Processing input files<br/>122 (2)<br/>Physical and logical structures<br/>124 (2)<br/>Processing several input and output streams<br/>126 (5)<br/>Structure clashes<br/>131 (4)<br/>Discussion and evaluation<br/>135 (2)<br/>Summary<br/>137 (4)<br/>Exercises<br/>138 (1)<br/>Answer to self test question<br/>139 (1)<br/>Further reading<br/>140 (1)<br/>Data flow design<br/>141 (16)<br/>Introduction<br/>141 (1)<br/>An analogy<br/>142 (1)<br/>First examples<br/>143 (3)<br/>Case study -- point-of-sale terminal<br/>146 (4)<br/>Case study -- monitoring a plant<br/>150 (1)<br/>Rationale for the method<br/>151 (2)<br/>Discussion<br/>153 (2)<br/>Summary<br/>155 (2)<br/>Exercises<br/>155 (1)<br/>Further reading<br/>156 (1)<br/>Object-oriented desing<br/>157 (26)<br/>Introduction<br/>157 (1)<br/>The features of OOP<br/>158 (5)<br/>The aims of OO design<br/>163 (2)<br/>Finding the classes<br/>165 (2)<br/>Specifying the responsibilities of the classes<br/>167 (1)<br/>Specifying the collaborators<br/>168 (1)<br/>Other design techniques and notations<br/>169 (1)<br/>Using the class library<br/>169 (1)<br/>Class--responsibility--collaborator (CRC) cards<br/>170 (1)<br/>Use-case analysis<br/>171 (1)<br/>Creating good class hierarchies<br/>172 (3)<br/>Is-a and has-a analysis<br/>175 (1)<br/>Design guidelines<br/>176 (1)<br/>Re-usable design patterns (frameworks)<br/>176 (1)<br/>Object-oriented design methodologies<br/>177 (1)<br/>Discussion<br/>177 (2)<br/>Summary<br/>179 (4)<br/>Exercises<br/>179 (2)<br/>Answers to self test questions<br/>181 (1)<br/>Further reading<br/>181 (2)<br/>User interface design<br/>183 (16)<br/>Introduction<br/>183 (1)<br/>An interdisciplinary field<br/>184 (1)<br/>Styles of human--computer interface<br/>184 (2)<br/>Different perspectives on HCI<br/>186 (1)<br/>Design principles and guidelines<br/>187 (3)<br/>Human--computer interface design<br/>190 (1)<br/>Task analysis<br/>191 (2)<br/>Design evaluation<br/>193 (1)<br/>Help systems<br/>194 (1)<br/>Implementation tools<br/>195 (1)<br/>Summary<br/>196 (3)<br/>Exercises<br/>196 (1)<br/>Answers to self test questions<br/>197 (1)<br/>Further reading<br/>197 (2)<br/>Formal development<br/>199 (16)<br/>Introduction<br/>199 (1)<br/>What is a formal method?<br/>200 (1)<br/>Formal development: a case study<br/>201 (7)<br/>The role of formal development<br/>208 (1)<br/>Summary<br/>209 (6)<br/>Exercises<br/>210 (1)<br/>Answers to self test questions<br/>211 (1)<br/>Further reading<br/>211 (4)<br/>Part D Programming paradigms <br/>The programming language<br/>215 (50)<br/>Introduction<br/>215 (1)<br/>Design principles<br/>216 (2)<br/>Language syntax<br/>218 (3)<br/>Control abstractions<br/>221 (6)<br/>Data types and strong typing<br/>227 (11)<br/>Procedural abstraction<br/>238 (5)<br/>Abstract data types<br/>243 (6)<br/>Programming in the large<br/>249 (7)<br/>The role of programming languages<br/>256 (2)<br/>Summary<br/>258 (7)<br/>Exercises<br/>258 (2)<br/>Answers to self test questions<br/>260 (4)<br/>Further reading<br/>264 (1)<br/>Object-oriented programming (OOP)<br/>265 (21)<br/>Introduction<br/>265 (1)<br/>Encapsulation<br/>265 (2)<br/>Classes<br/>267 (1)<br/>Creating objects<br/>268 (1)<br/>Constructor methods<br/>269 (1)<br/>Destructor methods<br/>270 (1)<br/>Class or static methods<br/>270 (1)<br/>Inheritance<br/>271 (3)<br/>Single versus multiple inheritance<br/>274 (1)<br/>Polymorphism<br/>274 (1)<br/>Event-driven programming<br/>275 (1)<br/>Case study -- a complete Java program<br/>276 (4)<br/>The role of OOP<br/>280 (1)<br/>Summary<br/>281 (5)<br/>Exercises<br/>282 (2)<br/>Answers to self test questions<br/>284 (1)<br/>Further reading<br/>285 (1)<br/>Concurrent programming<br/>286 (35)<br/>Introduction<br/>286 (2)<br/>Independent threads<br/>288 (3)<br/>Dying and killing<br/>291 (1)<br/>The state of a thread<br/>292 (1)<br/>Scheduling and thread priorities<br/>293 (1)<br/>Mutual exclusion<br/>293 (3)<br/>Thread interaction<br/>296 (5)<br/>The producer--consumer problem<br/>301 (11)<br/>Interruptions<br/>312 (1)<br/>Deadlock<br/>313 (1)<br/>Conclusions<br/>314 (2)<br/>Summary<br/>316 (5)<br/>Exercises<br/>316 (2)<br/>Answers to self test questions<br/>318 (2)<br/>Further reading<br/>320 (1)<br/>Functional programming<br/>321 (17)<br/>Introduction<br/>321 (1)<br/>Procedural languages<br/>322 (2)<br/>Characteristics of functional programming<br/>324 (7)<br/>Other functional languages<br/>331 (2)<br/>The role of functional programming<br/>333 (2)<br/>Summary<br/>335 (3)<br/>Exercises<br/>336 (1)<br/>Answers to self test questions<br/>337 (1)<br/>Further reading<br/>337 (1)<br/>Logic programming<br/>338 (17)<br/>Introduction<br/>338 (2)<br/>Facts and rules<br/>340 (2)<br/>Execution mechanisms<br/>342 (6)<br/>Prolog in use<br/>348 (2)<br/>Conclusions<br/>350 (1)<br/>Summary<br/>351 (4)<br/>Exercises<br/>352 (1)<br/>Further reading<br/>352 (3)<br/>Part E Implementation <br/>Software tools<br/>355 (17)<br/>Introduction<br/>355 (1)<br/>Tools for programming<br/>356 (1)<br/>Not programming tools<br/>357 (1)<br/>Examples of tools<br/>357 (8)<br/>Discussion<br/>365 (1)<br/>Application development tools<br/>365 (4)<br/>The physical environment<br/>369 (1)<br/>Summary<br/>370 (2)<br/>Exercises<br/>371 (1)<br/>Answers to self test questions<br/>371 (1)<br/>Further reading<br/>371 (1)<br/>Verification<br/>372 (24)<br/>Introduction<br/>372 (1)<br/>The nature of errors<br/>373 (1)<br/>The problem of testing<br/>374 (1)<br/>Black box (functional) testing<br/>375 (2)<br/>White box (structural) testing<br/>377 (2)<br/>Walkthroughs and inspections<br/>379 (3)<br/>Other testing strategies<br/>382 (1)<br/>Discussion<br/>383 (2)<br/>System (integration) testing<br/>385 (1)<br/>Bottom-up testing<br/>386 (1)<br/>Top-down development<br/>387 (3)<br/>Summary<br/>390 (6)<br/>Exercises<br/>391 (2)<br/>Answers to self test questions<br/>393 (2)<br/>Further reading<br/>395 (1)<br/>Softwar fault tolerance and exceptions<br/>396 (22)<br/>Introduction<br/>396 (3)<br/>Fault detection by software<br/>399 (3)<br/>Fault detection by hardware<br/>402 (3)<br/>Dealing with damage<br/>405 (2)<br/>Exceptions and exception handlers<br/>407 (3)<br/>Recovery blocks<br/>410 (3)<br/>N-version programming<br/>413 (1)<br/>The role of fault tolerance<br/>414 (1)<br/>Summary<br/>414 (4)<br/>Exercises<br/>415 (2)<br/>Answers to self test questions<br/>417 (1)<br/>Further reading<br/>417 (1)<br/>Software metrics and quality assurance<br/>418 (12)<br/>Introduction<br/>418 (1)<br/>Complexity metrics<br/>419 (3)<br/>Faults and reliability -- estimating bugs<br/>422 (1)<br/>Software quality<br/>423 (2)<br/>Quality assurance<br/>425 (1)<br/>Process improvement<br/>426 (1)<br/>The capability maturity model (CMM)<br/>426 (1)<br/>Summary<br/>427 (3)<br/>Exercises<br/>428 (1)<br/>Answers to self test questions<br/>429 (1)<br/>Further reading<br/>429 (1)<br/>Project management<br/>430 (19)<br/>Introduction<br/>430 (1)<br/>The challenge of project management<br/>431 (1)<br/>The ingredients of project management<br/>431 (1)<br/>Cost estimation<br/>432 (2)<br/>Team organization<br/>434 (7)<br/>Selecting tools and methods<br/>441 (1)<br/>Introducing new methods<br/>442 (1)<br/>The project plan<br/>442 (1)<br/>Peopleware<br/>443 (1)<br/>Summary<br/>444 (5)<br/>Exercises<br/>444 (1)<br/>Further reading<br/>445 (4)<br/>Part F Review <br/>Review<br/>449 (14)<br/>Introduction<br/>449 (1)<br/>Assessing and comparing development methods<br/>450 (2)<br/>Software tools<br/>452 (1)<br/>Software re-usability<br/>452 (1)<br/>The current state of methods<br/>452 (1)<br/>A single development method?<br/>453 (1)<br/>The real world of software engineering<br/>454 (3)<br/>The question of skill<br/>457 (1)<br/>The future of software engineering<br/>457 (1)<br/>Summary<br/>458 (5)<br/>Exercises<br/>459 (1)<br/>Further reading<br/>460 (3)<br/>Appendix: An introduction to Java 463 (4)<br/>A.1 Variables and assignment<br/>463 (1)<br/>A.2 Control structures<br/>464 (1)<br/>A.3 Methods<br/>464 (1)<br/>A.4 Summary<br/>465 (2)<br/>Index 467 <br/> |
546 ## - LANGUAGE NOTE | |
Language note | eng |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical Term | Software engineering. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical Term | Computer programming |
942 ## - ADDED ENTRY ELEMENTS | |
Item type | Book |
Withdrawn status | Lost status | Damaged status | Not for loan | Permanent Location | Current Location | Date acquired | Source of acquisition | Full call number | Accession Number | Copy number | Price effective from | Koha item type |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Mzumbe University Main Campus Library | Mzumbe University Main Campus Library | 03/10/2015 | FST MU | 005.1 BEL | 0079464 | 1 | 12/12/2022 | Book |