Go to Home page

Go to Purchase page

Go to Download page

Go to Support page

Go 
 to About us page

Index | Development | Archive | My Photos | Credits | Contact Us


Software Design - the learning process.

Note: Alpha and pre Alpha have basically been merged together.
I intend to create a product with which I can then later change and focus better on the results personally.

This is just my personal software that I shall test and report on.

Alpha

  1. Features and ideas
    • design and development - what's good, but not
    • gimmicky - prototyping
    • gen. testing - fix small bugs to make it run without
    • major stress testing
    • Start up the website to show "in progress."
  2. Complete modules
    • confirm of layout design
    • gen. testing - fix small bugs to make it run without major stress testing
  3. Communication of modules
    • Add features for communication
    • complete parts - to work at a satisfactory std
    • Smoke testing - make sure everything does the job with correct data
    • A little stress testing to cover all parts of program are OK
  4. Rethink of software so far (Feature complete, but not design complete)
    Note: This was a process I didn't initially think about, but the concept of "half time break" to analyze a working model and then reorganize that with even the concept of removing stuff done has now provided a program that is even easier to build on and improve later

    • Redesign main pages to allow future development. - Streamlining
    • Redevelop the main section pages to increase legible code and make faster loading times
    • For improvements to parts of program, copy the shell to private projects and bring in part by part of the original code as needs be.
    • Static code analysis - check over and streamline code
    • Increase the stress testing level to push with data that probably might break it.
    • Assessment of program so far and what or where features for the future could go.
    • Website design - decided to create this here just as an initial site to exist.
    • Help manual - started to create a manual style help. Initially logging down the main aspects, to later be rearranged into some kind of order.
  5. Add more features and more communication to shape together better
    • Optimize and code clean
    • Adding extra little features to make the process and general use much easier.
    • testing with stress testing intention to fail
    • Help file - complete. This is possible as the program will not be changed drastically.
  6. Code freeze - refactoring
    • Optimize and code clean
    • Static code analysis
    • Negative testing - major testing to fail program
    • boundary values - min max
    • wrong characters - num/ ASCII

Beta

This will be for public release, but still in testing phase.

NOTE: I decided to move the code cleaning and fine tuning to after I get feedback on the stability of the current beta 1 release.

  1. first public rel - make sure in this version that the program runs well in all environments before inclusion of new code.
    • feedback on errors.
    • monitoring the amount of purchases at this level is worth noting.
    • Optimize and code clean
    • fine tuning and fluency
    • If program runs fast and clean with no bugs then go to next stage

      As it stands this is where the program is in development

  2. second public rel
    • feedback on errors and features to be taken into consideration
    • Inclusion of new features.
    • monitoring the amount of purchases at this level is worth noting.
  3. third public rel
    • feedback on errors and features to be taken into consideration
    • monitoring the amount of purchases at this level is worth noting.

RC

Done, but still chances of fixes and changes.

  1. To reach this point will result in a smooth running and profitable product with no need to program
    1. promotion on web about product

Gold

This will be the final version of the commercial product.

  1. Promotion of software
    • Next version: ideas and feedback gained
    • pick out and develop most requested

Who am I?

I am a programmer first by hobby. I have been making software for the best part of 10 years. Before that I did a course in Video and Audio Engineering at Salford University, Manchester, UK. As with some courses you could say it was a bit "Jack of all trades, master of none. I did learn management and software design, which I would say helped the most, considering the programming education level wasn't that high.

As yet I never planned the whole process when designing software properly. To the point of part by part of the software being released (sometimes too early), so this is a learning experience. I guess you could say I put a car chassis in the car show room with just an engine "

...the rest to come later.


Defining the elements

I first looked through many other software claiming to be a the best organizer for you. I noticed that the definition of what a task and an event seemed to be so close that for many developers seemed to merge them together. I went to thefreedictionary.com and below is what I found. This helped to map controls and functions to help define better.

Event:
a. Something that takes place; an occurrence.
b. A significant occurrence or happening.
c. A social gathering or activity.

task:
a. A piece of work assigned or done as part of one's duties.
b. A difficult or tedious undertaking.
c. A function to be performed; an objective.

reference:
http://www.thefreedictionary.com


History.

The time period for the first three modules started in September 2008 when I pulled down my website hosting many small programs including a Journal, planner, word processor, slide show and web page editor. More history on these can be found at the main archive section.

This was very confusing with multiple software running with the same, sometimes different problems, was eventually too much, so I simplified the whole setup to just one title.

Most of that time was spent merging the titles into one, because separate programs will obviously grow and develop differently, no matter how hard you try.

My setup includes two machines. I have my laptop to create and develop the software. My second machine is at work, where I actually use the alpha software with my teaching material (backups always are a good thing; at least once a day).

I prefer using real data as it brings real situations. Obviously when it comes down to hard and critical testing then fake and negative data will be applied.


Need help with your project?

If you also are a programmer then I would point you in the direction of using Wikipedia on designing and testing methods. As well as Wikipedia, Google helps too. I am making my schedule available as I never found any on the Internet and others would have helped me greatly. To the left is my schedule. As yet its not complete, so up to the marker is what I have done so far.

All opinions are welcome. I hope this helps you with your software planning.



Copyright 1999 - 2010 EffectiveAspects.com All Rights Reserved.