Software Development Process – How to Initiate?
I have been asked a question continuously from my colleagues and students.
“HOW TO START A SOFTWARE PROJECT DEVELOPMENT ? “
This questions is already answered in SDLC (Software Development Life Cycle) and Software Engineering Process. Still they cannot follow the process given.
I am trying to answer this query with my personal experience in the IT industry. The process listed below is based on SDLC itself but may not be perfect or standard. But this can help you to develop a software. BELOW PROCESS NEED TO CLARIFY OR STANDARDIZED FOR PRODUCTION USE.
- Gather requirement and list in your own format
- Question-Answer and Discuss the requirement to get better idea about about requirement, it can be called as Requirement Analyses.
- Now prepare a final requirement list after Requirement Analyses, define scope of requirement and also define out-of-scope requirement, You can prepare Functional Requirement Document or Business Requirement Document
- Planing for Hardware, Software Requirement and Other related support required to project like Email Server, File Server, Performance, and Security etc.
- Entity and their Attribute Identification
- Now prepare application flow or process flow.
- Prepare Wire-frame/Screen Prototyping/Screen Planning(not in working state, just design or sketch)
- Database Planning and Designing (try to following min 1NF, 2NF, 3NF normal forms)
- Application Architecture(Layers and there interaction/interfacing)
- Domain Classes(related with database tables)
- Database Connectivity Class(A common class that can handle all database interaction task)
- Create DAO + Unit testing (if required)
- Service Layer + Unit Testing
- Common Utility Feature Identification + Unit Testing like Date, Time, Export, Import, Search etc..( (if required))
- Fully functional(working) Graphical User Interface(GUI)
- Functional Testing (One by One Form/Report testing including Form/Report to Database level) [GUI to Database]
- Integration of all form in proper flow then test it, called Integration Testing
- Prepare Application Distribution(like setup, war, jar files)
- Deploy application at client environment(production env), called Implementation then again perform final testing.
Hope this process can help you to take a good start. Luck.