3343: Chapter 1

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Agile Phase 1: Exploration

Explore your environment, asserting your conviction that the problem can and should be approached with agile development, assemble a team, assess team members skills. This stages takes from a few weeks to a few months. Actively examine potential technologies needed to build new system. Practice estimating the time needed for variety of tasks Customers are also experimenting with writing user stories Goal: get the customer to refine story enough so that you can completely estimate the amount of time it will take to build the solution into the system you are planning. In this stage: adopt a playful and curious attitude.

Agile Stage 4: Productionizing

Feedback cycle speeds up so that rather than receiving feedback for an iteration every three weeks, software revisions are being turned around in 1 week. The product is released in this phase, but it may be improved by adding other features.

Agile Stage 5:

Once a system has been released, it needs to be kept running smoothly In this stage, new features may be added, riskier customer suggestions may be considered, and team members may be rotated on or off the team Attitude during this stage is more conservative than at any other time

Agile Stage 3: Iterations to first release

Typically iterations (cycles of testing, feedback, and change) are about 3 weeks in duration. You will be pushing yourself to sketch out the entire architecture of the system Goal: run customer-written function tests at the end of each iteration During this stage, should question whether schedule needs to be altered or whether you are tackling too many stories. Useful to make small rituals out of each iteration (like celebrate your progress) because this will keep everyone motivated

Q5: List and briefly define the seven phases of the SDLC

* Already had as a quiz question, will not be in short answer, but may have to know MC, TF, Matching 1. Identifying Problems, Opportunities and Objectives 2. Determining human info requirements 3. Analyzing System Needs 4. Designing the Recommended System 5. Developing + Documenting Software 6. Testing + Maintaining the System 7. Implementing and Evaluating the System ( I Dont Ask Derreck Daring Test Inquisitions) (Refer to Figure 1.1)

*What is the Agile Approach

- A software Development approach based on values, principles and core practices - Systems that are designed using agile methods can be developed rapidly. - Projects done with Agile are Interactive and Incremental

Q7: Explain what is Meant by Agile Approach

- A software Development approach based on values, principles and core practices - Systems that are designed using agile methods can be developed rapidly. - Projects done with Agile are Interactive and Incremental - Agile development practices appear extreme, but may teach valuable lessons

Systems Analysis and Design

- A systematic approach to identifying problems, Opportunities and objectives. analyzing the information flows in organizations; and designing computerized information systems to solve a problem. _________________________________________________________ - Series of processes systematically undertaken to improve a business through the use of computerized information systems. - Used to analyze, design, and implement improvements to the computerized information systems that support users and the functions of businesses.

*What is Systems Analysis and Design?

- A systematic approach to identifying problems, opportunities and objectives - To analyze human and computer generated information flows in organizations - and to design computerized information systems to solve problems

*What is Scrum?

- Agile method that emphasizes short releases - Team members choose what they want to work on - Typical Spring Cycle lasts 2-4 weeks - At end of period, Team is expected to produce potentially Releasable product - Systems Developed with Scrum are Constantly Changing

Q10: What is scrum?

- Agile method that emphasizes short releases - Team members choose what they want to work on - Typical Spring Cycle lasts 2-4 weeks - At end of period, Team is expected to produce potentially Releasable product - Systems Developed with Scrum are Constantly Changing

VA, Microsoft Visio, OmniGraffle

- All allow users to draw and modify diagrams easily. - However, VA is a full-fledged CASE tool with a repository and other features.

Developing Open Source Software (OSS)

- Alternative to Traditional Software Development in which proprietary code is hidden from the user - OSS: Users and coders can study, share and modify code, or computer instructions - Those involved in OSS communities often view it as a way to help societies change

CASE Repository

- An encyclopedia that stores all info about the project - A large collection of records, elements, diagrams, screens, reports and other information - Analysis reports may be produced using the repository of information to show where the design is incomplete or contains errors

Differences in Managing Computer-Generated Info and Manually processed data:

- Greater Quantity of Computer Information to Administer - Cost of organizing and maintaining Computer info can increase quickly - Users often treat computer info less skeptically

Human-Computer Interaction (HCI)

- Human-centered approach that places an emphasis on human needs before the needs of an organization or a system. - The human-computer interaction should be included into every phase of the systems development life cycle. _______________________________________________________ The study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings.

Q6: What are CASE tools used for

- Improving systems analyst routine work through use of automated support - Increase productivity - Enhance communication with users - Integrate all work done on System from beginning to end of Life-cycle (providing continuity between life cycle phases)

