Development Flashcards

1
Q

What is software requirements specification (SRS)?

A
  • A description of a software system to be developed
  • RQ secure that the needs are met by the IT system
  • The software requirements specification lays out functional and non-functional requirements

A set of requirements the specific software must provide
• The SRS writer(s) should avoid placing either design or project requirements in the SRS - only software!

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

What is the difference between functional and non-functional requirements?

A

Functional requirement:
• Describes what a software system should do
An example of a functional requirement:
A system must send an email whenever a certain condition is met (e.g. missing information)

Non-functional requirement:
• Place constraints on how the system will do so
• These requirements are not essential for the system to function
An example of a non-functional requirement:
Emails should be sent with a latency of no greater than 12 hours from such an activity.

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

The 7 characteristics of a good SRS:

A
  1. Unambiguous (every requirement stated therein has only one interpretation. As a minimum, this requires that each characteristic of the final product be described using a single unique term)
    - Ours is a little confusing in the headings – ‘Client Information’ could be several things
  2. Complete (it is complete if it includes all significant requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces)
    - constrained by the limits of the study
  3. Consistent (internal consistency – the requirements should agree with each other, should agree with the system etc.)
  4. Feasible (realistic, possible)
  5. Verifiable (A requirement is verifiable if, and only if, there exists some finite cost-effective process with which a person or machine can check that the software product meets the requirement. In general, any ambiguous requirement is not verifiable)
    - is it possible to check if it can work?
  6. Singular (A requirement statement addresses a single thought.
    Keep the requirement limited to one function, characteristic or constraint.)
  7. Traceable (the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in future development or enhancement documentation – can it be traced back and forth)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Who develops the requirement specifications?

A

The SRS may be written by one or more representatives of the supplier, one or more representatives of the customer, or by both
- is written for the software developers

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

Where does requirement specifications exist in the Work System Life cycle?

A

Between INITIATION (TO-BE) and DEVELOPMENT (Prototype)

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

The role of abstraction in requirements specification

A

AS = reflects the real world

TO-BE (including RS) = abstraction – representation of the new understanding of the world through models, words etc.

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

Why does agile requirements specification avoids formal SRS?

A

Goes back and engineers the requirement throughout the whole life cycle

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

What is UML? What does it provide?

A

• The Unified Modeling Language
• Includes several subsets of diagrams, including structure diagrams, interaction diagrams, and behavior diagrams
- Use cases, use case diagram, user stories, sequential diagram
• Are considered behavior diagrams because they describe what must happen in the system being modeled

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

What is a use case?

A

• It is a written description of how users will perform tasks on your website (Use cases describe what a system accomplishes, not how)
• It outlines, from a user’s point of view, a system’s behavior as it responds to a request
• Use case modeling is limited to a system’s external behavior - Use cases do not model the system from the inside
• Can be changes all the time to model the real world
• Each use case is represented as a sequence of simple steps, beginning with a user’s goal and ending when that goal is fulfilled
- help explain how the system should behave and, in the process, they also help brainstorm what could go wrong
- NOT non-functional requirements (Use cases are not effective in capturing the non-functional requirements)

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

How are use cases are used for requirements specification?

A

To get to know the user, so their needs are met

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

User interaction is key in requirements - how can they can be documented?

A

Otherwise, you might build the system right, but not the right system…
UML:
• User stories (persona; as a… I want… so that…)
• Use cases
• Sequence diagram (specifies the inter-object behavior and communication)

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

What is a use case diagram?

A
  • Everything that happens within the work system
  • Not detailing HOW interaction is (only overview)
  • How the work is actually performed, not how it ideally will
  • It is a high-level diagram (only overview)
  • Typically, won’t show a lot of detail (only names of actors, do not show detail of the interaction)
  • Good way to communicate complex idea in a fairly basic way
  • User-driven
  • Only modelling the external behaviour – NOT the inside of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the components of use case diagram? (There are 4)

A

Breaking the Use Case diagram up into:
1- Systems
• Whatever you are building
 SuperOffice

2-	Actor 
•	Who is going to use the system? 
•	Work system participants
•	Uses the system to reach a goal 
  salesperson

Two different types of actors:
o Primary actor - initiates the use of the system - left
o Secondary actor - reactionary (only acts when the customer uses the system) - right

3- Use case
• What does the system do?
• An action that accomplishes some sort of task within the system

4- Relationships
• Association
• Include (If you sneeze you will close your eyes  happens every time)
• Extend (If you sneeze someone might say bless you  do not happen every time – is not necessary)
• Generalization (Customer (parent)  new customer (child)
 returning customer (child))
Red arrow - generalization
Black arrow - relation

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

