Introduction
In the field of Software Engineering, foundational knowledge is essential for students and learners. This unit focuses on key concepts, beginning with system analysis and design, and covers an overview of computer systems, their types, and the roles of users in the software development life cycle. It also delves into programming basics, including the data processing cycle, steps for program creation, and structured programming. The aim is to assess your understanding of these foundational elements.
Objectives
By the end of this unit, you should be able to:
- Define a computer system and describe its various types.
- Identify the major participants in software development.
- Practice the Input-Process-Output (IPO) model of data processing.
- Explain the steps involved in program creation.
- Apply structured programming techniques to solve real-world problems.
Key Terms
- A System: A collection of components that work together to achieve a specific objective.
- IPO (Input, Process, Output): The fundamental cycle of data processing in a program.
Computer Systems
Systems are designed to solve specific problems, with the systems approach providing a structured method to tackle these issues. System Analysis and Design (SAD) primarily focuses on software development activities.
What is a System?
According to Tran Thi Phien (2006), a system is a collection of components that collaborate to achieve a common goal. Systems can include software, mechanical, electrical, and electronic components, and are operated by people. Every system comprises three core components: input, processing, and output. For example:
- The human body is a natural system.
- Various societal systems (political, economic, educational) illustrate complex interdependencies.
Types of Systems
As noted by Tran Thi Phien (2006), we encounter various systems daily, particularly automated computerized information systems. These systems, which interact with or are controlled by computers, consist of five essential components:
- Infrastructure: Includes physical hardware like servers, CPUs, and terminals.
- Computer Software: Comprises operating systems, database systems, utilities, and applications.
- People: Users, programmers, and operators who interact with the system.
- Data: Information processed and stored by the system, such as files and databases.
- Procedures: Guidelines and policies governing the operation and maintenance of systems.
These components work together to transform data inputs into useful information outputs.
Participants in System Development
A successful systems development project typically involves several key players:
Users
Users are the primary stakeholders for whom the system is created. They provide critical input about the features needed for success. Users can be seen as both the "owners" and "customers" of the system, with the latter carrying the responsibility of payment and satisfaction.
Management
Management encompasses various levels, including:
- User Managers: Middle-level managers responsible for operational areas where the new system will be implemented.
- EDP/MIS Managers: Oversee the development project and resource allocation for technical staff.
- General Management: Top-level executives who may not be directly involved in the technical details but are concerned with overall organizational strategy.
Systems Analysts
The systems analyst plays a crucial role in any development project, serving multiple functions:
- Archaeologist and Scribe: Documenting existing business policies and practices.
- Innovator: Identifying the root causes of user problems and exploring new applications of technology.
- Mediator: Facilitating communication among various stakeholders, including users, managers, and programmers.
- Project Leader: Often taking on management responsibilities due to their experience.
Systems Designers
Systems designers transform user requirements into a high-level architectural design. They work closely with systems analysts to ensure that the design aligns with user needs and technical capabilities.
Programmers
Programmers implement the designs provided by systems designers. In larger projects, they may have limited interaction with systems analysts, as their work often follows a strict sequential order.
Operations Personnel
These individuals manage computer centers, networks, and data security. They ensure the smooth operation of computer programs and handle output from the systems after programming and testing are complete.
Conclusion
Understanding these fundamental concepts and roles in software engineering is essential for anyone looking to enter the field. The interplay between systems, participants, and processes forms the backbone of successful software development, ensuring that systems meet user needs while effectively solving problems.
Comments
Post a Comment