This discussion is archived
8 Replies Latest reply: Mar 15, 2012 6:40 PM by 924281 RSS

Book suggestions on analysis and design

863676 Newbie
Currently Being Moderated
Hello all,

I hope I posted this on the right part of the forum. Quick background: I'm 26 years old, had a BSc in Electronics (minor programming modules) and now I'm doing a MSc in Computing (University of York). My father is a programmer (not very active right now to ask) and I've been "coding" since I was 7. I consider myself familiar with the overall techniques of programming, I have an analytical mind and I can express ideas into clear code (if that makes any sense). I'm mostly into Java the last couple of years since I did my dissertation using Java and my modules right now are using Java.

Well, my problem is that I don't feel like a have a deep background. I would classify myself as "I know how to write some good code" but I don't feel like a programmer sometimes. I think my main problem is analysis and design of programs, rather than coding the program itself. I've read Head First OO A&D which was a pretty good and easy book to follow, but I would like some more suggestions. I have a couple of books in mind I would like to read right now like Ian Sommerville's Software Engineering or Joshua Bloch's Effective Java (maybe a bit advanced for my taste, read a couple of chapters already).

Please suggest books that you seem fit, general purpose or specific I don't mind. Maybe there is a part of the programming process I haven't think of that I lack knowledge and experience. Anyway, thanks for your time :)
  • 1. Re: Book suggestions on analysis and design
    aksarben Journeyer
    Currently Being Moderated
    I'm sure you'll get plenty of different opinions, but at the very least, if you haven't gone thru the official Java on-line tutorial, you should likely start there. Perhaps some duplication, since you have some experience, but there will no doubt be new material, too.

    Another resource that's often recommended is the book "Head First Java."
  • 2. Re: Book suggestions on analysis and design
    gimbal2 Guru
    Currently Being Moderated
    santeron wrote:
    Maybe there is a part of the programming process I haven't think of that I lack knowledge and experience.
    That you will learn "on the job", not from a book or in a classroom.

    Since you liked Head First OOAD I see no reason why you wouldn't respond well to Head First Java 2nd edition, except for its price and volume maybe :) Perceptive people will notice it is written for Java 5 while we're already at Java 7 - that doesn't matter at all.

    Effective Java is certainly a recommended reading, but after you worked through a book on the language and tools first.
  • 3. Re: Book suggestions on analysis and design
    863676 Newbie
    Currently Being Moderated
    Thanks both for your replies. I have read Head First Java 2nd ed. already. As I said my major problem is not writing the code, but mostly how to structure it beforehand on paper (classes and connections between them to be clear and as much OO as I can). I think that is mostly A&D but that's why I needed your help. If I don't know something exists, I don't know that I don't know it :P
  • 4. Re: Book suggestions on analysis and design
    gimbal2 Guru
    Currently Being Moderated
    As I said my major problem is not writing the code, but mostly how to structure it beforehand on paper
    Don't you see how this very sentence contradicts itself? If you had no trouble writing the code, you wouldn't need designs on paper.

    And there is nothing wrong with that; we all start out that way and lots of us continue to need visual backup on paper for the rest of our careers. Its not about writing code, its about delivering a decent solution - that goes WAY beyond the code. Just wait until the realization hits you that epic code does not necessarily make for a solution that can easily be maintained, it will be an eye opener (that you have to experience first hand).

    For now, I would suggest you look into UML.
  • 5. Re: Book suggestions on analysis and design
    863676 Newbie
    Currently Being Moderated
    lol I didn't mean it like that. Of course I can write code and structure it in my head with no problem. I have never used an actual paper to do so (at least not for fairly easy programs). If you give me a layout or an algorithm I will probably have a decent solution pretty quickly. What I was trying to imply, maybe falsely, is that most of the times I have problem moving from clear specifications of a system to classes, interfaces etc. in a clear, modular, encapsulated OO design.
  • 6. Re: Book suggestions on analysis and design
    gimbal2 Guru
    Currently Being Moderated
    santeron wrote:
    lol I didn't mean it like that. Of course I can write code and structure it in my head with no problem. I have never used an actual paper to do so (at least not for fairly easy programs). If you give me a layout or an algorithm I will probably have a decent solution pretty quickly. What I was trying to imply, maybe falsely, is that most of the times I have problem moving from clear specifications of a system to classes, interfaces etc. in a clear, modular, encapsulated OO design.
    We are talking about exactly the same thing. And yes what you talk about is very difficult and can hardly be taught from a book or in a classroom. Really, it takes years of experience before you get to that point where you can comfortably lay down a proper OO design based on functional and technical specs.

    Modeling techniques like UML can really help, but don't expect to be able to lay down a proper system design because of it. As said, that goes way beyond code or even "an application". Its that fun area where you start to talk about process flows and human and automated tasks and such. Fun fun.
  • 7. Re: Book suggestions on analysis and design
    863676 Newbie
    Currently Being Moderated
    Haha I see you point. I have a module this semester called Software Engineering and they are teaching us OOA&D using UML i think. So that could be a good start. Thanks for your time gimbal2 :)
  • 8. Re: Book suggestions on analysis and design
    924281 Newbie
    Currently Being Moderated
    I can suggest book of Listov Guttag, "Program Development in Java", it's very helpful about analysis and design.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points