Software Engineering

Software Engineering

Components of a computer-based information system application.



Software Engineering


FIGURE 1-3 The software engineering process uses proven methodologies, techniques, and tools.

with particular emphasis on application software development—your primary responsibility as a systems analyst.

Our goal is to help you understand and follow the software engineering process that leads to the creation of information systems. As shown in Figure 1-3, proven methodologies, techniques, and tools are central to software engineering processes (and to this book).

Methodologies are a sequence of step-by-step approaches that help develop your final product: the information system. Most methodologies incorporate several development techniques, such as direct observations and interviews with users of the current system.

Techniques are processes that you, as an analyst, will follow to help ensure that your work is well thought-out, complete, and comprehensible to others on your project team. Techniques provide support for a wide range of tasks, in- cluding conducting thorough interviews with current and future users of the in- formation system to determine what your system should do, planning and managing the activities in a systems development project, diagramming how the system will function, and designing the reports, such as invoices, your system will generate for its users to perform their jobs.

Tools are computer programs, such as computer-aided software engineering (CASE) tools, that make it easy to use specific techniques. These three elements— methodologies, techniques, and tools—work together to form an organizational approach to systems analysis and design.

System A group of interrelated procedures used for a business function, with an identifiable boundary, working together for some purpose.

6 Part I Foundations for Systems Development








FIGURE 1-4 Seven characteristics of a system.

In the rest of this chapter, you will learn about approaches to systems development—the data- and process-oriented approaches. You will also identify the various people who develop systems and the different types of sys- tems they develop. The chapter ends with a discussion of some of the method- ologies, techniques, and tools created to support the systems development process. Before we talk more about computer-based information systems, let’s briefly discuss what we mean by the word system.

Systems The key term used most frequently in this book is system. Understanding sys- tems and how they work is critical to understanding systems analysis and design.

Definition of a System and Its Parts A system is an interrelated set of business procedures (or components) used within one business unit, working together for some purpose. For example, a system in the payroll department keeps track of checks, whereas an inventory system keeps track of supplies. The two systems are separate. A system has nine characteristics, seven of which are shown in Figure 1-4. A detailed expla- nation of each characteristic follows, but from the figure you can see that a sys- tem exists within a larger world, an environment. A boundary separates the system from its environment. The system takes input from outside, processes it, and sends the resulting output back to its environment. The arrows in the figure show this interaction between the system and the world outside of it.

  1. Components
  2. Interrelated components

Constraint A limit to what a system can accomplish.

Interface Point of contact where a system meets its environment or where subsystems meet each other.

Environment Everything external to a system that interacts with the system.

Purpose The overall goal or function of a system.

Boundary The line that marks the inside and outside of a system and that sets off the system from its environment.

Interrelated Dependence of one part of the system on one or more other system parts.

Component An irreducible part or aggregation of parts that makes up a system; also called a subsystem.

Chapter 1 The Systems Development Environment 7

  1. Boundary
  2. Purpose
  3. Environment
  4. Interfaces
  5. Constraints
  6. Input
  7. Output

A system is made up of components. A component is either an irreducible part or an aggregate of parts, also called a subsystem. The simple concept of a component is very powerful. For example, just as with an automobile or a stereo system, with proper design, we can repair or upgrade the system by changing individual components without having to make changes throughout the entire system. The components are interrelated; that is, the function of one is somehow tied to the functions of the others. For example, the work of one component, such as producing a daily report of customer orders re- ceived, may not progress successfully until the work of another component is finished, such as sorting customer orders by date of receipt. A system has a boundary, within which all of its components are contained and which es- tablishes the limits of a system, separating it from other systems. Compo- nents within the boundary can be changed, whereas systems outside the boundary cannot be changed. All of the components work together to achieve some overall purpose for the larger system: the system’s reason for existing.

A system exists within an environment—everything outside the system’s boundary that influences the system. For example, the environment of a state university includes prospective students, foundations and funding agencies, and the news media. Usually the system interacts with its environment. A university interacts with prospective students by having open houses and recruiting from local high schools. An information system interacts with its environment by receiving data (raw facts) and information (data processed in a useful format). Figure 1-5 shows how a university can be seen as a system. The points at which the system meets its environment are called interfaces; an interface also occurs between subsystems.

