Hi all,

Actually, this question is not related to some coding or logic from my project. But, as I am doing hard and harder projects (acc. to me & my exp.), I am focussing more on design part of my projects. When I present my design to team members for the feature I have started working to get sign-off from the team, what things I should keep in my mind?

Can we have this thread helpful to every developer by jotting down things we should keep in mind for succesful execution of a design phase? As we have highly experienced people here, they can share how to approach a design of any feature. ** What should we include in HLD & in LLD? **

I am majorly concerned about the phases before the implementation phase like requirement gathering, design (LLD, HLD) etc. I always create a wiki before the meeting with the flow diagrams & requirements for the feature & I lock them till the project completion. what is the exact difference in HLD & LLD? How should we present to the team members so that in less time, they should get about the feature aim, what I am going to change, impact, metrics etc.

Note: I know the definiton, difference which we read in our college software engineering books. If we can have practial, real - life experiences, that would really help. :)

Thanks in advance.

Recommended Answers

All 2 Replies

I never do a software project before I model it in UML, including class design, state machines, work/process flows, etc. The visual components of this provide a very good view of what your system is doing, how stuff is related and interacts, etc. My favorite tool for this is Sparx Enterprise Architect. Not expensive, but very complete, including for the use-case and requirements tracking stuff. FWIW, I have been using Sparx EA for over 10 years now...

I'll second the vote for UML. Especially use cases -> component diagrams -> class diagrams -> sequence diagrams (the last 3 in iterative loops of course). For low level design I'm more a fan of Scrum (I was principle consultaint in Easel when Jeff Sutherland championed it) - it's an anti-low-level-design philosophy. I see little point in creating something that maps 1-1 with actual code, so let's just get something working and show it to the user reps.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.