Q13: What is OSS?

- OSS = Open Source Software - Proprietary code can be viewed, shared and modified by users/coders - Ex: Linux, Firefox, Apache - Those involved with OSS community often view it as a way to make society change.

Visible Analyst (VA)

- One example of CASE tool that enables systems analyst to do graphical planning, analysis, and design in order to build complex client/server applications and databases

Maintenance

- Ongoing process over the life-cycle of the information system - System maintenance is removing undetected errors and enhancing existing software.

How does maintenance cost behave over time?

- Over time, the total cost of maintenance is likely to exceed that of systems development. - At a certain point, it becomes more feasible to perform a new systems study because the cost of continued maintenance is clearly greater than the cost of creating an entirely new information system. ( refer to Figure 1.2)

Similarities of Object Oriented and SDLC

- Phases in UML are similar to those in SDLC - Both share rigid, exacting model - slower and more deliberately paced than phases of agile modeling

Q8: What is the meaning of the phrase the planning game?

- Refers to Agile planning process - Spells out rules that can help formulate the agile development team's relationship with their business customer

Q2: Why is security information systems an important consideration in systems development and design?

- Security is critical to the functioning of organizational information systems - Important to design new systems with security in mind because it is much more effective and functional than adding security measures to older systems after they have been designed

*What is Object-Oriented Analysis Design

- Systems Development Approach based on Object-Oriented programming concepts that have been codified in UML. - Uses key diagrams - Developed as components - Reworking components many times is typical - Intended to Facilitate the development of systems that must change rapidly in response to dynamic business environments - Works well in situations in which complicated information systems are undergoing continuous maintenance, adaptation or redesign

Q11: Define the term object-oriented analysis and design.

- Systems Development Approach based on Object-Oriented programming concepts that have been codified in UML. - Uses key diagrams - Developed as components - Reworking components many times is typical - Intended to Facilitate the development of systems that must change rapidly in response to dynamic business environments - Works well in situations in which complicated information systems are undergoing continuous maintenance, adaptation or redesign **focus on small, quick iterations of development.

*What is UML?

- Unified Modeling Language. - UML is a standard modeling language consisting of integrated sets of diagrams developed to help system and software developers for specifying, visualizing, constructing and Documenting Software or business systems -UML consists of an integrated set of diagrams such as: Use case diagrams + Scenarios, Activity, Sequence, class and statechart diagrams - Objects that are created not only include code about data but also instructions about the operations to be performed on the data

Q12: What is UML?

- Unified Modeling Language. - UML is a standard modeling language consisting of integrated sets of diagrams developed to help system and software developers for specifying, visualizing, constructing and Documenting Software or business systems -UML consists of an integrated set of diagrams such as: Use case diagrams + Scenarios, Activity, Sequence, class and statechart diagrams - Objects that are created not only include code about data but also instructions about the operations to be performed on the data

User Involvment

- User involvement throughout a systems project is critical to the successful development of computerized information systems - Users are moving to the forefront as software development teams become more international in their composition. This means that there is more emphasis on working with software users;

Objectives

- What the business is trying to do - Business Goals

All 3 approaches need:

- analyst needs to understand organization first - Analyst or project team needs to budget time and resources and develop a project proposal - Next they need to interview organization members and gather detailed data using questionnaires and sample data from existing reports and by observing how business is transacted

CASE Tools (Computer-Aided Software Engineering)

- automated software support tools for developing systems - Created Explicitly to improve System's Analysts routine work through the use of automated support - Analysts rely on CASE tools to: * increase productivity * Communicate more effectively with users * Integrate work done on the system from beginning to end of lifecycle - CASE tools also help support the modeling of an organization's functional requirements, assist analysts and users in drawing the boundaries for a given project, and help them visualize how the project meshes with other parts of the organization.

Information:

- is A Key Resource that must be managed carefully as any other resource - is Not a byproduct of doing business - Fuels business and can be the critical factor in determining the success or failure of a business. - Costs are associated with the production, distribution, security, storage, and retrieval of all information.

What is the SDLC (Systems Development Life Cycle)?

-The systems development life cycle is a systematic approach to solving business problems. _________________________________________________________ - Phased approach to analysis and design based on the assumption that systems are best developed through the use of a specific cycle of analyst and user activities. - Also called Waterfall Method - Although each phase is presented discretely, it is never accomplished as a separate step, instead, several activities may occur simultaneously, and activities may be repeated.

*What Skills should an Analyst Possess?

