Systems Analysis and Design chapter 5 (1)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary objective of application development?

  • To establish a testing schedule
  • To translate designs into program and code modules (correct)
  • To create user interface designs
  • To conduct business operation analysis

Which of the following is NOT a popular development option in application development?

  • Object-oriented analysis
  • Structured analysis
  • Waterfall methodology (correct)
  • Agile methods

Which task is included in the systems design process?

  • Establishing a testing environment
  • Conducting user training sessions
  • Creating data flow diagrams (DFDs) (correct)
  • Designing the marketing strategy

What is the focus of agile methods in application development?

<p>An iterative process of planning, designing, coding, and testing (B)</p> Signup and view all the answers

Which technique is used to break down complex business operations?

<p>Functional decomposition diagrams (FDDs) (B)</p> Signup and view all the answers

What is necessary to ensure individual modules in traditional application development?

<p>They must be designed, coded, tested, and documented (A)</p> Signup and view all the answers

What is a key characteristic of the Extreme Programming (XP) approach?

<p>Iterative development and testing (A)</p> Signup and view all the answers

Which of the following tasks is essential in selecting a development strategy?

<p>Design user interface (B)</p> Signup and view all the answers

What does a data couple represent in structured application development?

<p>Data passed from one module to another (B)</p> Signup and view all the answers

How is a control couple represented in structured application development?

<p>With an arrow and filled circle (C)</p> Signup and view all the answers

What does a condition indicate in a control module?

<p>Which subordinate modules will be invoked (A)</p> Signup and view all the answers

What is indicated by a loop in structured application development?

<p>The repeated execution of one or more modules (D)</p> Signup and view all the answers

What does cohesion measure in the context of a module?

<p>A module's scope and processing characteristics (D)</p> Signup and view all the answers

Which of the following represents a module with a high degree of cohesion?

<p>A module that processes input and generates an output report (B)</p> Signup and view all the answers

What graphical symbol is used to indicate control flow in structured charts?

<p>Arrow with a filled circle (B)</p> Signup and view all the answers

In structured application development, what function does a filled circle serve in the representation of a control couple?

<p>To signify active control flow (A)</p> Signup and view all the answers

What describes the degree of interdependence among modules in a software application?

<p>Coupling (D)</p> Signup and view all the answers

Which of the following statements is true about loosely coupled modules?

<p>They are easier to maintain. (C)</p> Signup and view all the answers

Which step is NOT part of the process for drawing a structure chart?

<p>Implement the code (B)</p> Signup and view all the answers

What visual representation is used to describe the relationship and interaction among classes in object-oriented development?

<p>Class diagram (D)</p> Signup and view all the answers

What is a characteristic of tightly coupled modules?

<p>Interdependency on logic from another module (C)</p> Signup and view all the answers

In which step do you add couples, loops, and conditions when drawing a structure chart?

<p>Step 3 (C)</p> Signup and view all the answers

Which component is included in a class diagram?

<p>Class attributes (D)</p> Signup and view all the answers

What do object relationship diagrams provide in object-oriented application development?

<p>An overview of object interaction (C)</p> Signup and view all the answers

What is the purpose of maintaining a separate test environment?

<p>To ensure system security and protect the operational environment (B)</p> Signup and view all the answers

Who are the main groups identified for training during system installation?

<p>Users, managers, IT staff (A)</p> Signup and view all the answers

What should a training plan identify?

<p>Who should receive training and what is required (B)</p> Signup and view all the answers

What is conducted after implementing a system to assess its success?

<p>Post-implementation evaluation (C)</p> Signup and view all the answers

Which environment is primarily used for actual system operations?

<p>Operational or production environment (B)</p> Signup and view all the answers

Who has restricted access to the test environment?

<p>IT staff only (C)</p> Signup and view all the answers

Which of the following is NOT a part of the system installation process?

<p>Developing marketing strategies (D)</p> Signup and view all the answers

What should be observed carefully to determine training needs?

<p>How the system supports business operations (B)</p> Signup and view all the answers

What is the primary objective of software quality assurance?

<p>To avoid problems or identify them early (D)</p> Signup and view all the answers

Which of the following can lead to poor software quality?

<p>Inaccurate requirements (C)</p> Signup and view all the answers

Which documentation types must be differentiated during system implementation?

<p>Program, system, operations, and user documentation (C)</p> Signup and view all the answers

What is NOT a primary step in system installation and evaluation?

<p>Develop a marketing strategy (D)</p> Signup and view all the answers

