close menu
Bookswagon-24x7 online bookstore
close menu
My Account
25%
Beginning Software Engineering

Beginning Software Engineering

5       |  6 Reviews 
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

A complete introduction to building robust and reliable software

Beginning Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside!

  • Describes in plain English what software engineering is
  • Explains the roles and responsibilities of team members working on a software engineering project
  • Outlines key phases that any software engineering effort must handle to produce applications that are powerful and dependable
  • Details the most popular software development methodologies and explains the different ways they handle critical development tasks
  • Incorporates exercises that expand upon each chapter's main ideas
  • Includes an extensive glossary of software engineering terms


Table of Contents:

Introduction xxi

PART I: SOFTWARE ENGINEERING STEP‐BY‐STEP

CHAPTER 1: SOFTWARE ENGINEERING FROM 20,000 FEET 3

Requirements Gathering 4

High‐Level Design 5

Low‐Level Design 6

Development 6

Testing 6

Deployment 8

Maintenance 9

Wrap‐up 9

Everything All at Once 10

Summary 11

CHAPTER 2: BEFORE THE BEGINNING 15

Document Management 16

Historical Documents 18

E‐mail 19

Code 21

Code Documentation 22

Application Documentation 25

Summary 25

CHAPTER 3: PROJECT MANAGEMENT 29

Executive Support 30

Project Management 31

PERT Charts 33

Critical Path Methods 38

Gantt Charts 41

Scheduling Software 42

Predicting Times 42

Get Experience 44

Break Unknown Tasks into Simpler Pieces 44

Look for Similarities 45

Expect the Unexpected 45

Track Progress 46

Risk Management 47

Summary 49

CHAPTER 4: REQUIREMENT GATHERING 53

Requirements Defined 54

Clear 54

Unambiguous 55

Consistent 56

Prioritized 56

Verifiable 60

Words to Avoid 60

Requirement Categories 61

Audience‐Oriented Requirements 61

Business Requirements 61

User Requirements 62

Functional Requirements 63

Nonfunctional Requirements 63

Implementation Requirements 63

FURPS 64

FURPS+ 64

Common Requirements 66

Gathering Requirements 67

Listen to Customers (and Users) 67

Use the Five Ws (and One H) 68

Who 68

What 68

When 69

Where 69

Why 69

How 69

Study Users 70

Refining Requirements 71

Copy Existing Systems 71

Clairvoyance 73

Brainstorm 74

Recording Requirements 76

UML 77

User Stories 77

Use Cases 78

Prototypes 78

Requirements Specification 80

Validation and Verification 80

Changing Requirements 80

Summary 81

CHAPTER 5: HIGH‐LEVEL DESIGN 87

The Big Picture 88

What to Specify 89

Security 89

Hardware 90

User Interface 91

Internal Interfaces 92

External Interfaces 93

Architecture 94

Monolithic 94

Client/Server 95

Component‐Based 96

Service‐Oriented 97

Data‐Centric 97

Event‐Driven 97

Rule‐Based 98

Distributed 98

Mix and Match 99

Reports 101

Other Outputs 102

Database 102

Audit Trails 103

User Access 103

Database Maintenance 104

Confi guration Data 104

Data Flows and States 105

Training 105

UML 105

Structure Diagrams 107

Behavior Diagrams 109

Activity Diagrams 110

Use Case Diagram 111

State Machine Diagram 112

Interaction Diagrams 113

Sequence Diagram 113

Communication Diagram 114

Timing Diagram 115

Interaction Overview Diagram 115

Summary 116

CHAPTER 6: LOW‐LEVEL DESIGN 119

OO Design 120

Identifying Classes 121

Building Inheritance Hierarchies 122

Refinement 123

Generalization 125

Hierarchy Warning Signs 126

Object Composition 127

Database Design 127

Relational Databases 128

First Normal Form 130

Second Normal Form 134

Third Normal Form 135

Higher Levels of Normalization 137

Summary 138

CHAPTER 7: DEVELOPMENT 143

Use the Right Tools 144

Hardware 144

Network 145

Development Environment 146

Source Code Control 147

Profilers 147

Static Analysis Tools 147

Testing Tools 147

Source Code Formatters 147

Refactoring Tools 148

Training 148

Selecting Algorithms 148

Effective 149

Efficient 149

Predictable 151

Simple 152

Prepackaged 152

Top‐Down Design 153

Programming Tips and Tricks 155

Be Alert 155

Write for People, Not the Computer 156

Comment First 157

Write Self‐Documenting Code 159

Keep It Small 160

Stay Focused 161

Avoid Side Effects 162

Validate Results 163

Practice Offensive Programming 165

Use Exceptions 166

Write Exception Handers First 167

Don’t Repeat Code 167

Defer Optimization 167

Summary 169

CHAPTER 8: TESTING 173

Testing Goals 175

Reasons Bugs Never Die 175

Diminishing Returns 175

Deadlines 175

Consequences 176

It’s Too Soon 176

Usefulness 176

Obsolescence 177

It’s Not a Bug 177

It Never Ends 177

It’s better than Nothing 178

Fixing Bugs Is Dangerous 178

Which Bugs to Fix 179

Levels of Testing 179

Unit Testing 179

Integration Testing 181