In its functioning, a system must face constraints—the limits (in terms of capacity, speed, or capabilities) to what it can do and how it can achieve its purpose within its environment. Some of these constraints are imposed in- side the system (e.g., a limited number of staff available), and others are im- posed by the environment (e.g., due dates or regulations). A system takes input from its environment in order to function. People, for example, take in food, oxygen, and water from the environment as input. You are constrained from breathing fresh air if you’re in an elevator with someone who is smok- ing. Finally, a system returns output to its environment as a result of its func- tioning and thus achieves its purpose. The system is constrained if electrical power is cut.

Important System Concepts Systems analysts need to know several other important systems concepts:

� Decomposition

� Modularity

� Coupling

� Cohesion

Decomposition The process of breaking the description of a system down into small components; also known as functional decomposition.

8 Part I Foundations for Systems Development


Prospective Students

News Media


University Boundary







Funding Sources










FIGURE 1-5 A university as a system.

Decomposition is the process of breaking down a system into its smaller components. These components may themselves be systems (subsystems) and can be broken down into their components as well. How does decom- position aid understanding of a system? It results in smaller and less com- plex pieces that are easier to understand than larger, complicated pieces. Decomposing a system also allows us to focus on one particular part of a system, making it easier to think of how to modify that one part independ- ently of the entire system. Decomposition is a technique that allows the sys- tems analyst to:

� Break a system into small, manageable, and understandable subsystems

� Focus attention on one area (subsystem) at a time, without interference from other areas

� Concentrate on the part of the system pertinent to a particular group of users, without confusing users with unnecessary details

� Build different parts of the system at independent times and have the help of different analysts

Coupling The extent to which subsystems depend on each other.

Modularity Dividing a system up into chunks or modules of a relatively uniform size.

Chapter 1 The Systems Development Environment 9

Figure 1-6 shows the decomposition of a portable MP3 player. Decomposing the system into subsystems reveals the system’s inner workings. You can decom- pose an MP3 player into at least three separate physical subsystems. (Note that decomposing the same MP3 player into logical subsystems would result in a different set of subsystems.) One subsystem, the battery, supplies the power for the entire system to operate. A second physical subsystem, the storage system, is made up of a hard drive that stores thousands of MP3 recordings. The third subsystem, the control subsystem, consists of a printed circuit board (PCB), with various chips attached, that controls all of the recording, playback, and access functions. Breaking the subsystems down into their components reveals even more about the inner workings of the system and greatly enhances our understanding of how the overall system works.

Modularity is a direct result of decomposition. It refers to dividing a system into chunks or modules of a relatively uniform size. Modules can represent a system simply, making it easier to understand and easier to redesign and rebuild. For ex- ample, each of the separate subsystem modules for the MP3 player in Figure 1-6 shows how decomposition makes it easier to understand the overall system.

Coupling means that subsystems are dependent on each other. Subsystems should be as independent as possible. If one subsystem fails and other subsys- tems are highly dependent on it, the others will either fail themselves or have problems functioning. Looking at Figure 1-6, we would say the components of a portable MP3 player are tightly coupled. The best example is the control sys- tem, made up of the printed circuit board and its chips. Every function the MP3 player can perform is enabled by the board and the chips. A failure in one part of the circuit board would typically lead to replacing the entire board rather than attempting to isolate the problem on the board and fix it. Even though re- pairing a circuit board in an MP3 player is certainly possible, it is typically not cost-effective; the cost of the labor expended to diagnose and fix the problem may be worth more than the value of the circuit board itself. In a home stereo system, the components are loosely coupled because the subsystems, such as the speakers, the amplifier, the receiver, and the CD player, are all physically separate and function independently. If the amplifier in a home stereo system fails, only the amplifier needs to be repaired.

FIGURE 1-6 An MP3 player is a system with power supply, storage and control subsystems.

Sources: Shutterstock; ©Harald van Arkel/Chipmunk International.

Battery: Power system

Hard drive: Storage system

Printed circuit board: Control system

10 Part I Foundations for Systems Development

Cohesion is the extent to which a subsystem performs a single function. In the MP3 player example, supplying power is a single function.

This brief discussion of systems should better prepare you to think about computer-based information systems and how they are built. Many of the same principles that apply to systems in general apply to information systems as well. In the next section, we review how the information systems development process and the tools that have supported it have changed over the decades.

The post Software Engineering appeared first on best homeworkhelp.

"Looking for a Similar Assignment? Get Expert Help at an Amazing Discount!"