13.4 Alt methods and tools for systems dev Flashcards

1
Q

When you are not gonna use SDLC (traditional dev) are there other options?

A

YES

JAD
RAD
Agile Dev
end user dev

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

What is Joint Application Design

A

group meeting for the analysts and all users, they collectively define and agree ons systems requrmenets (REALLY SAVES TIME)

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

What is Rapid Application Dev

A

combines JAD, prototyping, ICASE to make a high quality system

Iterative process

RAD produces FINAL function components, not prototypes

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

How is RAD different from SDLC

A

SDLC:
investigate->analyze-> design->program test-> implement-> operate maintain

RAD: just that but compressed into a curcle
->JAD-> Dev requirments->Design->Develop->Test->User Review-> JAD

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

What is Agile development “Scrum approach”

A

ITERATIONS! team working and meeting frequently, developiment, testing and delivery

like apps are continuously updated

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

Roles in the Scrum method (agile development)

A

scrum master: maintains the process (project manager)

product owenr: represents business users/stakeholders

team: cross funcitonal group of 7 doing the actual analyze, design, coding, implemntation, testing

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

what is a scrum period called

A

sprint (2-4 week period)

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

what determines the goals of the sprint?

A

-THE PRODUCT BACKLOG

-they do sprint planning
-team members determine how many of projects they can commit to
-THESE COMMITMENTS THEN DO NOTTTT CHANGE IN THE SPRINT

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

does each sprint need to end on time or is it flexible?

A

MUST END ON TIME!!!!!

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

Example of agile development methodology

A

MINIMUM viable product development (MVP dev)

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

what is MVP dev ( under agile method dev)

A

making just enough development needed!!! not super high functionality or too many features

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

What is end user dev?

A

method where end users develop their own applications w no formal IT assistance

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

Another name for end user dev?

A

shadow IT/ rogue IT

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

CONS of end user dev/shadow IT?

A

can open the company system to vulnerabiiltes as it is not secure

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

What is DEVOPS

A

form of software dev that bring devs and users together throughout the ENTIRE project

-> started because there is less time, less room for error, and too many applications needed

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

6 Tools for Systems Dev

A

1) prototyping
2) ICASE
3) Component Based dev
4) object oriented dev
5) containers
6) low code dev platform

17
Q

Prototyping- tool for systems dev

A

The prototyping approach defines an initial list of user requirements, builds a model of the system, and then refines the system in several iterations based on users’ feedback. Developers do not try to obtain a complete set of user specifications for the system at the outset, and they do not plan to develop the system all at once. Instead, they quickly develop a smaller version of the system known as a prototype. A prototype can take two forms. In some cases, it contains only the components of the new system that are of most interest to the users. In other cases, it is a small-scale working model of the entire system.

Users make suggestions for improving the prototype, based on their experiences with it. The developers then review the prototype with the users and use their suggestions to refine it. This process continues through several iterations until the users approve the system or it becomes apparent that the system cannot meet the users’ needs. If the system is viable, then the developers can use the prototype to build the full system. One typical use of prototyping is to develop screens that a user will see and interact with. Table 13.2 describes the advantages and disadvantages of the prototyping approach.
A practical problem with prototyping is that a prototype usually looks more complete than it actually is. That is, it may not use the real database, it usually does not have the necessary error checking, and it almost never includes the necessary security features. Users who review a prototype that resembles the finished system may not recognize these problems. Consequently, they might have unrealistic expectations about how close the actual system is to completion

18
Q

ICASE- tool for systems dev
(2 TYPES)

A

integrated computer assisted software eng tools

-> this automates many tasks in the SDLC

TYPE 1: Upper CASE tools (used in early stages of SDLC, systems investigation & analysis & design)
TYPE 2: Lower CASE tools (used in later stages of SDLC, programming, testing, operation, and maintenance)

Upper + Lower CASE= ICASE

19
Q

Component Based Dev- tools for system dev