Automated Testing 182

Component Interface Testing 183

System Testing 184

Acceptance Testing 185

Other Testing Categories 185

Testing Techniques 186

Exhaustive Testing 186

Black‐Box Testing 187

White‐Box Testing 188

Gray‐Box Testing 188

Testing Habits 189

Test and Debug When Alert 189

Test Your Own Code 189

Have Someone Else Test Your Code 190

Fix Your Own Bugs 192

Think Before You Change 193

Don’t Believe in Magic 193

See What Changed 193

Fix Bugs, Not Symptoms 194

Test Your Tests 194

How to Fix a Bug 194

Estimating Number of Bugs 195

Tracking Bugs Found 195

Seeding 197

The Lincoln Index 197

Summary 198

CHAPTER 9: DEPLOYMENT 203

Scope 204

The Plan 204

Cutover 206

Staged Deployment 206

Gradual Cutover 206

Incremental Deployment 208

Parallel Testing 209

Deployment Tasks 209

Deployment Mistakes 210

Summary 211

CHAPTER 10: METRICS 215

Wrap Party 216

Defect Analysis 216

Kinds of Bugs 217

Discoverer 217

Severity 217

Time Created 218

Age at Fix 218

Task Type 218

Ishikawa Diagrams 219

Software Metrics 222

Qualities of Good Attributes and Metrics 223

Using Metrics 224

Process Metrics 226

Project Metrics 226

Things to Measure 227

Size Normalization 229

Function Point Normalization 231

Count Function Point Metrics 232

Multiply by Complexity Factors 232

Calculate Complexity Adjustment Value 233

Calculate Adjusted FP 235

Summary 235

CHAPTER 11: MAINTENANCE 241

Maintenance Costs 242

Task Categories 243

Perfective Tasks 244

Feature Improvements 245

New Features 245

The Second System Effect 245

Adaptive Tasks 247

Corrective Tasks 248

Preventive Tasks 251

Clarification 252

Code Reuse 253

Improved Flexibility 254

Bug Swarms 254

Bad Programming Practices 255

Individual Bugs 256

Not Invented Here 256

Task Execution 256

Summary 257

PART II: PROCESS MODELS

CHAPTER 12: PREDICTIVE MODELS 265

Model Approaches 266

Prerequisites 267

Predictive and Adaptive 267

Success and Failure Indicators 268

Advantages and Disadvantages 268

Waterfall 270

Waterfall with Feedback 271

Sashimi 272

Incremental Waterfall 273

V‐Model 275

Systems Development Life Cycle 276

Summary 280

CHAPTER 13: ITERATIVE MODELS 283

Iterative Versus Predictive 284

Iterative Versus Incremental 286

Prototypes 287

Types of Prototypes 288

Pros and Cons 289

Spiral 290

Clarifications 293

Pros and Cons 294

Unified Process 295

Pros and Cons 296

Rational Unified Process 297

Cleanroom 298

Summary 299

CHAPTER 14: RAD 303

RAD Principles 305

James Martin RAD 308

Agile 309

Self‐Organizing Teams 311

Agile Techniques 313

Communication 313

Incremental Development 314

Focus on Quality 316

XP 317

XP Roles 318

XP Values 319

XP Practices 319

Have a Customer on Site 320

Play the Planning Game 320

Use Standup Meetings 321

Make Frequent Small Releases 322

Use Intuitive Metaphors 322

Keep Designs Simple 322

Defer Optimization 322

Refactor When Necessary 323

Give Everyone Ownership of the Code 323

Use Coding Standards 324

Promote Generalization 324

Use Pair Programming 324

Test Constantly 324

Integrate Continuously 325

Work Sustainably 325

Use Test‐Driven and Test‐First Development 325

Scrum 327

Scrum Roles 327

Scrum Sprints 328

Planning Poker 329

Burndown 330

Velocity 331

Lean 332

Lean Principles 332

Crystal 333

Crystal Clear 335

Crystal Yellow 336

Crystal Orange 337

Feature‐Driven Development 338

FDD Roles 338

FDD Phases 340

Develop a Model 340

Build a Feature List 340

Plan by Feature 341

Design by Feature 341

Build by Feature 342

FDD Iteration Milestones 342

Agile Unified Process 343

Disciplined Agile Delivery 345

DAD Principles 346

DAD Roles 346

DAD Phases 347

Dynamic Systems Development Method 348

DSDM Phases 348

DSDM Principles 349

DSDM Roles 350

Kanban 351

Kanban Principles 352

Kanban Practices 353

Kanban Board 353

Summary 355

Appendix: Solutions to Exercises 361

Glossary 417

Index 437


Best Seller

| | See All

Product Details
  • ISBN-13: 9781118969144
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Wrox Press
  • Depth: 32
  • Language: English
  • Returnable: N
  • Weight: 816 gr
  • ISBN-10: 1118969146
  • Publisher Date: 24 Apr 2015
  • Binding: Paperback
  • Height: 234 mm
  • No of Pages: 480
  • Spine Width: 31 mm
  • Width: 191 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

5       |  6 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
5       |  6 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Beginning Software Engineering
    John Wiley & Sons Inc -
    Beginning Software Engineering
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Beginning Software Engineering

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals

      | | See All


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA