473,509 Members | 2,863 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Application Development Guidelines

Breezwell
33 New Member
Hi everyone,

Quick question regarding application development guidelines.

After working for a few months on developing an Access-based search tool, I have found that I may not have planned the whole project as well as I could initially.

Having no formal training in software development methodologies, I was wondering if anyone could recommend some good reading on the topic or point me to some templates / checklists. I have discovered SRS (Sofware Requirements Specifications) templates, but am not sure if this all I need. In the future, I would like to be able to organize my development projects better and, most importantly, document my work as I progress in a more professional manner on all levels concerning the development process.

Thanks for any suggestions.
Dec 17 '08 #1
7 2289
Breezwell
33 New Member
Well, after doing some research, it appears I have been actually applying Agile development techniques to my projects without knowing it. This feels like a natural approach to me, so I guess I will stick with it as the issues I considered 'problems' turn out to actually be actual iterations in the philosophy.
Dec 18 '08 #2
Frinavale
9,735 Recognized Expert Moderator Expert
I was required to write a Software Requirements Specifications for an application I developed for university. It was over 170 pages long.............for a web site application.

Although SRS is a great way to outline the specifications your application has to meet I don't think they are required unless you are developing something important: like avionics landing gear, a nuke missile launch application or something.

They are a lot of work...in fact I think I did more work on the SRS than I did on the entire web application.

I also can see some limitations to them.
Although they outline what the application should do, the programmer is still left up to guess what that really means:

"There shall be a menu that lists A, B, C, and D"

What does that mean really? Where does the menu go, how does the menu link together...etc.

The other thing that I didn't particularly like about them was that you can constrict yourself by specifying too many requirements.

I honestly did not like this approach.
I can see how they could be used for applications that are critical, but they are too extreme for regular development.
Dec 18 '08 #3
Breezwell
33 New Member
Frinavale

The more I delve into software design and programming, the more I would agree 100% with what you have said.

Not having known what an SRS even was when I started working on this project probably saved me considerable time. I have spent some time 'looking back' at the initial stages of the applications development trying to figure out how I would have written an SRS. Based on the numerous diversions and changes in priorities / capabilities / users along the way, there is absolutely no way I could have written an SRS that would come close to outlining and specifying what I would need just to get to this preliminary stage.

My code is commented to the point of probably being annoying, but I feel it is something that can be handed off and utilized better than a lengthy manuscript. I am thinking I would rather spend my time writing a nice, direct and continuously updated user manual than SRS's in the future for smaller application projects.

Thanks for the feedback
Dec 21 '08 #4
r035198x
13,262 MVP
Let me point out just one important rule of software development.

Code to the interface rather than to the implementation.

Aninterface is a specification of what is available without any reference as to how those things are made available. System specifications are often mistook for interfaces. Instead, they are usually less general and contain implementation details which cloud the mind when trying to specify just the system interface.

Most system "changes" result in software designed with implementation details in mind rather than just the general contract of the software. With a more general design, those changes would simply become additions of implementation within the same original specification . A trivial example is a specification which says that "clicking the help button on page x should display a help message saying y". The more general specification for this is that the system should have context sensitive, user configurable help.

The key point in all this rambling is that system specs are evil during application design. Read them only to extract a very general interface of what the system does and use that for the application design. You only open the specs again when you have finished all of your application's base (i.e base objects, model objects, front to back connectivity objects, e.t.c).
Dec 22 '08 #5
Frinavale
9,735 Recognized Expert Moderator Expert
@r035198x
That advise would have been useful a couple of years ago when I was developing that web application.
Dec 22 '08 #6
Breezwell
33 New Member
So when we talk about interface vs. implementation, is it correct to view application frameworks basically as an implementation level from a 'routine software requirements' level? Connecting to the database, creating basic objects, etc. While on the other hand, the interface level would be such work as creating the database schemas, table joins, business logic, etc.?

It makes much more sense from a development perspective when you break this out into these two 'camps'.

Thanks for the great feedback!
Dec 22 '08 #7
r035198x
13,262 MVP
Choosing a framework decides how to do things so it's an implementation decision. If you change a framework you don't change what can be done (interface) but you do change how you do those same things.

The rule should be applied even when creating database schemas and business objects as well. In fact the rule applies at any level of software development even when declaring methods and fields.
Dec 23 '08 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

1
1366
by: Sheri | last post by:
Our working environment traditionally has a new project (application) that has multiple developers within the development of that project. I need to know the best way to start development. Is it...
2
2267
by: Yang Pang | last post by:
I have a project where the GUI is in VB.NET, the libraries in unmanaged C++ which is wrapped in managed C++ and compiled as DLL. The application runs fine on Windows 2000 with VC++ development...
1
3113
by: Carl | last post by:
Help!! What are the best concepts / startegies to deploy an ASP.NET web application? My idea is work first in Production PC then after completing the project deploy it on the Web Server. But...
2
1799
by: Amelyan | last post by:
Could anyone recommend a book (or a web site) that defines best practices in ASP.NET application development? E.g. 1) Precede your control id's with type of control btnSubmit, txtName, etc. 2)...
2
1145
by: Yoav Shtainman | last post by:
I am looking for .NET (VB, ASP and C#) development standards in term of code style, Naming conversion, code documentation, etc. If you know of this kind of document or you can share the one you...
4
1145
by: Vivek Sharma | last post by:
Hi There, I am about to develop a windows application. I was wondering if there is any set of general guidelines I should be following when developing a windows application? Is there a...
9
2253
by: pauldepstein | last post by:
The problem with learning from c++ texts is that the coding examples are very small. To prepare for a workplace setting, I would think a person needs access to huge coding projects that occur in...
3
3209
by: Asim Qazi | last post by:
Hi all, I am trying to do some work like the All antivirus software do. -i-e LIVE UPDATE. for my software, wot is the starting point or any guidelines to start this thing ... I always did the...
3
4386
by: robtyketto | last post by:
Im a student and in preparation for a testIve been given the test questions (or thereabouts, they may be asked in different words or from another perspective). I've been told that they do not...
0
7137
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7416
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7506
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5656
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5062
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3207
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1571
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
779
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
443
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.