A

using standard components to build applications (elemts like comments, shopping cart, catalogue)

this focuses less on the programming an dmore assembly

20
Q

Object Oriented Development- tools for system dev

A

Object-oriented development is based on a different view of computer systems than the perception that characterizes traditional development approaches. Traditional approaches can produce a system that performs the original task but may not be suited for handling other tasks. This limitation applies even when these other tasks involve the same real-world entities. For example, a billing system will handle billing, but it probably cannot be adapted to handle mailings for the marketing department or to generate leads for the sales force. This is true even though the billing, marketing, and sales functions all use similar data, including customer names, addresses, and purchases. In contrast, an object-oriented (OO) system begins not with the task to be performed, but with the aspects of the real world that must be modelled to perform that task. Therefore, in our example, if the firm has a good model of its customers and its interactions with them, then it can use this model equally well for billings, mailings, and sales leads.
The development process for an object-oriented system begins with a feasibility study and an analysis of the existing system. Systems developers identify the objects in the new system—the fundamental elements in OO analysis and design. Each object represents a tangible, real-world entity such as a customer, bank account, student, or course. Objects have properties or data values. For example, a customer has an identification number, a name, an address, an account number(s), and so on. Objects also contain the operations that can be performed on their properties. For example, operations that can be performed on the customer object may include obtain-account-balance, open-account, withdraw-funds, and so on. Operations are also referred to as behaviours.
This approach enables OO analysts to define all the relevant objects needed for the new system, including their properties and operations. The analysts then model how the objects interact to meet the objectives of the new system. In some cases, analysts can reuse existing objects from other applications (or from a library of objects) in the new system. This process saves the analysts the time they otherwise would spend coding these objects. In most cases, however, even with object reuse, some coding will be necessary to customize the objects and their interactions for the new system.

21
Q

Containers- tools for system dev

A

developing applications that run independatntly of the base operating system of the server

-> lets app providers develop, test and deploy tech in practice runs, so it runs faster in actuality

To better understand containers, imagine that your vehicle is a container. You only interact with the environment inside the vehicle (the container). Your vehicle can travel on different types of terrain (platforms), but you do the same things inside (gas, brakes, lights, signals, etc.). The vehicle (container) has features built in to help manage the external environment (tires, shocks, windshield wipers, etc.). Containers have begun to revolutionize the speed of development because developers can focus on the container rather than the environments.
Application developers have always been plagued with platform challenges. (A platform is an underlying computer system on which application programs can run. On personal computers, Windows and Mac OS X are examples of platforms.) As one example, if a developer built an application in a Windows environment, then it might not run properly if it were deployed after a Windows update. In addition, it probably would not work in a Linux environment, either. Further, multiple versions of an application need to be developed to run on different environments, and they have to be continuously tested on platform updates.
One solution for this problem is to build and test applications on a virtual machine and then implement them on an identical virtual machine for customers. A virtual machine is a self-contained operating environment that behaves as if it were a separate physical computer. Building and testing on a virtual machine ensures that an application developed on one platform will run on a different platform. But what if you could develop an application that included its own environment and would run as it was developed regardless of the operating system on which it was deployed? That is exactly the idea behind a container.
Containers are not new; in fact, they have been tested since 2005. However, they were not widely embraced by mainstream IT leaders until 2014. The increased popularity of containers is largely due to Docker, an open-source project by Docker, Inc. (www.docker.com/). Docker is a Linux-based product that enables applications to be developed and deployed in a container. Docker-created apps will run on any platform.

22
Q

Low code dev platforms-

A

use visual interfacs to develop apps , (NOT DOING ALL THE CODING BY HAND)

-> Allow for more rapid app dev
-> allows non technical users to provide efforts and input into dev

23
Q

What’s in IT For Me?

For the Accounting Major
Accounting personnel help perform the cost–benefit analyses on proposed projects. They may also monitor ongoing project costs to keep them within budget. Accounting personnel undoubtedly will find themselves involved with systems development at various points throughout their careers.

