A computer programmer designs software programs through building logical work flow charts, the functionality of which is translated into one of several languages that computers can understand. In the majority of cases, the computer programmer also designs a graphical user interface (GUI) so that non-technical users can run the software through easy, point-and-click, menu-oriented modules. The GUI acts as a translator between the user and underlying software code, negating the need to know the command line structure of the language. Generally, there are five basic stages of development that a computer programmer addresses in designing software. They are defining the need, designing a flowchart, coding the software, debugging and beta testing. The first stage of development necessitates good interpersonal skills on. During the second stage of development the computer programmer uses analytical thinking to logically layout a flow chart. Contingencies must be built into the design so that potentially unforeseen circumstances are accounted for. This could mean constructing alternate data flows or popup error messages that instruct the user. When the design is complete the computer programmer converts the functionality of the flow chart into computer code.
There are hundreds of programming languages, including Perl, Java, Visual Basic, FORTRAN, Apple Script and D, which most programmers specialize in several families. This stage of software development is commonly done solo, though multiple programmers might work on different aspects of large computer programs. When the initial software is completed it goes through a debugging stage. Bugs are flaws in the program that cause it to fail, crash, hang, return a false result, or behave in an undesirable fashion. Debugging is a very intense stage of development that can take hundreds of hours. After a stable release has been issued, the attention turns to improvements. Invariably once software is applied refinements can be made to make it more efficient or easier to use.
The system analyst is the person (or persons) who guides through the development of an information system. In performing these tasks the analyst must always match the information system objectives with the goals of the organization. It includes system's study in order to get facts about business activity. It is about getting information and determining requirements. Here the responsibility includes only requirement determination, not the design of the system. Analyst is also responsible for the designing of the new system or application. Here Analyst is also required to perform as a programmer, where he actually writes the code to implement the design of the proposed application. Due to the various responsibilities that a system analyst requires to handle, he has to be multifaceted person with varied skills required at various stages of the life cycle. They must have Business skills, technical skills and soft skills to be successful. He is the person who is responsible to deal with the customers and gather his requirements. He gathers the information about the key requirements of customer by asking questions, writing down the answers, organizing mock interview with the customers etc. He prepares the analysis model to achieve three primary objectives. To describe what the customer requires.
To establish a basis for creation of software design. To define a set of requirements that can be validated once the software is built. He collaborates a set of requirements that can be established during earlier requirement engineering tasks and build model that depict user scenarios, functional activities, problem classes and their relationships, system and classes’ behavior and flow of data as it transformed. In early stages he focuses on what and not how. He decides what objects must system manipulate, what function must the system performs, what behavior...