How are use case diagrams used for requirement specifications?

A

Specify the basic functionality of the software (requirements)
To get an overview of the system that are going to be developed

It is possible? Are we overlooking something?

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

Why is Use Case useful?

A

Readable for both actors (using the system) and technicians (building the system)
 both needs are met

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

What is a sequence diagram?

A

Part of UML

A sequence diagram shows object interactions arranged in time sequence (interaction diagram)

17
Q

What are Waterfall and Agile?

A

Two methodologies that can be adopted by project managers to go about a software development project

18
Q

What is the difference between Waterfall and Agile?

A

Waterfall
• Liner Sequential Life Cycle Model – software development done in planned phases
• structured software development methodology
• Waterfall has no scope of changing the requirements once the project development starts.

Agile
• Flexible software development methodology
• Agile follows an incremental approach
• Performs testing concurrently with software development
• Agile allows changes in project development requirement

19
Q

What are the pros and cons of waterfall?

A

Advantages of Waterfall Model:
• Easy to manage - each phase has specific way to do it
• It works well for smaller size projects where requirements are easily understandable
• Faster delivery of the project
• Process and results are well documented
• Easily adaptable method for shifting teams

Limitations of Waterfall:
• It is not an ideal model for a large size project
• If the requirement is not clear at the beginning, it is a less effective method
• Very difficult to move back to makes changes in the previous phases
• The testing process starts once development is over. Hence, it has high chances of bugs to be found later in development where they are expensive to fix.
• Trying to plan too far in advance involves guessing / assumptions = wasted effort

20
Q

What are the pros and cons of agile?

A

Advantages of the Agile Model:
• Focuses on client process - makes sure that the client is continuously involved during every stage
• Agile teams are extremely self-organized so it likely to provide a better result from the development projects
• The process is completely based on the incremental progress. Therefore, the client and team know exactly what is complete and what is not. This reduces risk in the development process
• increased focus on business value
- start with a vision statement

Limitations of Agile Model:
• Not useful method for small development projects.
• It requires an expert to take important decisions in the meeting (can take a long time to make a decision and move on)
• Cost of implementing an agile method is more compared to other development methodologies.
• The project can easily go off track if the project manager is not clear what outcome he/she wants

21
Q

What is ER- diagrams?

A

Entity relationship diagram

• A way to establish relationship
• To relate two tables to each other
• Data from the Information in the work system of the problem domain (What do we want to register? How many? How are the elements related?)
- in the work system framework: Information

22
Q

Relationships in ER-diagram?

A
  • zero-to-one
  • zero-to-many
  • Many-to-many relationships
  • One and Only One
23
Q

What is a junction object in ER-diagram?

A
  • Serve to transform many-to-many relationships into 1-to-many relationship
  • If there is a many-to-many relationship in both ends = create junction object
24
Q

What is a foreign key in ER-diagram?

A

A primary key in another table (a relation)

25
Q

Explain the Life cycle model

A

Dynamic model of work systems
 how work systems change over time

When people have adopted the social means of the system – taking the technology and moving it out in the real life – changing how people is working

26
Q

The work system snapshot?

A

A formatted, one-page summary of the work system in terms of six elements of the work system framework

 Can help verify that everyone agrees on a work systems scope and purpose (not just imagining that everyone shares the same view)

27
Q

What is the difference between customers and participants in the Work System Snapshot?

A

Customer of the work system (external or internal)
- The one getting something out of the system

Participant
- Actors generally involved in the system

28
Q

What is Business Intelligence and how could it have been used in your case company?

A

Business Intelligence (BI) systems such as Decision Support systems, MIS, is about integrating all the information streams into a single, coherent enterprise wide set of data and then using modelling, statistical analysis, and data mining tools to make sense out of all these data so managers can make better decisions and better plans.

How could we have used BI in our case?
• Use the data from the CRM to make better decisions for future sale
• What are the patterns for what people buy? How can we provide better service so they will buy again / buy more / get new customers to buy
• See patterns in historical data, data mining to make assumptions of future conditions / behaviour patterns

29
Q

What is knowledge management and why does it matter?

A

Knowledge is one of an organization’s most important assets, hence organizations should strive to capture and reuse the knowledge of their workers in order to have continuous improvements

Knowledge sharing software: SharePoint

30
Q

What is shadow IT – and how can shadow IT affect knowledge management?

A

Shadow IT is the use of information technology systems, devices, software, applications, and services without explicit IT department approval.
• employees feel like they need to work around their company’s security policies just to get their job done
• can lead to data leaks

31
Q

What types of enterprise software to choose?

A

Software-as-aService (SaaS) = packaged software

Platform-as-aService (PaaS) = costumed software