0% found this document useful (0 votes)
9 views

System Analysis and Design

Uploaded by

00namjoonie
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

System Analysis and Design

Uploaded by

00namjoonie
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Explain how systems analysis and design contribute to the software

development life cycle


Systems Analysis and Design (SAD) is a crucial aspect of the Software Development Life Cycle (SDLC) as it
lays the groundwork for building efficient, user-centered information systems. SAD provides a systematic
approach for assessing business processes, user needs, and developing information systems that meet
these demands (Whitten et al., 2003). During the 'Analysis' stage of SDLC, systems analysts engage in
understanding and documenting user requirements, while 'Design' maps these requirements into
specifications for system construction (Valacich et al., 2017). This forms a vital link between the
conceptual, logical design and the actual physical implementation of the system, ensuring alignment
with business objectives. Moreover, SAD encompasses various techniques, including data flow diagrams,
entity-relationship diagrams, and use cases, aiding in effective communication between stakeholders and
developers. This ensures a comprehensive understanding of the system requirements, reducing the
potential for misinterpretation and costly revisions later in the SDLC (Dennis et al., 2019). Thus, SAD
underpins the SDLC by providing a systematic approach to gather, analyze, and translate user
requirements into a functional information system.

Describe the components of systems analysis


Systems analysis investigates a system, identifying problems and opportunities, and providing effective
solutions. It involves various components working together to achieve high-quality results, including:

 Problem identification

 Requirements gathering

 Feasibility analysis

 Systems design

 Implementation

 Testing and quality assurance

 Maintenance

Each of these components plays a critical role in the systems analysis process, and they must be
carefully planned and executed to ensure a successful outcome. (Martin, R. C. 2009).
Analyze different approaches to system analysis and design

Systems Analysis and Design (SAD) is a critical process in software development, encompassing various
approaches, each with unique strengths and applications (Dennis et al., 2019). The traditional 'Waterfall
Model' is a linear approach where each phase of the Software Development Life Cycle (SDLC) must be
completed before proceeding to the next (Royce, 1987). While this model provides clear, distinct stages
and deliverables, it lacks flexibility for changes later in the process, which might be costly and time-
consuming. Alternatively, the 'Spiral Model', proposed by Boehm (1988), combines the linear, sequential
nature of the Waterfall Model with iteration, allowing for more flexibility. Each spiral represents a phase
of the SDLC, and these cycles are repeated until the final system is developed. This model enables risk
assessment and refinement at each stage but requires significant management oversight due to its
complexity. The 'Agile Model' emphasizes iterative development, where requirements and solutions
evolve through the collaborative effort of self-organizing teams (Highsmith and Cockburn, 2001). This
approach provides flexibility for changes, promotes customer satisfaction through continuous delivery of
functional software, but requires constant communication and collaboration. The 'Rapid Application
Development (RAD)' approach focuses on fast development and delivery of a high-quality system at a
relatively low investment cost (Martin, 1991). RAD leverages reusable components and concurrent
development to achieve its speed but may lack depth in non-functional system elements. Each approach
has its merits and should be chosen based on the specific requirements, resources, and environment of
the project.

Evaluate system design requirements

System design requirements are integral to the creation of effective information systems. They
translate user needs and business objectives into technical specifications that guide the
development process (Dennis et al., 2019). A successful system design focuses on functionality,
usability, reliability, performance, and supportability (ISO/IEC, 2011). Functionality aligns the
system with user and business requirements. Usability ensures an intuitive, user-friendly
interface, enhancing user satisfaction and productivity. Reliability pertains to the system's
capability to perform under stated conditions for specified periods. Performance concerns system
speed, responsiveness, and scalability. Supportability involves maintainability and extensibility,
facilitating updates and improvements over time. Evaluating these requirements requires
consultation with stakeholders, balancing trade-offs between desired features and available
resources, ensuring alignment with business strategy and user needs (Valacich et al., 2017).
Explain the importance of each stage in traditional software lifecycle
approaches

Traditional software lifecycle approaches, often represented by the Waterfall Model, are sequential in
nature and consist of distinct stages, each playing a critical role (Royce, 1987).

Requirements Gathering: This stage involves understanding and documenting the needs of the user and
the system. Accurate and comprehensive requirements gathering reduces potential miscommunication
and costly alterations later in the process (Valacich et al., 2017).

