Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






Text A. SOFTWARE ENGINEERING

 

Software engineering is the discipline of designing high quality software solutions. Software consists of programs (sets of instructions for controlling a computer) and data (the material that has to be processed). Programs are written in computer languages by people called programmers. A systems analyst is a person who designs or modifies information systems to meet users' requirements. This includes investigating feasibility and cost, producing documentation, and testing prototypes of the system. Producing a program, therefore, involves a number of stages including:

a) clarifying the problem by considering the requirements of the potential users

b) designing the solution to the problem by first deciding on the overall structure of the solution

c) coding the program by first choosing an appropriate programming language and inputting the program code

d) testing and debugging the program (identifying and fixing any problems or

faults in the program code)

e) documenting and maintaining the program including writing instructions for using the program.

Systems analysts first need to talk to the people involved in the computing problem, including the people managing the system and the users or potential users of the system. They need to establish factors such as:

a) the nature of the problem

b) what systems already exist

c) to what extent any existing systems are computerised (changed so that they can be operated or controlled using a computer)

d) what output (the processed data or signals that come out of a computer system) will be required from the system

e) who will be using the system and what parts of the system they need to be able to use

f) the computing experience of the staff and what training would be required

g) what hardware (the physical components of a computer system) already exists and what would need to be added, including the specification of the hardware and whether a network system is required (a system where a number of computers and peripheral devices are connected together).

They then have to plan the structure of the solution and check it through with the people involved to make sure it meets their requirements. Next, they have to choose a suitable programming language and write the program (a set of instructions, written in a computer language, that control the behaviour of a computer), continually testing and adapting it until it works to the satisfaction of the customer and users. The system then has to be put into service and the users have to be trained. This involves documenting the program specifications and writing instructions for using the system.

Programming languages commonly use different structures for sequencing program instructions, including:

a) conditional instructions i.e. if a certain condition is true, then process this instruction (if X then Y). Decision tables are used to indicate how a conditional structure will process data. They show all the different inputs that might arise for each condition and the resulting outputs that would be produced by the conditional instruction.



b) iterations or loop instructions i.e. process these instructions repeatedly until or while a particular condition is true, or false (do ... until... or do ... while ...). Program flowcharts can be used to show the sequence of instructions in a program and are sometimes used for designing parts of programs such as iterations. Pseudocode is a method of writing a description of a computer program using a mixture of natural language and computer language code.

There are a large number of computer languages available for use by programmers. Each language is designed for use in solving particular types of problem and therefore has particular strengths and weaknesses. A systems analyst has to decide which language is most appropriate in each situation. Languages such as C++ are particularly suitable for writing systems programs (programs that are used to control the basic functions of a computer system e.g. operating system programs). Languages such as Visual Basic and Pascal are easy to use and are particularly suitable for learning how to program. FORTRAN is designed for solving engineering problems, COBOL for writing business programs, Ada for military purposes, Prolog and LISP for working in artificial intelligence (an area of computing concerned with developing computer programs that perform tasks that can normally only be done using human intelligence). Logo is particularly suited for use by young children. Some languages such as HTML and XML are markup languages rather than programming languages i.e. they use tag codes (labels) for marking text for use in programs such as Web browsers. Languages such as Java and Perl have a number of specialised uses including adding features to Internet connections and webpages (hyperlinked documents).

Converting to new computer systems can be done in different ways. Each strategy has its advantages and disadvantages. These include:

a) direct implementation where the old system is simply removed and the new system installed. In this strategy only one system is used at any one time but there is no fall back (alternative system that can be used if problems occur in the main system) if the new system does not operate properly.

b) parallel implementation where the old and the new systems are both used at the same time until the users are satisfied that the new system is working properly. The advantage is that if the new system does not operate properly, the old system is available as a fallback. The disadvantage is that two systems have to be maintained.

c) phased implementation where the old system is gradually replaced by the new system, one part at a time. The advantage is that people can gradually get used to the new system and certain problems can be dealt with as they arise. The disadvantage is that this method is more complex and time-consuming. In addition, there may be problems of incompatibility between the old and new systems.

d) pilot implementation where the new system is tried out in one section of the company to make sure that it works as required. The advantage is that problems can be identified and solved before the new system is implemented throughout the company. The disadvantage is that it takes longer to introduce the new system.

 


Date: 2015-01-02; view: 2209


<== previous page | next page ==>
Post-reading activity | Post-Reading activity
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.007 sec.)