What does the coding process involve?

<p>Translating design specifications into code (B)</p> Signup and view all the answers

Which of these methods is NOT typically considered a data conversion technique?

<p>Beta testing (B)</p> Signup and view all the answers

What is the aim of effective training techniques during system implementation?

<p>To minimize user frustrations and enhance usability (C)</p> Signup and view all the answers

What is post-implementation evaluation primarily focused on?

<p>Analyzing the final system performance (A)</p> Signup and view all the answers

What is the primary objective of implementing object-oriented designs?

<p>To translate object methods into program code modules (D)</p> Signup and view all the answers

In object-oriented programming, how should classes be structured in terms of coupling?

<p>Classes should be loosely coupled to enhance flexibility (D)</p> Signup and view all the answers

What is a key characteristic of Agile application development?

<p>Highly iterative process with constant communication with users (D)</p> Signup and view all the answers

How does Agile development adapt to project changes?

<p>Through a quick and nimble development process (D)</p> Signup and view all the answers

In terms of team dynamics, how does Agile development approach team size?

<p>Encourages small teams for effective communication (C)</p> Signup and view all the answers

What is the desired relationship between an object's methods in object-oriented design?

<p>Methods should be loosely coupled and highly cohesive (D)</p> Signup and view all the answers

Which of the following is NOT a characteristic of Agile application development?

<p>Fixed project requirements throughout the process (A)</p> Signup and view all the answers

What aspect of Agile development ensures rapid adaptation and communication?

<p>Frequent team meetings and discussions (C)</p> Signup and view all the answers

Flashcards

Software Quality Assurance

A set of activities that focus on ensuring the quality of software development. This involves a systematic approach to prevent and identify problems early in the development process.

Software Engineering

A set of principles, methodologies, and practices used to design, develop, and maintain high-quality software.

Modular design

A development approach where a program is broken down into smaller modules. Each module has a specific function, similar to Lego blocks.

Cohesion

A measure of how focused and single-purposed a module is. A module with high cohesion performs one well-defined task.

Signup and view all the flashcards

Coupling

A measure of how dependent modules are on each other. Low coupling means modules are independent, reducing the ripple effect of changes.

Signup and view all the flashcards

Coding Process

The process of translating the design specifications into working program code.

Signup and view all the flashcards

Unit Testing

Testing a single software module in isolation to verify it functions correctly, like testing a single engine part before building the entire car.

Signup and view all the flashcards

Integration Testing

Testing multiple software modules together to ensure they work correctly as a group. This is like testing all the parts of a car together.

Signup and view all the flashcards

Data Couple

A way to represent data exchange between modules in a structure chart. It shows that data is passed from one module to another.

Signup and view all the flashcards

Control Couple

A way to represent control flow between modules in a structure chart. Represented by an arrow with a filled circle, it shows that a status flag or signal is passed from one module to another.

Signup and view all the flashcards

Control Module

A module that triggers a series of other modules, deciding which ones to run based on conditions. It's indicated by a diamond in a structure chart.

Signup and view all the flashcards

What does a structure chart show?

A visual representation of how modules are arranged and how they interact with each other in a software program.

Signup and view all the flashcards

Loop

Indicates that a module is repeated a certain number of times. In a structure chart, its symbol is a curved arrow.

Signup and view all the flashcards

What is Modular Design?

A design principle aiming to break down software into smaller, manageable units (modules). Each module has a specific purpose, like a LEGO brick.

Signup and view all the flashcards

Application Development

The process of creating the software programs and code modules that form the foundation of an information system.

Signup and view all the flashcards

Functional Decomposition Diagram (FDD)

A method used for breaking down complex business operations into smaller, more manageable units. It helps visualize the flow of data and tasks.

Signup and view all the flashcards

Data Flow Diagram (DFD)

A diagram that displays the flow of data through a system. It shows how data is transformed and moved between different processes.

Signup and view all the flashcards

Structured Analysis

A structured approach to system design, characterized by breaking down the system into smaller modules and focusing on the interaction of those modules. It emphasizes strict planning and documentation.

Signup and view all the flashcards

Object-Oriented (O-O) Analysis

A software design approach that uses objects to represent real-world entities and their interactions. It promotes reusability and maintainability.

Signup and view all the flashcards

Agile Methods

A flexible and iterative approach to software development that focuses on rapid prototyping, continuous feedback, and adaptability. It prioritizes collaboration and customer involvement.

Signup and view all the flashcards

Implementation Phase

The final stage of system development where requirements are translated into working program code, testing is performed, and documentation is created.

