Monday, February 13, 2017

How good are you with programming?

Software developing what it takes?

Software development what is it? How can you develop a good software will just learning programming language do the trick?

The answer to above questions is no, software development is not just programming it is something more it is a process that you require many skills requirement gathering form customers to testing and maintenance it under goes many phrases.
in waterfall model software engineering has following phrases

  • Feasibility study
  • Requirement Gathering
  • Analysis
  • Design
  • Implementation
  • Testing
  • Maintenance 
First you need to gather requirements it is a very first stage of software development you have to collect all the needs of the company what they want how they want to implement it and what restrictions they have. You have to consider everything or you will regret it since you will be asked to do it all over. You need to find functional requirement, non functional requirement and constraints
Then the analysis & Design comes to place. In analysis you do SRS (System Requirement Specification) a document that say what are the functional requirement, what are the none functional requirement and constraints. in design  there are many ways but most common is UML (Unified modeling Language) where you will use diagrams like class diagram, sequence Diagram, Use Case Diagram etc.. to give many aspects of the system. you must have good understanding of UML since you will only get set of UML Diagram and no one will tell you what you need to do you need to see the UML and begin development so you must also be fluent with software engineering.  Farther more you need to know Database management Systems since you will need to design a Database for project and E-ER is one of the way of designing it. If you are a developer You will receive both UML Diagrams and E-ER from the analysis nothing more you have to look at the diagrams and make sense of it  
Yes you need to know programming to do software but not only that you need to know Software Engineering, UML , Database Management Systems. In major to development and some minor tings would be advantages like testing and so on.
So at the end you get a software product you are not done there might be some errors so you need to test them you need some testers or QA to test project and there are many methods of testing unit testing Integration Testing, White Box Testing, Black Box Testing, Alpha Testing Beta Testing So on. So testers need to know about this test and how they are done. So it is a team work of 7 phrases that make it to a good software
Best place to start is getting a degree on software engineering because you need to learn a lot about software development techniques and Database development

UML and E-ER are not something that you can learn from a book you can surely learn the theory but if you need to use it just like any skill you need to practice. Analyze hundreds of projects and Draw UML and E-ER diagrams for them. Only then you will know it well.