1. 1st and Foremost: Problem Solver 2. Communication 3. Computer Experience/Technical Skills 4. Strong personal and professional ethics 5. Self disciplined 6. Self-Motivated

Q4: What personal qualities are helpful for a Systems analyst

1. 1st and Foremost: Problem Solver 2. Communication 3. Computer Experience/Technical Skills 4. Strong personal and professional ethics 5. Self disciplined 6. Self-Motivated

Open Source Software may be categorized into 4 types of communities:

1. Ad hoc 2. Standardized 3. Organized 4. Commercial

Systems are Enhanced for the Following Reasons

1. Adding additional features to the system 2. Business and governmental requirements change over time 3. Technology, hardware, and software are rapidly changing

4 Values of Agile Process

1. Communication 2. Simplicity 3. Feedback 4. Courage

Systems Analyst Role: Consultant

1. Consultant: - Hired specifically to address information system issues within business - Advantage: Systems Analyst's expertise and fresh perspective. Disadvantage: Outsider can never know true organization culture - Must rely heavily on systematic methods to analyze and design appropriate information system - Must rely on users to help you understand the organization's culture.

Q3: List 3 roles that a systems analyst is called upon to play. Provide a definition for each one

1. Consultant: - Hired specifically to address information system issues within business - Advantage: Systems Analyst's expertise and fresh perspective. Disadvantage: Outsider can never know true organization culture - Must rely heavily on systematic methods to analyze and design appropriate information system - Must rely on users to help you understand the organization's culture. 2. Supporting Expert: - Analysts can work as a supporting expert for a company in which they are currently employed. - Use their expertise on computer hardware and software within business. - Typically not full-blow systems project - Typically analyst is not managing the project but is serving as a source for those that are. 3. Agent of Change - Most comprehensive and responsible role - Analyst's presence in a business changes it - Important for analyst to communicate with users and managers in order to make real change * Analyst can balance several roles at the same time

Q15: List two reason organizations may want its analyst to participate in an open source community

1. Curiosity about what the software benefits to the organization might be 2. Achieve Responsive Design

Reason Company may ask Systems Analyst to Participate in OSS:

1. Curiosity about what the software benefits to the organization might be 2. Achieve Responsive Design

6. Object-Oriented Phases

1. Define the use case model 2. Begin drawing UML diagrams 3. Develop class diagrams 4. Draw statechart diagrams 5. Modify the UML diagrams 6. Develop and document the system

Q9: What are the stages in agile development

1. Exploration 2. Planning 3. Iterations to First Release 4. Productionizing 5. Maintenance

*What are the 5 Stages of Agile Development?

1. Exploration 2. Planning 3. Iterations to First Release 4. Productionizing 5. Maintenance (Figure 1.4)

Why do Organizations Participate in Open Source Communities?

1. Faster to have a committed group of expert developers develop, test and debug code that it is to have one isolated team working on software development 2. Keeps down Development costs 3. Bolster own self-image and contribute to something worthwhile to the larger software development community 4. Organizations may ask or even require that their software developers become involved in one or more open source projects or communities 5. minimizes costs, managing resources and the time it takes to bring a new product into the market

Open Source Communities Differ from eachother in 6 Key Dimensions:

1. General structure 2. Environment 3. Goals 4. Methods 5. User community 6. Licensing

Q1: List the advantages of using systems analysis design techniques in approaching computerized information systems for business

1. Greater User Satisfaction 2. System will not fall into Disuse as easily 3. Maximize Usefulness of information 4. Better Understanding of Organizational Processes, Problems and Objectives 5. Enhanced Documentation and Communication 6. Lends structure to analysis and design of information systems

Phases of UML

1. Identification 2. Analysis 3. Design

*7 Phases of SDLC

1. Identifying Problems, Opportunities and Objectives 2. Determining human info requirements 3. Analyzing System Needs 4. Designing the Recommended System 5. Developing + Documenting Software 6. Testing + Maintaining the System 7. Implementing and Evaluating the System ( I Dont Ask Derreck Daring Test Inquisitions) (Refer to Figure 1.1)

*3 Roles of Systems Analyst

1. Outside Consultant to business 2. Supporting Expert within business 3. Agent of Change in both internal and External Situations

4 Core Agile Practices

1. Short Releases 2. 40-Hour Work Week 3. Hosting on-site Customer 4. Using Pair Programming

Use SDLC approach when:(Figure 1.6)

1. Systems have been developed and documented using SDLC 2. It is important to document each step of the way 3. Upper-level management feels more comfortable or safe using SDLC 4. There are adequate Resources and time to complete the full SDLC 5. Communication of how new systems work is important (Figure 1.6)