System Design: Here, the requirements are translated into a design plan, outlining the system's
architecture and specifications. This blueprint guides the development process and ensures alignment
with user needs and business objectives (Dennis et al., 2019).

Implementation: The system design is transformed into functional software during this stage. Code is
written, compiled, and tested to create the software product (Pressman, 2010).

Testing: The software is thoroughly tested for bugs, performance issues, and alignment with initial
requirements. The goal is to ensure the software operates as expected before deployment (Myers et al.,
2004).

Deployment: The tested software is released to the end-users. This can be done in several ways,
including phased rollout or complete release (Pressman, 2010).

Maintenance: Post-deployment, the software is maintained and updated as necessary, addressing bugs,
adding new features, or making changes to align with evolving user needs (Pfleeger and Atlee, 2010).

Each stage of the traditional software lifecycle contributes to the overall success of the software
development process.

Evaluate software development lifecycle models

Software Development Lifecycle (SDLC) models provide a structured approach to the process of
developing software systems. The evaluation of each depends largely on the context in which it is
applied.

The 'Waterfall Model' is a traditional, linear model with distinct phases. Its predictability and structure
can be beneficial for simple, well-understood projects but its lack of flexibility can be detrimental if
changes are required mid-process (Royce, 1987). 'Spiral Model' combines linear and iterative
approaches, offering more flexibility, but its complexity requires substantial management oversight and
risk analysis (Boehm, 1988). 'Agile Model' is highly iterative and flexible, allowing for changes and
adjustments throughout the process. However, it requires significant customer involvement and can
struggle with larger projects or those with less clear initial requirements (Highsmith and Cockburn,
2001). 'RAD Model' allows for rapid software development by utilizing reusable components, but it may
not be suitable for projects with complex, unique requirements (Martin, 1991).

In conclusion, the choice of SDLC model depends on the nature and requirements of the project at hand.

Explain hard and soft system methodologies


Hard and soft system methodologies represent two distinct approaches to Systems Analysis and Design.

Hard Systems Methodology (HSM) assumes a well-defined problem and uses mathematical and
computational models to analyze and optimize system performance. It's a technical approach often used
for systems where quantitative measurements are possible and desirable, such as logistics or
manufacturing processes (Checkland, 1999).

Soft Systems Methodology (SSM), on the other hand, recognizes that some systems are complex, ill-
structured, and involve human interaction, thus cannot be easily quantified. Developed by Checkland
(1981), SSM focuses on understanding differing perceptions and exploring possible improvements to
accommodate a variety of stakeholders' viewpoints. This is particularly useful in socio-technical systems
like healthcare or education.

While HSM is objective and solution-focused, SSM is subjective and learning-focused. Choosing the right
methodology depends on the nature of the system and problem context.
Section B

Explain types of information systems

Information systems can be categorized into several types, each serving a different organizational level or
functional area (Laudon and Laudon, 2016).

 Transaction Processing Systems (TPS): These systems process routine transactions efficiently
and accurately, such as billing or payroll (Oz, 2008).

 Management Information Systems (MIS): These systems provide managers with reports and