Signup and view all the flashcards

Entity-Relationship Diagrams (ERDs)

A technique for visually representing relationships within a database. It shows entities (tables), attributes (columns), and how they connect to each other.

Signup and view all the flashcards

Loosely coupled modules

Modules that are independent of each other.

Signup and view all the flashcards

Tightly coupled modules

Modules that are heavily linked, with one module depending on internal logic within another.

Signup and view all the flashcards

Structure Chart

A visual representation of the relationships between software modules, showing the hierarchy and dependencies.

Signup and view all the flashcards

Drawing a Structure Chart

The process of creating a Structure Chart, involving several steps.

Signup and view all the flashcards

Class Diagram

A way to represent the relationships between classes of objects and their attributes and methods.

Signup and view all the flashcards

Object Relationship Diagram

A type of diagram that focuses on how objects interact with each other.

Signup and view all the flashcards

Object instances belong to classes

A feature of object-oriented development where individual objects belong to groups with similar characteristics.

Signup and view all the flashcards

Software Development

The process of using software tools and techniques to create software solutions; it involves planning, designing, coding, testing, and deploying software.

Signup and view all the flashcards

Coding

The process of translating the design into working program code.

Signup and view all the flashcards

Agile Development

A software development approach that emphasizes iterative development, frequent feedback, and close communication.

Signup and view all the flashcards

Operational Environment

The environment where the actual system runs and is used by end users. Think of it as the 'live' version of the software.

Signup and view all the flashcards

Test Environment

A separate environment for developers and analysts to test and work on software without affecting the live system. This is like a practice room before a concert.

Signup and view all the flashcards

Training Plan

A plan outlining who needs training on the new system and what they need to learn. Think of it as a roadmap for learning the software.

Signup and view all the flashcards

Users (in Training)

The group of people who will directly use the new system, like the team of cashiers at a supermarket.

Signup and view all the flashcards

Managers (in Training)

The group of individuals, usually managers, who oversee the system's use and make decisions regarding its implementation, like the manager of a retail store.

Signup and view all the flashcards

IT Staff (in Training)

The IT staff responsible for maintaining, troubleshooting, and supporting the system. Think of them as the 'doctors' who keep the system healthy.

Signup and view all the flashcards

Data Conversion

The process of converting data from the old system to the new one. Imagine moving all your music from one phone to another.

Signup and view all the flashcards

System Changeover

The process of putting the new system into operation. Think of it as launching a new website.

Signup and view all the flashcards

Study Notes

