You are on page 1of 5

INCLUSIVITY Inclusive software should take into account the different users who will likely use the

product; as software developers, we have the responsibility to ensure that this is the case. The need for software design and development to be inclusive Cultural Background It is important that the beliefs and language of different cultures be considered when designing software. Economic Background As software developers, we have a responsibility to ensure consideration is given to the economic situation of purchasers of software products. Quality A software product developed for a single user cannot economically be produced to the same quality standards as one produced for the global market. A balance must be found between cost and quality. Influences on pricing Competition and in some cases government regulation can assist in ensuring software products are sold at realistic prices and are within the financial grasp of a wide audience. Nature of Market As software developers, we should acknowledge that some market needs are better met by non-computer based solutions. Gender Both men and women should be included in the software design and development process Disability Visual disabilities both men and women should be included in the software design and development process Physical disabilities Some users have difficulty performing certain physical tasks. They may not be capable of using a mouse or they may find it difficult to reliably press a single key on the keyboard. ERGONOMICS The term ergonomics refers to the study of the relationship between people and their work environment. Effects of prolonged use of software: RSI Procedures to prevent and minimize injury: lighting, indoor climate, noise. Ergonomically placed furniture: desk, chair Keyboard should be same height as elbow with wrist slightly bent. Mouse should be adjacent and the same height of the keyboard. Chair should be fully adjustable with lumbar support in small of the back. Elbows should be slightly more than 90 degrees. Poor ergonomics in the workplace reduces workers productivity and can cause health issues. The most common and most debilitating computer-usage health issue is Repetitive Strain Injury (RSI). Other health issues involve general muscle strain

and vision problems. Ergonomics for computer users includes the design and placement of equipment together with procedures to prevent and minimise injuries. CONSISTANCY Buttons should be placed in consistent places on all screens. Using interface elements correctly Using colour appropriately Using fonts correctly SOFTWARE PRIVACY Privacy is about protecting an individuals personal information. Personal information is any information that allows others to identify you. SOFTWARE LICENCE AGREEMENTS Software licences are intended to enforce the intellectual property rights of software developers. These licence agreements are enforceable by law. Software licence agreements also protects developers from legal action should their products result in hardship or financial loss to purchasers. Intellectual property (IP) refers to creations of the mind: inventions, literary and artistic works, and symbols, names, images, and designs used in commerce while a software license agreement is a software license agreement is a contract between the "licensor" and purchaser of the right to use software. SOFTWARE DEVELOPMENT APPROACHES Defining the problem Manager of the business and systems analyst discuss the problems faced with the current system. From these discussions, comes a document that clearly states the requirements of the new system. Planning the solution This phase has to identify the needs of the user. Processes and procedures of the existing system are observed in order to determine how the inputs are going to be converted into outputs. This is conducted through tools such as interviews, questionnaires and observations. Implementing the solution The next step in the method of software development is to hand over specifications to the design team. They will break the required processing up into smaller pieces called modules to ensure that those responsible for the design of the processing steps have a small, understandable process to work on. Each module is then turned into a set of steps, known as an algorithm. The algorithms are then passes on to the programmer for coding. Testing and evaluating The checking procedure is designed to detect errors. This makes the task of finding errors in the later stages much easier. Once this is completed, the program is ready for the customer. Maintaining the solution When the new system is in place, continual evaluation by users takes place to determine whether it meets the requirements. COPYRIGHT LAWS The copyright law exists so as to govern the legality of ownership of an original

work including the right to copy, adapt and distribute the work. Other users need authorisation from the owner. Categories of computer software include Operating software Provides the computer with programs that allow it to communicate with the outside world and manage its resources. Utility software Allows the user to perform simple tasks such as formatting disks, deleting files and searching through files. Mass produced programs. Custom software eg airline booking system. Ease of software Navigation between screens should follow the natural flow of the task. Screen elements that are logically connected should be grouped together. Applications should support both novice and experienced users. Embed shortcut keys. Tab dialogues are bad, because they are difficult for the user to navigate. Inappropriate use of icons: If the icon does not easily suggest the operation then it should not be used. REQUIRED SKILLS IN SOFTWARE DESIGN AND DEVELOPMENT Communication skills Ability to work in teams Creativity: developing original ideas. Design skills Problem-solving skills Responsibilities of a programmer using 3rd party sources Make sure they have permission. Reference the location where you got the code.

ELEMENTS OF HARDWARE IN COMPUTING SYSTEM INPUT: Keyboards, mouse, scanners. PROCESSING: CPU is responsible for processing and control. CONTROL: CPU is made up of the control unit, the arithmetic logic control unit and registers. STORAGE: Primary storage stores data and programs before and after they have been processed by the CPU. Main ones are RAM and ROM. Secondary: CDR, USB, floppy. OUTPUT Monitor, printer, speakers. STORAGE Primary It includes the registers within the CPU, cache, physical RAM, ROM and virtual memory. primary memory is volatile, meaning it only temporarily holds data whilst the

power is on. (ROM) chips are used within the computer to store permanent instructions required to start-up or boot the computer. Secondary The contents of secondary storage remains when the power is turned off. Most common secondary storage devices are USB, CD/DVD and hard disks. TRANSISTORS Transistors are essentially switches, just like a light switch. They either allow current in the form of electrons to flow or not flow. The difference between a light switch and a transistor is that a transistor is switched on and off by an electrical current. FETCH EXECUTE CYCLE

Processing of software instructions by hardware: the 'fetchexecute' cycle The fetch execute cycle can be divided up into nine steps: 1. fetching the instruction from primary storage 2. decoding the instruction into an operation code and data address 3. copying the operation code into the instruction register 4. copying the addresses of the data into the address register 5. using the address register to copy the data into the storage register 6. sending the operation code and data to the ALU 7. executing the instruction on the data 8. sending the result to the accumulator, ready for the next instruction 9. storing the results in primary storage Generations of programming languages Low-level languages (processor dependent). First-generation languages

Directly able to be understood by computers (binary). Second-generation languages Replaced binary with mnemonic codes (or short code words) to represent instructions. High-level languages (processor-independent). Third-generation languages Processor-independent; uses variables with sequences, branches and loops. Fourth-generation languages Processor-independent; uses form filling, computer-aided graphics and screen instructions. The need for translation The instructions contained in high level languages (2nd and above) can't be directly understood by processor. The instructions have to be converted from human friendly code (source code) to machine-readable form (object code). The initiation and running of an application The operating system will load the program into main memory, when it is loaded the OS passes control to the now-loaded program. The program will more than likely take input from the user and then perform the task. Personnel people involved with the computer system. The include direct users, computer operators, maintainers (staff, training specialists, system analyst) and developers. RAPID APPLICATION DEVELOPMENT (RAD) Software engineering process design that leads to faster application development. A number of different approaches may be used: CASE (computer-aided software design) reuse of code use of templates. When RAD approach is taken, user is often directly involved with the programmer. End user development End-user development is a systems development effort in which the user is primarily responsible for the development of the system. A good example is when a user purchases a PC and develops applications on his or her own. In developing the system, he user might follow a pro typing approach or a method similar to traditional development.

You might also like