(sen 201) intro to software engineeringh 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 task 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 servers

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 - this 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 executable code. The result is the software of the program
4) testing - the software is tested to ensure that it is working correctly and meets user 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

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

List the common life cycle models

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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

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

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

A

It is a linear 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 development 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 of a software is done in 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)it may saxvridgive quakity

26
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

27
Q

explain prototyping model list its advantages and disadvantage with a diagram

A

This involves resting a prototype or Novak up model early on in the development

28
Q

what is requirement engineering

A

it is a crucial aspect of the development of a software that involves the use of a systematic and disciplined approach for the elicitation, documenting, analysing and managing the requirement of the software throughout its development cycle

29
Q

crucial steps for requirement engineering

A

1] requirement elicitation- it involves the gathering of requirement by engaging with stake holders such as clients, users , domain experts,business analyst.
2] analysis- this involves determining the feasibility and priority of each requirement. it is carried out to ensure clarity, consistency and completeness.
3] documentation- it is the end product of requirement elicitation and analysis. it involved documenting the detailed description of all required functions and constraints in the software requirement specification document. the document can contain diagrams, textual description, use cases and other artefact to help convey the functionality and constraints of the software product
4] review/ validation-this involves ensuring if the system is accurate, achievable and complete. this is done with stake holders to ensure the requirement represents their needs and expectation

30
Q

types of requirement

A

1] functional requirement- this contains the functions, behaviour and features the system must perform. this requirement answers the question “ what should the system do”
2] non-functional requirement - this specifies the quality attribute constraints and the requirement criteria the system must meet , it answers the question “how should the system perform its function”
3] user requirement- specifies the needs and expectation of the end user. it is usually write-in natural language and contains user stories, scenarios and use cases.
4] system requirement -this describes the features of the software in a broader system including its interaction with other system. this specifies the hardware, software, an network infrastructure required to run the application.

30
Q

what is feasibility study

A

it is the critical analysis of and proposed system carried out to determine if it is viable in terms of technical operational and finical aspect.

31
Q

types of feasibility study

A

1] technical feasibility it evaluates if the required technology and infrastructure is available and capable supporting the project
2] operational feasibility - it evaluates if the proposed project aligns with the organisation’s process, goals and user needs.
3] economic feasibility - this evaluates the cost-effectiveness of the proposed project, including development , maintenance and operational costs against expected benefits.
4] legal and environmental feasibility- ensures that the proposed project is compliant with regulations and environmental factor that could affect it.
5] schedule feasibility - analyses whether the project can be completed within the desired time frame.

32
Q

requirement elicitation approaches advantages and disadvantages

A

1]interview
ADVANTAGES
a] help uncover hidden requirement through follow up
b] direct interaction with stake holders which help clarify ambiguous requirement
DISADVANTAGE
a] time consuming and resource intensive
b] stake holders bias might affect accuracy of the result

2] brainstorming
ADVANTAGES
a] fosters creativity and innovative ideas.
b] can be quickly done with minimal preparation
DISADVANTAGES
a]idea generated might be impractical
b]it may not lead to a concrete or actionable requirement

3] quality function deployment (QFD)
ADVANTAGES
a]focuses on customer needs and expectation
b] early identification of issues
DISADVANTAGES
a] it is time consuming
b] can become overly complex

4]use case approach-
ADVANTAGES
a] focuses on user needs and expectation
b]help identify functional requirement
DISADVANTAGES
a]provides limited scope for nonfunctional requirement
b] time consuming

5]facilitated application specification technique (FAST)
ADVANTAGES
a]fosters creativity and innovation
b]clarification of ambiguities
DISADVANTAGES
a] time consuming
b]limited to high level requirements

33
Q

what is software documentation

A

it is the process of capturing functional and non functional requirement, serving as a communication tool between stakeholders, developers and quality assurance team

34
Q

what is srs document

A

software requirement specification document is a structured document that describes the intended functions and constraints of a software system

34
Q

key features of srs

A

a] comprehensive
b] unambiguous
c] verifiable
d] traceable
e]modifiable

35
Q
A
36
Q
A
37
Q
A
37
Q
A
37
Q
A
38
Q
A
39
Q
A
39
Q
A
40
Q
A