For the Finance Major
Finance personnel are frequently involved with the financial issues that accompany any large-scale systems development project (e.g., budgeting). They also are involved in cost–benefit and risk analyses. To perform these tasks, they need to stay abreast of the emerging techniques used to determine project costs and ROI. Finally, because they must manage vast amounts of information, finance departments are also common recipients of new systems.

For the Marketing Major
In most organizations, marketing, like finance, involves massive amounts of data and information. Like finance, then, marketing is also a hotbed of systems development. Marketing personnel will increasingly find themselves participating in systems development teams. Such involvement increasingly means helping to develop systems, especially web-based systems that reach out directly from the organization to its customers.

For the Production/Operations Management Major
Participation in development teams is also a common role for production/operations people. Manufacturing is becoming increasingly computerized and integrated with other allied systems, from design to logistics to customer support. Production systems interface frequently with marketing, finance, and human resources. They may also be part of a larger enterprise-wide system. Also, many end users in POM either develop their own systems or collaborate with IT personnel on specific applications.

For the Human Resources Management Major
The human resources department is closely involved with several aspects of the systems acquisitions process. Acquiring new systems may require hiring new employees, changing job descriptions, or terminating employees. Human resources staff perform all of these tasks. Furthermore, if the organization hires consultants for the development project, or outsources it, the human resources department may handle the contracts with these suppliers.

For the MIS Major
Regardless of the approach that the organization adopts for acquiring new systems, the MIS department spearheads it. If the organization chooses either to buy or to lease the application, the MIS department leads in examining the offerings of the various vendors and in negotiating with the vendors. If the organization chooses to develop the application in-house, then the process falls to the MIS department. MIS analysts work closely with users to develop their information requirements. MIS programmers then write the computer code, test it, and implement the new system.

A

What’s in IT For Me?

For the Accounting Major
Accounting personnel help perform the cost–benefit analyses on proposed projects. They may also monitor ongoing project costs to keep them within budget. Accounting personnel undoubtedly will find themselves involved with systems development at various points throughout their careers.

For the Finance Major
Finance personnel are frequently involved with the financial issues that accompany any large-scale systems development project (e.g., budgeting). They also are involved in cost–benefit and risk analyses. To perform these tasks, they need to stay abreast of the emerging techniques used to determine project costs and ROI. Finally, because they must manage vast amounts of information, finance departments are also common recipients of new systems.

For the Marketing Major
In most organizations, marketing, like finance, involves massive amounts of data and information. Like finance, then, marketing is also a hotbed of systems development. Marketing personnel will increasingly find themselves participating in systems development teams. Such involvement increasingly means helping to develop systems, especially web-based systems that reach out directly from the organization to its customers.

For the Production/Operations Management Major
Participation in development teams is also a common role for production/operations people. Manufacturing is becoming increasingly computerized and integrated with other allied systems, from design to logistics to customer support. Production systems interface frequently with marketing, finance, and human resources. They may also be part of a larger enterprise-wide system. Also, many end users in POM either develop their own systems or collaborate with IT personnel on specific applications.

For the Human Resources Management Major
The human resources department is closely involved with several aspects of the systems acquisitions process. Acquiring new systems may require hiring new employees, changing job descriptions, or terminating employees. Human resources staff perform all of these tasks. Furthermore, if the organization hires consultants for the development project, or outsources it, the human resources department may handle the contracts with these suppliers.

For the MIS Major
Regardless of the approach that the organization adopts for acquiring new systems, the MIS department spearheads it. If the organization chooses either to buy or to lease the application, the MIS department leads in examining the offerings of the various vendors and in negotiating with the vendors. If the organization chooses to develop the application in-house, then the process falls to the MIS department. MIS analysts work closely with users to develop their information requirements. MIS programmers then write the computer code, test it, and implement the new system.

24
Q
A