Software Engineering PRELIM 1 & 2 HANDOUT

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/103

encourage image

There's no tags or description

Looks like no tags are added yet.

104 Terms

1
New cards

Functional requirements

Relate directly to a process a system has to perform or information needs to contain.

2
New cards

Supportability requirements

describe how a system is installed, configured, monitored, and updated.

3
New cards

internal stakeholders versus external stakeholders and operational stakeholders versus executive stakeholders

One useful way to help identify all the interested stakeholders is to consider two dimensions by which they vary: ______________________ (see Figure 2).

4
New cards

Research Vendor Solutions

There are three positive contributions in exploring existing solutions.

1. Researching existing solutions will frequently help users generate new ideas for how to better perform their business functions.

2. Some of these solutions are excellent and state of the art.

3. It is often cheaper and less risky to buy a solution rather than to build it.

5
New cards

Collect Active User Comments and Suggestions

Users and other stakeholders perform the initial testing of system functions during the iteration in which those functions are implemented.

6
New cards

Collect Active User Comments and Suggestions

Based on those interactions, users can develop concrete suggestions for improvement and identify missing or poorly implemented requirements.

7
New cards

models

Analysts build _______ to describe system requirements and use those models to communicate with users and designers

8
New cards

Swimlane

an activity diagram component that divides the workflow activities into groups showing which agent performs which activity.

9
New cards

1. Gather detailed information

2. Define requirements

3. Prioritize requirements

4. Develop user interface dialogs

5. Evaluate requirements with users

The activities of this core process are:

10
New cards

Prioritize Requirements

The reason why the functions requested by the users are being prioritized is that resources are always limited, and the analyst must always be prepared to justify the scope of the system.

11
New cards

Functional requirements

Flow directly into the creation of functional, structural, and behavioral models that represent the functionality of the evolving system.

12
New cards

1. Usability requirements

2. Reliability requirements

3. Performance requirements

4. Security requirements

The remaining categories (URPS) describe nonfunctional requirements as follows:

13
New cards

Internal stakeholders

are those within the organization who interact with the system or have a significant interest in its operation or success (Ex. Employees).

14
New cards

system analysis

The third core process which is to discover and understand the details is also called?

15
New cards

System analysts

obtain information from people who will be using the system, either by interviewing them or by watching them at work.

16
New cards

Gather Detailed Information

Analysts need to talk to everyone who will use the new system or has used similar systems, and they must read nearly everything available about the existing system.

17
New cards

Gather Detailed Information

The analyst tries to understand an existing system by identifying all present and future locations where work occurs and all system interfaces with other systems, both inside and outside the organization.

18
New cards

Prioritize Requirements

Once the system requirements are well understood, it is important to establish which requirements are most crucial for the system.

19
New cards

Prioritize Requirements

Users and analysts need to ask themselves which functions are truly important and which are fairly important but not absolutely required.

20
New cards

Prioritize Requirements

Requirements priorities also help to determine the number, composition, and ordering of project iterations.

21
New cards

Develop User Interface Dialogs, user interface dialogs

To most users, the user interface is all that matters. Thus, developing ___________ is a powerful method of eliciting and documenting requirements.

22
New cards

Develop User Interface Dialogs, abstract models

Analysts can develop user interfaces via _________, such as interaction diagrams and written dialogs, or they can develop storyboards or user-interface prototypes on the actual input/output devices that users will use.

23
New cards

Develop User Interface Dialogs, prototype interface

A ____________ can serve as a requirement and a starting point for developing a portion of the system.

24
New cards

Develop User Interface Dialogs

A user-interface prototype developed in an early iteration can be expanded in later iterations to become a fully functioning part of the system.

25
New cards

Evaluate Requirements with Users

Ideally, evaluating requirements with users and documenting the requirements are fully integrated.

26
New cards

Evaluate Requirements with Users

Analysts usually use an iterative process in which they elicit user input to model requirements, return to the user for additional input or validation, and then work alone to incorporate the new input and refine models.

27
New cards

Evaluate Requirements with Users

The processes of eliciting requirements, building models and prototypes, and evaluating them with users may repeat many times until requirements models and prototypes are complete and accurate.

28
New cards

Evaluate Requirements with Users

Most of the analyst's time is devoted to requirements: gathering information about them, formalizing them, by using models and prototypes, refining and expanding them, prioritizing them, and generating and evaluating alternatives.

29
New cards

System requirements

are all the activities the new system must perform or support and the constraints that the new system must meet.

30
New cards

functional or non functional

Requirements can be either ___________ or __________ in nature.

31
New cards

FURPS or (functional, usability, reliability, performance, and security)

The most widely used framework today in identifying and classifying requirements is referred to as ______ which stands for ______________________________

32
New cards

Usability requirements

describe operational characteristics related to users, such as the user interface, related work procedures, online help, and documentation.

33
New cards

Reliability requirements

describe the dependability of a system how often a system exhibits such behaviors as service outages and incorrect processing and how it detects and recovers from those problems.

34
New cards

Performance requirements

describe operational characteristics related to measures of workload, such as throughput and response time.

35
New cards

Security requirements