Systems Analysis and Design 11th Edition - Chapter 11 - Managing Systems Implementation

  • Chapter Objectives: Explain the importance of software quality assurance and software engineering, describe application development methods (structured, object-oriented, and agile), draw a structure chart showing top-down design, modular design, cohesion, and coupling, explain the coding process, explain unit, integration, and system testing, differentiate between program, system, operations, and user documentation, list the main steps in system installation and evaluation, develop training plans for various user groups and compare training options, describe data conversion and changeover methods, explain post-implementation evaluation and the final report to management

  • Software Quality Assurance: Companies are intensely concerned with product and service quality. The objective is to avoid problems or identify them as soon as possible. Poor quality can result from inaccurate requirements, design problems, coding errors, and ineffective testing.

  • Software Quality Assurance (Cont. 1): Disciplined application of engineering principles to application creation. The Software Engineering Institute (SEI) at Carnegie Mellon University provides quality standards and procedures for developers and systems analysts. The Capability Maturity Model (CMM) aims to improve software quality, reduce development time, and costs.

  • Software Quality Assurance (Cont. 2): Capability Maturity Model Integration (CMMI) tracks organizational processes, using five maturity levels (increasingly controlled and optimized). Process improvement strategies are defined and used at each level.

  • Software Quality Assurance (Cont. 3): International Organization for Standardization (ISO) establishes globally recognized quality standards for products and services. ISO 9000-3:2004 provides quality assurance methodologies for developing and maintaining software.

  • Overview of Application Development: The process of constructing programs that serve as the fundamental blocks of the information system. Popular methodologies include structured analysis, object-oriented (O-O) analysis, and agile methods. The objective is translating the design into program and code modules.

  • Review the Systems Design: Tasks involved include breaking down complex business operations, creating data flow diagrams (DFDs), developing an object-oriented model, selecting a development strategy, designing the user interface, creating entity-relationship diagrams (ERDs), and considering overall system architecture.

  • Application Development Tasks: Traditional methodologies establish an overall strategy and design, code, test, and document individual modules. Agile methods use an iterative approach of planning, designing, coding, and testing.

  • Overview of Application Development (Cont. 3): Agile methods (like Extreme Programming) create systems through an iterative process of planning, designing, coding, and testing. Simplified models like Extreme Programming (XP) emphasize iteration.

  • Systems Development Tools: Tools include entity-relationship diagrams to show interactions between system entities/objects, flowcharts to represent logical rules, pseudocode to describe program actions, and decision tables/trees for business logic modeling.

  • Sample of a Sales Promotion Policy: Shows an example of a policy with corresponding pseudocode. The example illustrates logical rules for customer discounts and bonus coupons.

  • Project Management: Assists with monitoring and controlling development efforts, including activities from planning to documentation.

  • Structured Application Development - Structure Charts: Illustrate modular program code and relationships among modules. Modules are rectangles. Control modules are higher-level, subordinate are lower-level. Reusable code modules that can be invoked from multiple points are included in the chart.

  • Structured Application Development - Data and Control Couples: Data couples are shown as arrows with empty circles, illustrating data transfer between modules. Control couples use filled circles to indicate status flags.

  • Structured Application Development - Cohesion and Coupling: Cohesion measures a module's scope and characteristics, with a higher degree of cohesion for a module that performs a single function. Coupling describes interdependence among modules (loosely coupled modules are easier to maintain and modify).

  • Structured Application Development-Testing: Includes unit testing (individual program/module testing), integration testing (two or more programs that depend on each other) and system testing (final test of all programs and verification of system performance and functionality). System testing also involves the evaluation of documentation and user instructions.

  • Structured Application Development - Additional Considerations: Includes stub testing (simulating program outcomes), a test plan created during the systems design phase.

  • Documentation: Program documentation describes inputs, outputs, and the logic of all program modules. The process starts in systems analysis and continues through implementation. Defect tracking tools/software document and track program defects, code changes, and patches; online documentation provides help when encountering problems; system documentation describes functions and implementation; operations documentation covers processing and output; user documentation includes instructions for users.

  • Online Documentation: Examples like the Cisco Support Community provide immediate help for questions and problem resolution.

  • Documentation - (Cont.): Sample pages from user manuals demonstrate how to add new tasks to the system, illustrating the use of inputs and information in forms/screens.

  • Management Approval: Post-system testing, the results are presented to management. Documentation status is updated and input from users is summarized. Time schedules, cost estimates, and staffing requirements are provided for system transition to full operation

  • System Installation and Evaluation: Establishing a separate operational and test environment, training users, managers, and staff, data conversion, changeover, post-implementation evaluation, and a final management report are key components of this phase.

  • Operational and Test Environments: A test environment is distinct from a production environment for software development work. Tests are performed in the test environment prior to implementing the new system in the operational area.

  • Training: Identifying who needs training, the type of training required, and the selection of program participants, is important. Training topics (specific to users, managers, and IT staff) and training methods (like vendor training, webinars, podcasts, tutorials, and outside training) are presented. Training should address all related processes, including learning and reliance on past training.

  • Data Conversion: Existing data is loaded into a new system. Data conversion strategies such as automation, ASCII or ODBC (Open Database Connectivity) are introduced. Input controls and secure practices are needed to protect data integrity.

  • System Changeover: Process of transitioning to a new system. Methods include direct cutover, parallel operation, pilot operation, and phased operation. Factors like cost and risk are considered during the changeover process.

  • Post-Implementation Evaluation: Evaluates the system's quality. Focuses on accuracy, completeness, timeliness of data, and factors like user satisfaction, security, and performance.

  • Post-Implementation Tasks (Cont.1): Assesses training effectiveness, the accuracy of cost-benefit estimates and schedules. Additional methods of evaluating the system are explored (interviewing personnel, observing operations, reading documentation materials, etc.).

  • Post-implementation Tasks (Cont.2): Sample user evaluation forms illustrate the numerical scale for easy tabulation of results and open-ended comment/suggestion options/spaces.

  • Chapter Summary (Cont.2 ): Provides a summary of the various tasks involved during the implementation phase (programming, testing, documentation, system changeover, training aspects, etc.

  • Chapter Summary (Cont.3 ): Training should be provided to all new system users, and adequate documentation is needed. Data conversion is often required when implementing a new system

  • Chapter Summary (Cont.4 ): A post-implementation evaluation and the required management report are included in the system implementation phase; documentation for the entire process is included.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser