(sen 201) intro to software engineering Flashcards

1
Q

What are software

A

Refers to a collection of data instruction and program used to operate the computer and perform certain task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what are the characteristics of software?

A

Intangible functionality based evolution customizable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Explain each characteristics

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Types of software

A

1) Systems software
2) applications software
3) middle ware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain the types of software

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Components of
Software

A

1)programs
2) documentation of any section of the program
3)procedures used to setup and operate software system (operating procedures)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does does documentation manual consist of

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Operating proceedures

A

Consists of instruction on how to setup and operate the software system and how to react to system failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does operation procedure manual
Consist of

A

1) user manual-
system overview
beginners guide tutorial
Reference guide

2) operational manual- installation guide
System administration guide

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is soft ware engineering

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Principles of software engineering

A

a) it is a rigorous and systematic approach
2) focuses on quality
3)Emphasis on documentation and testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Importance of software engineering

A

1) enhances quality and reliability
2) reduces development cost and time
3) enhances collaboration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Objective of software engineering

A

1) meeting user requirement
2) managing complexity
3) adapting to change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is sdlc

A

Software development life cycle is a structured process involving the various phases that guides the development of a high quality software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

List and explain the phases of sdlc

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a software development model

A

It is an abstraction that represents a life cycle

17
Q

List the common life cycle models

A

1) build and fix
2) water fall model
3) incremental process model

18
Q

Explain build and fix list its advantage and disadvantage and see its diagram

A

It is a simple development process that involves building the initial version (build) and modifying it (fix) based on feedback or issues discovered
Advantage - it is suitable for very small projects and prototype
Disadvantage- high risk of project failure with complex requirements and lack of documentation
Phase / diagram - build code , fix code

19
Q

Explain waterfall model list its advantage and disadvantage and see its diagram

A

It is a sequential model where each phase must be completed before moving on to the next
Advantage -
1) it is simple and easy to use
2) it it is ideal for projects with fixed requirements

Disadvantage- it is rigid and doesn’t accommodate changes well making less suitable for complex or evolving projects

Phases / diagram- requirements analysis and specification, design, implementation and unit testing, integration and system testing, operation and maintenance.

20
Q

Explain incremental process model list its advantage and disadvantage and see its diagram

A

This model divides the project into small functional pieces called increment, each increment builds on the previous one delivering parts of the soft ware in a sequence

Advantage - it allows for early delivery of parts of the software with user feedback to guide future increment

Disadvantages- requires careful planning and may become complex if to many increments are added

Phases/ diagram requirement analysis and specification, design, implementation and unit testing, integration and system testing, operation and maintenance

21
Q

Examples of incremental model

A

1)Iterative enhancement model
2) RAD rapid application enhancement model

22
Q

Explain evolutionary process model

A

This model emphasizes the iterative development model where software is continually refunded through cycles

23
Q

Example of evolutionary process model

A

1)spiral model
2) prototype model

24
Q

Explain iterative enhancement model list its advantage and disadvantage and see its diagram

A

Development is done is small repeating cycles called iterations

Advantages
1) it all was for continuous improvement

Disadvantages
2) it is resource intensive

25
Q

Explain rad model list its advantage and disadvantage and see its diagram

A

Rapid application development is a type of iterative development model that emphasizes quick prototyping and rapid feedback

Advantages
1) it is fast

Disadvantage
2)scalability issues

26
Q

Explain incremental process model list its advantage and disadvantage and see its diagram

A

Focuses on creating a prototype early in the development model

Advantage
1) early feedback

Disadvantage
2)2Prototype may mislead

27
Q

Explain spiral process model list its advantage and disadvantage and see its diagram

A

Combines element of iterating and waterfall model, involving repeated cycles of development .

Advantage
1)focuses on risk manager
2) is flexible

Disadvantage
1) complex
Resource heavy