describe how access to the application will be controlled and how data will be protected during storage transmission.

36
New cards

Design constraints

describe restrictions to which the hardware and software must adhere.

37
New cards

Implementation requirements

describe constraints such as required programming languages and tools, documentation method and level of detail, and a specific communication protocol for distributed components.

38
New cards

Interface requirements

describe interactions among systems.

39
New cards

Physical requirements

describe such characteristics of hardware as size, weight, power consumption, and operating conditions.

40
New cards

Stakeholders

People who have an interest in the successful implementation of the system.

41
New cards

Stakeholders

Depending on the nature and scope of the system, this can be a small group, or a large, diverse group.

42
New cards

External stakeholders

are those outside the organization's control and influence (Ex. Suppliers, customers).

43
New cards

Operational stakeholders

are those who regularly interact with a system in the course of their jobs or lives (Ex. Inter-operation personnel)

44
New cards

Executive stakeholders

are those who do not interact directly with the system, but who either use information produced by the system or have a significant financial or other interests in its operation and success (Ex. Organization's senior managers and board of directors, and regulatory agencies).

45
New cards

client

is the person or group that provides the funding for the project.

46
New cards

An organization's technical and support staff

include people who establish and maintain the computing environment of the organization.

47
New cards

o Interviewing users and other stakeholders

o Distributing and collecting questionnaires

o Reviewing inputs, outputs, and documentation

o Observing and documenting business procedures

o Researching vendor solutions

o Collecting active user comments and suggestions

Different ways to collect information about system requirements

48
New cards

1. What are the business operations and processes?

What do you do?

2. How should those operations be performed?

How do you do it?

What steps to follow?

How could they be done differently?

3. What information is needed to perform those operations?

What information do you use?

What inputs do you use?

What outputs do you produce?

Three question themes

49
New cards

Open ended questions

such as "How do you do this function?" - encourage discussion and explanation.

50
New cards

Closed ended questions

such as "How many forms a day do you process?" - are used to get specific facts.

51
New cards

Questionnaires

are often used to obtain preliminary insight into stakeholder information needs, which helps to determine areas that need further research using other methods.

52
New cards

External to the organization

industry-wide professional organizations and other companies.

53
New cards

Existing business documents and description of the procedures within the organization

reviewing internal documents and procedures serves two purposes: (1) it is a good way to get a preliminary understanding of the processes (2) existing inputs, outputs, and documents can serve as a visual aid for the interview.

54
New cards

Observe and Document Business Processes

More than any other activity, observing the business process in action will help in understanding the business functions and visualize the new system's associated business process.

55
New cards

Observe and Document Business Processes

Observing the business process can be done in many ways, ranging from a quick walk-through of an office or plant to doing the work by the person who conducts the data gathering.

56
New cards

Research Vendor Solutions

Many of the problems and opportunities that companies want to address with new information systems have already been solved by other consulting firms by providing packaged solutions for a particular business needs.

57
New cards

Research Vendor Solutions

The danger in exploring existing solutions is that the users and even the systems analysts may want to buy one of the alternatives immediately.

58
New cards

Collect Active User Comments and Suggestions

User feedback from initial and later testing is a valuable source of requirements information

59
New cards

model

is a representation or abstraction of some aspects of the system being built.

60
New cards

o Learning from the modeling process

o Reducing complexity by abstraction

o Remembering all the details

o Communicating with other development team members

o Communicating with a variety of users and stakeholders

o Documenting what was done for future maintenance/enhancement.

Reasons for modeling:

61
New cards

Textual models

analysts use such models as memos, reports, narratives, and lists to describe requirements that are detailed and are difficult to represent in other ways. (Ex. Event list and use case descriptions).

62
New cards

Graphical models

make it easier to understand complex relationships that are difficult to follow when described as a list or narrative. These are system models that use pictures and other graphical elements to create a diagram.

63
New cards

Mathematical models

System models that describe requirements numerically or as mathematical expressions. Analysts use these models to describe non- functional requirements and operational parameters such as network throughput or database query response time

64
New cards

Unified Modeling Language (UML)

A standard set of information system model constructs and notations defined by the Object Management Group (OMG).

65
New cards

UML graphical model

The use case diagram, class diagram, activity diagram, sequence diagram, communication diagram, and state machine diagram are

66
New cards

Unified Modeling Language (UML)

By using _____, analysts and end-users are able to depict and understand a variety of specific diagrams used in a system development project.

67
New cards

Workflow

a sequence of work steps that completely handle one business transaction or customer request

68
New cards

Activity diagram

a UML diagram that describes user (or system) activities, the person or component that completes each activity, and the sequential flow of these activities

69
New cards

Synchronization bar

an activity diagram component that either splits a control path into multiple concurrent paths or recombines concurrent paths.

70
New cards

1. Identify the agents to create the appropriate swimlanes.

2. Follow the various steps of the workflow and then make appropriate ovals for the activities.

3. Connect the activity ovals with arrows to show the workflow,

Steps in creating activity diagram:

71
New cards

Systems Analysis

Consists of activities that enable a person to understand and specify what the new system should accomplish. More than a brief statement of the problem

72
New cards

Systems Design

Consists of activities that enable a person to describe in detail how the information system will be implemented to provide the needed solution

73
New cards

Systems Analysis and Design

Plays an integral role in the development of an information system (IS). Provides the tools and techniques needed as an information system developer to complete the development process

74
New cards

• Understand the need (business need)

• Capture the vision

• Define a solution

• Communicate the vision and the solution

• Build the solution or direct others in building the solution

• Confirm that the solution meets the need

• Launch the solution application

Systems analysis and design process:

75
New cards

Project

A planned undertaking that has a beginning and an end and produces some result. The activities required to develop a new system are identified, planned, organized, and monitored.

76
New cards

System Development Life Cycle (SDLC)

A framework that identifies all the activities required to research, build, deploy, and often maintain an IS.

A process of understanding how an IS can support business needs by designing a system, building it, and delivering it to the users

77
New cards

System Development Life Cycle (SDLC)

Normally includes all activities needed for the planning, systems analysis, systems design, programming, testing, and user training stages of information systems development, as well as other project management activities that are required to deploy the new information system successfully

78
New cards

SDLC Phases

Different projects might emphasize different parts of the SDLC or approach the SDLC in different ways, but all projects have elements of these four (4) phases.

-Each phase is composed of a series of steps, which rely upon techniques that produce deliverables (specific documents and files that provide understanding about the project).

79
New cards

Planning

The fundamental process of understanding why an information system should be built and determining how the project team will go about building it.

80
New cards

Project Initiation

The system's business values to the organization are identified. The system request and feasibility analysis are presented to an information systems approval committee, which decides whether the project should be undertaken.

81
New cards

Project Management

Once the project is approved, the project manager creates a work plan, staffs the project, and puts techniques in place and direct the project through the entire SDLC. The project plan is the expected deliverable that describes how the project team will go about developing the system

82
New cards

Analysis

It answers the questions of who will use the system, what the system will do, and where and when it will be used

83
New cards

Analysis strategy

It usually includes an analysis of the current system and its problems, and when to design a new system.

84
New cards

Requirements gathering (e.g., through interviews or questionnaires)

Analysis of this information and other inputs form project sponsors leads to the development of a concept for a new system. The system concept is used as a basis to develop a business analysis model.

85
New cards

System proposal

It is a document combining the analyses, system concept, and models that are presented to the project sponsors who decide whether the project should continue to move forward. This is the initial deliverable that describes what business requirements the system should meet.

86
New cards

Design

Decides how the system will operate in terms of hardware, software, and network infrastructure user interface, forms, and reports and the specific programs, databases, and files that will be needed.

87
New cards

design strategy

The __________ is first developed. It clarifies whether the system will be developed by the company's own programmers, will be outsourced to another consulting firm, or the company will buy an existing software package.

88
New cards

architecture design

This leads to the development of ______________ for the system, which describes the hardware, software, and network infrastructure to be used. The interface design specifies how the users will move through the system (e.g., navigation method such as menus and on-screen buttons) and the forms and reports that the system will use.

89
New cards

database and file specifications

The ________ and _________ are developed. These define exactly what data will be stored and where they will be stored.

90
New cards

program design

The analyst team develops the ___________, which defines the programs that need to be written and what each program will exactly do.

91
New cards

system specification

This collection of deliverables (architecture design, interface design, database and file specification, and program design) is the _____________ that is handed to the programming team for implementation.

92
New cards

Implementation phase

During this phase, the system is built (purchased, in the case of a packaged software design). This is the longest and most expensive single part of the development process.

93
New cards

System construction

The system is built and tested to ensure that it performs as designed. Because the cost of the bugs can be immense, testing is one of the most critical steps in implementation.

94
New cards

Installation

It is the process by which the old system is turned off and the new one is turned on. The development of a training plan is one of the most important aspects of conversion to teach the user how to use the new system and help manage the changes caused by the new system.

95
New cards

Establishment of support plan

It includes a formal or informal post-implementation review as well as a systematic way for identifying major and minor changes needed for the system.

96
New cards

1. Identify the problem or need and obtain approval to proceed with the project.

2. Plan and monitor the project - what to do, how to do it, and who will do it?

3. Discover and understand the details of the problem or the need - what is required?

4. Design the system components that solve the problem or satisfy the need - how will it work?

5. Build, test, and integrate system components. There will be lots of programming and component integration.

6. Complete system tests and then deploy the solution to satisfy the need.

The six (6) core processes required in the development of any information system are as follows:

97
New cards

System development process or methodology

A set of comprehensive guidelines for carrying out all of the activities of each core process of the SDLC.

-Each methodology prescribes a way of carrying out the development project, and every organization develops its own system development methodology over time to suit its needs.

98
New cards

Agile development

An information system development process that emphasizes flexibility and rapid response to anticipate new and changing requirements during development

-The basic philosophy of Agile development is that neither team members nor the users completely understand the problems and complexities of a new system, so the project plan and the execution of the project must be responsive to unanticipated issues.

99
New cards

Iterative Development

An approach to system development in which the system is "grown" piece by piece through multiple mini-projects called iterations

100
New cards

Core components

_______________ are developed first and then additional components are added.