access to the organization's current performance and historical records, supporting operational
decision-making (O'Brien and Marakas, 2011).

 Decision Support Systems (DSS): DSS support complex decision-making and problem-solving,
providing interactive tools for analysis and simulation (Power, 2007).

 Executive Information Systems (EIS): Also known as Executive Support Systems (ESS), these
provide high-level executives with information relevant to strategic decision-making (Lucey,
2004).

 Expert Systems (ES) and Artificial Intelligence (AI): These systems mimic human expertise to
solve complex problems, offering potential solutions or recommendations (Turban and Aronson,
2001).

Each system plays a critical role in an organization's information management structure.

Evaluate how the functionality of information systems varies between


different information systems
The functionality of information systems varies considerably depending on their specific type, target
users, and the objectives they serve within an organization (Laudon and Laudon, 2016).

Transaction Processing Systems (TPS) perform and record daily routine transactions necessary to conduct
business, such as sales order entry, hotel reservations, payroll, and others. Their functionality is focused
on fast and accurate processing, ensuring operational efficiency and reliability (Oz, 2008). Management
Information Systems (MIS) primarily serve middle management by providing reports on the
organization's current performance and historical records. MIS functionality involves summarizing and
reporting on basic operational activities, aiding managers in tracking and controlling business operations
(O'Brien and Marakas, 2011). Decision Support Systems (DSS) serve management levels involved in
decision-making processes. DSS are interactive, flexible, and adaptable, allowing users to make queries,
adjust assumptions, and assess the impact of decisions. Their functionality is centered around facilitating
complex decision-making and problem-solving (Power, 2007). Executive Information Systems (EIS) are
tailored to meet the strategic information needs of top-level executives. These systems offer graphical
presentations, exception reporting, and easy-to-use interfaces to help executives identify trends and
problems and make strategic decisions (Lucey, 2004). Expert Systems (ES) and Artificial Intelligence (AI)
systems simulate human expertise by applying if-then rules or framing intelligent behavior as search,
inference, or problem-solving. Their functionality revolves around offering recommendations,
diagnostics, or making decisions in specialized areas (Turban and Aronson, 2001).

Thus, the functionality of each type of information system aligns with the specific needs of its users, and
the organizational activities it supports.

Explain system design concepts

System design is a crucial phase of the software development life cycle (SDLC), involving the
transformation of user requirements into suitable forms, which helps programmers in system coding and
implementation (Dennis et al., 2019).

System design encompasses two major areas: architectural design and detailed design. Architectural
design, also known as high-level design, outlines the system's overall structure, defining major
components and their interactions. It provides a roadmap for software development, illustrating how the
system meets functional and performance requirements (Bass et al., 2012). Detailed design, or low-level
design, focuses on the detailed workings of individual system components. It specifies algorithms, data
structures, interfaces, and methods for each component, guiding the coding and testing stages (Parnas
and Clements, 1986). Key system design concepts include modularity, coupling, and cohesion.
Modularity refers to dividing a system into separate, independent modules to simplify development,
testing, and maintenance (Baldwin and Clark, 2000). Coupling and cohesion are design principles aimed
at improving system structure and quality. Low coupling (minimal dependency between modules) and
high cohesion (each module has a single, well-defined task) are desirable qualities in system design
(Yourdon and Constantine, 1979).

Thereupon, system design concepts provide a structured approach to transform user requirements into a
functional system, ultimately enhancing software quality and maintainability.

Evaluate different system design methodologies

Structured Design is a traditional, top-down methodology that breaks a system into interrelated
subsystems, promoting clarity and thorough understanding. It's rigorous and systematic, but its rigidity
can limit flexibility when dealing with evolving project requirements (Yourdon and Constantine, 1979).

Object-Oriented Design (OOD), in contrast, considers a system as a collection of interacting objects with
properties and behaviors. This approach facilitates modularity and reusability of code, enhancing system
maintenance and adaptation. However, it requires a more complex cognitive model and thorough initial
planning (Booch, 1994).
Agile Design methodologies prioritize responsiveness to changes and stakeholder collaboration. Agile
techniques, like Scrum or Extreme Programming, allow system design to evolve incrementally based on
continuous user feedback. This flexibility can accelerate product delivery but may encounter difficulties
in larger projects or those with less defined initial requirements (Highsmith and Cockburn, 2001).

Lastly, Prototyping involves creating a working model of the system, refining it based on user feedback.
This approach can improve user satisfaction and reduce risks, but if not managed correctly, it can lead to
hasty design decisions (Budde et al., 1992).
Reference

Dennis, A., Wixom, B.H., and Roth, R.M., 2019. Systems Analysis and Design. 7th ed. John Wiley & Sons.

Valacich, J.S., George, J.F., and Hoffer, J.A., 2017. Essentials of Systems Analysis and Design. 6th ed.
Pearson.

Whitten, J.L., Bentley, L.D., and Dittman, K.C., 2003. Systems Analysis and Design Methods. 7th ed.
McGraw-Hill.

Martin, R. C. (2009). Clean code: A handbook of agile software craftsmanship. Pearson


Education
Boehm, B. W., 1988. A Spiral Model of Software Development and Enhancement. Computer, 21(5),
pp.61-72.

Dennis, A., Wixom, B.H., and Roth, R.M., 2019. Systems Analysis and Design. 7th ed. John Wiley & Sons.

Highsmith, J. and Cockburn, A., 2001. Agile software development: The business of innovation.
Computer, 34(9), pp.120-127.

Martin, J., 1991. Rapid Application Development. Macmillan.

Royce, W.W., 1987. Managing the development of large software systems: concepts and techniques. In:
Proceedings of the 9th international conference on Software Engineering, pp. 328-338.

Dennis, A., Wixom, B.H., and Roth, R.M., 2019. Systems Analysis and Design. 7th ed. John Wiley & Sons.

ISO/IEC, 2011. Systems and software engineering — Systems and software Quality Requirements and
Evaluation (SQuaRE) — System and software quality models. ISO/IEC 25010:2011.

Valacich, J.S., George, J.F., and Hoffer, J.A., 2017. Essentials of Systems Analysis and Design. 6th ed.
Pearson.

Dennis, A., Wixom, B.H., and Roth, R.M., 2019. Systems Analysis and Design. 7th ed. John Wiley & Sons.

Myers, G.J., Sandler, C., and Badgett, T., 2004. The Art of Software Testing. 2nd ed. John Wiley & Sons.

Pfleeger, S.L., and Atlee, J.M., 2010. Software Engineering: Theory and Practice. 4th ed. Pearson.

Pressman, R.S., 2010. Software Engineering: A Practitioner's Approach. 7th ed. McGraw-Hill.

Royce, W.W., 1987. Managing the development of large software systems: concepts and techniques. In:
Proceedings of the 9th international conference on Software Engineering, pp. 328-338.

Valacich, J.S., George, J.F., and Hoffer, J.A., 2017. Essentials of Systems Analysis and Design. 6th ed.
Pearson.

Boehm, B.W., 1988. A Spiral Model of Software Development and Enhancement. Computer, 21(5), pp.61-
72.

Highsmith, J. and Cockburn, A., 2001. Agile software development: The business of innovation.
Computer, 34(9), pp.120-127.
Martin, J., 1991. Rapid Application Development. Macmillan.

Royce, W.W., 1987. Managing the development of large software systems: concepts and techniques. In:
Proceedings of the 9th international conference on Software Engineering, pp. 328-338.

Checkland, P., 1981. Systems Thinking, Systems Practice. John Wiley & Sons.

Checkland, P., 1999. Systems Thinking. In: R.L. Flood and M.C. Jackson, eds., Critical Systems Thinking:
Directed Readings. John Wiley & Sons, pp. 85-92.

Laudon, K.C., and Laudon, J.P., 2016. Management Information Systems: Managing the Digital Firm. 14th
ed. Pearson.

Lucey, T., 2004. Management Information Systems. 9th ed. Cengage Learning EMEA.

O'Brien, J.A., and Marakas, G.M., 2011. Management Information Systems. 10th ed. McGraw-Hill/Irwin.

Oz, E., 2008. Management Information Systems. 6th ed. Cengage Learning.

Power, D.J., 2007. A Brief History of Decision Support Systems. DSSResources.COM, World Wide Web

Turban, E., and Aronson, J.E., 2001. Decision Support Systems and Intelligent Systems. 6th ed. Prentice
Hall.

Baldwin, C.Y., and Clark, K.B., 2000. Design Rules: The Power of Modularity. MIT Press.

Bass, L., Clements, P., and Kazman, R., 2012. Software Architecture in Practice. 3rd ed. Addison-Wesley.

Dennis, A., Wixom, B.H., and Roth, R.M., 2019. Systems Analysis and Design. 7th ed. John Wiley & Sons.

Parnas, D.L., and Clements, P.C., 1986. A Rational Design Process: How and Why to Fake It. IEEE
Transactions on Software Engineering, SE-12(2), pp.251-257.

Yourdon, E., and Constantine, L.L., 1979. Structured Design: Fundamentals of a Discipline of Computer
Program and Systems Design. Prentice Hall.

Booch, G., 1994. Object-oriented analysis and design with applications. 2nd ed. Addison-Wesley.

Budde, R., Kuhlenkamp, K., Mathiassen, L., and Züllighoven, H., 1992. Prototyping: An Approach to
Evolutionary System Development. Springer.

Highsmith, J. and Cockburn, A., 2001. Agile software development: The business of innovation.
Computer, 34(9), pp.120-127.

Yourdon, E., and Constantine, L.L., 1979. Structured Design: Fundamentals of a Discipline of Computer
Program and Systems Design. Prentice Hall.

You might also like