Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Software Development and Professional Practice

Buy

What’s this book all about? Well, it’s about how to develop software, from a personal perspective. We’ll look at what it means for you to take a problem and produce a program to solve it from beginning to end. That said, this book focuses a lot on design. How do you design software? What things do you take into account? What makes a good design? What methods and processes are there to designing software? Is designing small programs different from designing large ones? How can you tell a good design from a bad one?

Next, it’s about code construction. How do you write programs and make them work? “What,” you say? “I’ve already written eight gazillion programs! Of course I know how to write code!” Well, in this book, we’ll explore what you already do, and we’ll investigate ways to improve on that. We’ll spend some time on coding standards, debugging, unit testing, modularity, and characteristics of good programs. We’ll also talk about reading code and what makes a program readable. Can good, readable code replace documentation? How much documentation do you really need?

Third, it’s a bit about software engineering, which is usually defined as “the application of engineering principles to the development of software.” What are “engineering principles?” Well, first, all engineering efforts follow a defined process. So we’ll be spending a bit of time talking about how you run a software development project and what phases there are to a project. All engineering work has a basis in the application of science and mathematics to real-world problems. So does software development. As I said already, we’ll be spending a lot of time examining how to design and implement programs that solve specific problems.

By the way, there’s at least one person (besides me) who thinks software development is not an engineering discipline. I’m referring to Alistair Cockburn, and you can read his paper, “The End of Software Engineering and the Start of Economic-Cooperative Gaming” at http://alistair.cockburn.us/The+end+of+software+engineering+and+the+start+of+economiccooperative+ gaming.

Finally, this book is about professional practice, the ethics and the responsibilities of being a software developer, social issues, privacy, how to write secure and robust code, and the like. In short, those fuzzy other things one needs in order to be a professional software developer.

This book covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice (www.acm.org/education/education/curricularecommendations). It is designed to be both a textbook and a manual for the working professional. Although the chapter order generally follows the standard software development sequence, one can read the chapters independently and out of order. I’m assuming that you already know how to program and that you are conversant with at least one of Java, C, or C++. I’m also assuming you are familiar with basic data structures, including lists, queues, stacks, maps, and trees, along with the algorithms to manipulate them.

(HTML tags aren't allowed.)

Java Performance Tuning
Java Performance Tuning
No matter what language they're programming in, developers always wish things would run faster! Especially when writing mission-critical applications, no one wants to be limited by the programming environment.
Java Performance Tuning provides all the details you need to know to "performance tune" any type of Java program
...
Africa's Turn? (Boston Review Books)
Africa's Turn? (Boston Review Books)
In the West, Africa’s image seems forever torn between two false extremes: Politically Correct Positive and Stereotypically Negative. Those who promote the first want to persuade us that poverty and bad government are not as bad as they seem in Africa, so a little bit of outside aid and advice can cause rapid change for the better. Those who...
The iPhone Developer's Cookbook: Building Applications with the iPhone SDK (Developer's Library)
The iPhone Developer's Cookbook: Building Applications with the iPhone SDK (Developer's Library)
The iPhone and iPod touch aren’t just attracting millions of new users; their breakthrough development platform enables programmers to build tomorrow’s killer applications. If you’re getting started with iPhone programming, this book brings together tested, ready-to-use code for hundreds of the challenges you’re most likely...

Optimizing C ++
Optimizing C ++
Written in an exceptionally clear style that doesn't skimp on technical detail, Steve Heller's guide offers several high-performance search and data-compression algorithms, which are all you need to add speed to C++. Early sections of the book address the advantages of optimizing C++, which the author considers something of a lost art. Instead of...
Mastering Crystal Reports 9
Mastering Crystal Reports 9

Mastering Crystal Reports 9 covers basic reporting skills, but its main purpose is to give you the complete coverage other books don’t offer. You’ll not only thoroughly learn the powerful features of Crystal Reports 9, but also how to develop custom applications to meet the specific needs of your organization. With...

Practical API Design: Confessions of a Java Framework Architect
Practical API Design: Confessions of a Java Framework Architect
You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework...
©2019 LearnIT (support@pdfchm.net) - Privacy Policy