Use Object-Oriented Methodologies when: (Figure 1.6)

1. The problems modeled lend themselves to classes 2. An organization supports the UML learning 3. Systems can be added gradually, one subsystem at a time 4. Reuse of Previously Written Software is a possibilty 5. It is acceptable to tackle the difficult problems first

Use agile methodologies when: (Figure 1.6)

1. There is a project champion of agile methods in the organization 2. Application needs to be developed quickly in response to a dynamic environment 3. A rescue takes place (the system failed and there is no time to figure out what went wrong) 4. The customer is satisfied with incremental improvements 5. Executives and analysts agree with principles of agile methodologies (Figure 1.6)

4 Agile Resources

1. Time 2. Cost 3. Quality 4. Scope - Agile methods can ensure successful completion by adjusting these important resources

2 Reasons Maintenance is Performed:

1. To Correct Software Errors 2. Enhance Software's Capability in response to changing organizational needs, generally involving three situations i. Users often request additional features ii. Business change over time iii. Hardware and Software are changing at an accelerated pace.

The Agile Approach is based on:

1. Values 2. Principles 3. Core Practices

Systems Analyst Role: Supporting Expert

2. Supporting Expert: - Analysts can work as a supporting expert for a company in which they are currently employed. - Use their expertise on computer hardware and software within business. - Typically not full-blow systems project - Typically analyst is not managing the project but is serving as a source for those that are.

Systems Analyst Role: Agent of Change

3. Agent of Change - Most comprehensive and responsible role - Analyst's presence in a business changes it - Important for analyst to communicate with users and managers in order to make real change

Ajax

A programming methodology that uses a number of existing technologies together and enables Web applications to make incremental updates to the user interface without the need to reload the browser page.

Reasons to Participate in Open Source Communities

A. Rapidity with which new software can be developed and tested B. Faster to have a committed group of experts develop, test, and debug code C. This fosters creativity D. Have many good minds work with innovative applications E. Potential to reduce development costs F. Bolster their self-image G. Contribute something worthwhile to the software development community

Similarities of Agile and OOA

Allow Subsystems to be built one at a time until entire system is complete

Similarities of Agile and SDLC

Both concerned with the way data logically moves through the system

Similarities of SDLC and OOA

Both require extensive planning and diagraming

Structured Decisions

Decisions for which the conditions, condition alternatives, actions and action rules can be determined.

What is a class

Defines the set of shared attributes and behaviors found in each object in the class

Linux Kernel

One of the well-known open source communities maintains the Linux Kernel and is supported by Linux Foundation

Time Spent by departments on Maintenance

Range from 48% to 60% of total time spent developing system

Opportunities

Situations that the analyst believes can be improved through the use of computerized information systems.

Bespoke software

Software developed specifically for a set of users or customers. The opposite is off-the-shelf software.

Systems Analyst

Systematically assesses how users interact with technology and how businesses function by examining the inputting and processing of data and the outputting of information with the intent of improving organization processes.

Q14: What is the role of a systems analyst working in a corporation in the development of open source software?

They must first prove themselves worthy members of the group, and then strike up and maintain relationships that are mutually beneficial.

SDLC Phase 3: Analyzing System Needs

This phase includes: 1. Tools and techniques to help analyst make requirement determinations: DFD, Activity diagrams, Data Dictionary a. Special Tools and Techniques: help the analyst make requirement determinations 2. Analyze Structured Decisions Made 3. Prepares Systems Proposal i. DFD: Data Flow Diagram: Chart the input, processes, and output of the business's functions ii. Activity diagrams or sequence diagrams show the sequence of events, illustrating systems in a structured, graphic form. iii. From all of these diagrams, a Data Dictionary is developed that lists all the data items used in the system, as well as their specifications b. During this phase, systems analyst also analyzes the structured decisions made. i. Structured Decisions: Decisions for which the conditions, condition alternatives, actions and action rules can be determined. ii. Tools used when analyzing structured decisions: Structured English, decision tables, and decision trees. c. At this point, systems analyst prepares a systems proposal that summarizes what has been discovered about the users, usability, and usefulness of current systems; provides cost-benefit analysis of alternatives; and makes recommendations on what (if anything) should be done. d. If one of the recommendations is acceptable to management, the analyst proceeds along that course. e. Each systems problem is unique and there is never just one correct solution.

Agile Stage 2: Planning

