:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Computer Software ConceptChapter 2
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Contents• Introduction• Types of software• Software development
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Objectives• At the end of this topic, students should be
able to:– Differentiate between the two major types of
software.– Describe the general functions of the operating
system.– Describe the general functions of the
application system.– Describe the general process of software
development.
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Introduction• History
– Less important when computer was first introduced.
– Why? Computer was literally hardwired– Software become important today. Why?
• Price of hardware has decreased• Software development process is slow-
complexity
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Introduction• Software today…
– Difficult to produce software– Must carefully engineered and
developed manually– Requires skills
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Introduction• Software ;
– Consists of computer program– Stored program – instructions are executed in
CPU– Allows the hardware do something useful
• 2 types of software– System software– Application software
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
IntroductionApplication SoftwareSystem SoftwareHardware
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Systems software
– Programs which help the user control and make best use of the hardware
– Intermediary between computer hardware and application programs
– Control and coordinates computer operation• Applications software
– Programs that have been written to perform a specific task
– Provide functionality for users
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• System software
– 2 categories:• Operating system
– Supervises the overall operations of the computer
• Other type of system software– System utilities– System support programs
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Common microcomputer (desktop) operating systems
include:– Windows– Mac OS– Linux
• Functions of OS includes:– Processor management – Memory management – Device management – Storage management – Application interface – User interface
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Other type of system software
– System utilities. • Programs that accomplish common tasks such as
sorting records, locating files, and managing memory usage
• E.g. – Anti-Virus– Compression– Backup/Restore– Registry Cleanup– Scan disk/disk repair– Hardware diagnostics– Encryption/decryption
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Other type of system software
– System support programs•supports the operations management
and users •providing a variety of support services •e.g. performance monitors, and security
monitors
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Application software
– 2 categories:• Generic (general purpose)
– Can be used for a wide variety of tasks – e.g. spreadsheets can be used for accounts, sales
analysis, forecasting and many others.• Specific
– Perform a single task. – E.g. Accounting software is capable of doing only
accounting related tasks.
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Generic software includes:
– Word processing – Spreadsheets – Database management – Graphics – Presentation– Web page authoring– Web browsing– Email
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Types of software• Common specific applications include:
– Payroll– School Administration– Booking systems– Stock control/warehousing
• Both generic and specialist applications can be bought custom or off-the-shelf.
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• What is software development?
– Translation of a user need into a software product
– Involve software development process.– Synonym as software process or software
development life cycle (SDLC)– Every software development project have
generic SDLC
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• There are several software
development model with different approach.
• E.g. : waterfall, iterative, prototyping, etc.
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• Phases in SDLC:
– Feasibility study (survey)– Requirement analysis– System analysis– System design– System implementation– System evaluation– System maintenance– Documentation
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
System Analysis
System Design
SystemImplementation
System Evaluation
Requirement Analysis
Feasibility Study
Documentation
SystemMaintenance
Software Development Life Cycle
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• Feasibility study
– a process that briefly examine user needs
– conducted within short period of time– very important as it measures whether
to proceed the project or not
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• Requirement analysis
– to find out what are the users requirement of the software
– done through interview and discussion session among users
– important as system design will rely on the requirements stated
– misunderstood of requirements will lead to major failure of SW development
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• System analysis
– requirements gathered are being analyzed
– analysis will lead to the next phase – designing of the software
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• System design
– the exact configuration of HW (processing, storage, I/O and network components) and SW (OS or NOS) components is specified
– select application program development tools (programming language and DBMS)
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• System implementation
– implements the plan formulated during design phase
– HW and SW are installed, configured and tested
– entire system are check (functionality) – meets user’s needs (as defined in analysis phase)
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• System evaluation
– evaluation is necessary to measure the success of the development
– evaluation will subsequently leads to better improvements
– improvements will be done in the maintenance phase
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• System maintenance
– obtain the input from the evaluation phase
– weakness and mistakes would be corrected here
– produce better system – which meet users needs
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
Software Development• Documentation
– very important – without it difficult to trace back flow of system being developed – act as reference
– system reusable and training needs reference
– cost analysis can be done effective based on documentation
:::::11010101100101101010101010010110101010101011:::::
:::::11010101100101101010101010010110101010101011:::::
End of Chapter 2
Top Related