(sen 201) intro to software engineering Flashcards
What are software
Refers to a collection of data instruction and program used to operate the computer and perform certain task
what are the characteristics of software?
Intangible functionality based evolution customizable
Explain each characteristics
1) intangible-software can’t be physically touched, but exist as a set of coded instruction
2) functionality -based software designed to perform specific and it’s effectiveness is measured on how well its performs this task
3) evolution-software evolves that is it requires updates and maintenance as user needs changes and new technologies emerges
4) customizable -it can be tailored to meet specific requirements
Types of software
1) Systems software
2) applications software
3) middle ware
Explain the types of software
1) system software - This is the fundamental software that help run the computer hardware and computer system. Example include windows linux and macos
2) application software, perform specific task for the end users eg web browsers processors video games email clients
3)middle ware - this connects different applications, allowing them to work together, e.g. database management system (DBMS) web service
Components of
Software
1)programs
2) documentation of any section of the program
3)procedures used to setup and operate software system (operating procedures)
What does does documentation manual consist of
a) analysis specification -formal specification
Context diagram
Data flow diagram
b) design - flowchart
Entity-relationship diagram
c) implementation - source code listing
Cross reference listing
d) testing - test data
Test result
Operating proceedures
Consists of instruction on how to setup and operate the software system and how to react to system failure
What does operation procedure manual
Consist of
1) user manual-
system overview
beginners guide tutorial
Reference guide
2) operational manual- installation guide
System administration guide
What is soft ware engineering
Is a systematic approach that applies the principles of engineering (ie design testing and quality control) to the development, operation, maintenance and retirement of a software
Principles of software engineering
a) it is a rigorous and systematic approach
2) focuses on quality
3)Emphasis on documentation and testing
Importance of software engineering
1) enhances quality and reliability
2) reduces development cost and time
3) enhances collaboration
Objective of software engineering
1) meeting user requirement
2) managing complexity
3) adapting to change
What is sdlc
Software development life cycle is a structured process involving the various phases that guides the development of a high quality software
List and explain the phases of sdlc
1) requirement analysis - thi phase involves understanding the goal function and user needs. This phase produces a large document written in natural language that contains what the software would do and not how it will do it . The resultant document is called software requirement specification document
2)system design - this phase involves creating an architecture for the software system. The software requirement specification are transformed into a structure that can be implemented the result is the system architecture document
3) implementation- this phase involves transom forming the software designs into execrable code. The result is the software of the program
4) testing - the software is tested to ensure that it is working correctly and meets the requirements the end result is the test result
5) operation and maintenance- the software is made available for use and is updated to fix bugs add new features and improve performance