Time: Takes only a few days You and your customers agree on a date anywhere from 2 months to 6 months from the current date to deliver solutions to their most pressing business problems. If your exploration activities were sufficient, this stage should be very short Agile planning process has been characterized using the idea of a planning game Goal: Maximize the value of the system produced by the agile team. Strategy pursued by the agile development team is always one of downplaying risk • To do this, they design the simplest solution possible, put the system into production as soon as possible, get feedback from the business customer about whats working, and adapt their design from there. Two main players: development team, business customer Business customer Agile process is an unusually demanding role for the customer to play because they decide what the development team should tackle first. Their decision sets priorities

Responsive Design

While you are participating in the open source community, you are at the same time employed by and organization that wasn't to leverage your participation in the open source community to incorporate OSS designs into proprietary produces, processes, knowledge and IT artifacts that it is developing and that it hope to eventually sell as a product.

SDLC Phase 7: Implementing and Evaluating the System

a. Analyst helps implement the information system. b. Involves training users to handle the system. c. Analyst needs to plan for smooth conversion from the old system to a new one. d. Evaluation is included as part of this final phase of SDLC, but in fact evaluation takes place during every phase. e. Key criterion that must be satisfied: Whether intended users are indeed using the system. f. It should be noted that systems work is often cyclical: When an analyst finishes one phase of systems development and proceeds to the next, the discovery of a problem may force the analyst to return to the previous phase and modify the work done there

SDLC Phase 5: Developing and Documenting Software

a. Analyst works with coders to develop any original software that is needed. b. Analyst works with users to develop effective documentation for software including procedure manuals, online help, and websites featuring FAQ or Red Me files shipped with new software.

SDLC Phase 6: Testing and Maintaining System

a. Before an IS can be used, it must be tested b. Less costly to catch problems before rather than after the system is signed over to the users c. Coders alone complete some of the testing, and some testing is done by systems analysts in conjunction with coders. d. A series of test to pinpoint problems is run, first with sample data and eventually with actual data from the current system. e. Test Plans are often created early in the SDLC and are refined as the project progresses. f. Maintenance of the system and its documentation begins in this phase and is carried out routinely throughout the life of the IS.

SDLC Phase 1: Identifying Problems, Opportunities and Obejctives

a. Critical to the success of the rest of the project because no one wants to waste time addressing the wrong problem b. Identify Problem: Requires analyst to look honestly into what is occurring at a business c. Then together with other organization members, pinpoint problems d. Opportunities: are situations that the analyst believes can be improved through the use of computerized information systems. e. Identifying objectives: Analyst must first discover what the business is trying to do. Then the analyst will be able to see whether some aspect of info systems applications can help the company reach its objectives by addressing specific problems or opportunities f. People Involved in First Phase: Users, Analysts, Systems managers coordinating the project. g. Activities in First Phase: Interviewing management, summarizing the knowledge obtained, estimating the scope of the project, documenting the results h. Output: output of this phase is a feasibility report that contains a problem definition and summarizes the objectives.

SDLC Phase 2: Determining Human Information Requirements

a. In this stage, the analyst is striving to understand what information users need to perform their jobs. At this point, the analyst is examining how to make the system useful to the people involved. b. Analyst determines the human needs of the users involved, using a variety of tools to understand how users interact in the work context with their current information systems. c. Analysts use interactive methods such as: Interviewing, Sampling and investigating hard data, using questionnaires; unobtrusive methods, such as observing decision makers' behavior and their office environments; and all-encompassing methods such as prototyping. d. People involved in this phase: Analysts and users, typically operations managers and operations workers. e. Systems analyst needs to know: the who (people who are involved), what (business activity), where (the environment in which the work takes place), when (the timing), and how (how the current procedures are performed) f. Analyst must then ask: Why is the business using the current system? To see what they need to incorporate in new system, and what they need to improve upon g. Analyst needs to know how the business functions and have complete information on the people, goals, data and procedures involved

SDLC Phase 4: Designing Recommended System

a. Use the info collected earlier to accomplish the logical designs of the info system b. Design procedures for users to help them accurately enter data so that data going into the information system is correct c. Design Human-Computer Interface/UI: with the help of users to make sure the system is audible, legible, and safe, as well as attractive and enjoyable to use. d. Design databases e. Design output (either onscreen or printed) that meets their information needs


Ensembles d'études connexes

Anatomy and Physiology study set

View Set

ATI - Rectum and Genitourinary Tract

View Set

General Engine Diagnosis (Tests.com)

View Set

Mental and Emotional Health - Mental, Emotional, and Stress-Related problems - Anxiety, Depression, and Suicide

View Set