2. 2
Course Materials
Book: Requirements analysis and system design, 3rd edition (Leszek A. Maciaszek)
Website: http://www.comp.mq.edu.au/books/rasd3ed/ReadersArea/lectureslides.htm
3. 3
Course outline - Lectures
Introduction to conceptual modeling and visual modeling (Sect. 1.1 & 1.4, &
Chapter 3)
Identification of users, and business requirements (Chapter 2)
Specification of system requirements (Chapter 4)
System Modeling (Chapter 5)
Designing system architecture (Chapter 6)
Designing user interfaces (Chapter 7)
System analysis
System design
5. 5
Introduction
Model:
• An abstraction of reality, an abstract
representation of reality
• Applied to guide the implementation of
targeted product
System modeling:
• Representing concepts using some defined
constructs
• Conceptual models (conceptual constructs)
represent some optional solutions that can be
implemented
For software developments it is referred to as “system
analysis and design”
In computer science
• Addresses the capturing of activities and
processes that need to be modeled to guide the
implementation of a system
Physical
process
Model of
a process
System
automating
the process
Analysis
Designing
6. 6
System and software development process
Why having a process: Developing a system/software is
also an engineering project:
• Has goals, deadlines, budget
• Involves a number of stakeholders
• Needs some managerial skills
A system/software development is a complex engineering project
• Needs a properly defined process
7. 7
Complexities in developing system/software
Of the development process:
• Size of the system/software
• Involved developers/experts
• Interdependencies between
components/modules
• Number of stakeholders
Of the system/software:
• Number of applications
• Application domains
• Computational-intensive vs. Data intensive
• Conformity
• Hardware & Software
• Changeability
• Fluctuation/variation of business
requirements
• Visibility
• Privacy vs. sharing code
• Security vs. access of code
As an engineering product,
systems can be duplicated:
• Duplication cost is too low
as compared to that of
development
9. 9
Software life cycle
Software life cycle represents an ordered set of activities conducted
and managed to support the creation and operation of software
• Activities are mostly performed sequentially
• Methods are applied to guide performing the processes
A software life cycle consists of:
• Exact phases (during which transformation occurs)
• Methods (methodologies)
• Applied modeling approach
13. 13
2. System Design
Addresses:
• Structure of the system
• Internal components of the system
• Components supporting external interactions
• System architectures
Designing process must take into account
the software and hardware platforms that
system will installed
Focuses on:
• Designing models and architectures of the intended system
15. 15
3. System Implementation
Focus:
• Development of the system by implementing the needed codes.
• Testing developed components
• Loading data into databases
• Setting required hardware
• Validation and verification of:
• Functionalities
• External interactions
• User aspects and documentation
• Compilation
• Integration of separately developed components
• Deployment of the system
19. 19
Discussion -1
1. What is the difference between the following three terms:
a) Software
b) System
c) Software system
2. According to the software life cycle, the specification of
functionalities of a system is performed by the system analyst in
the analysis phase. The specified functionalities guide the
development of system architectures in the designing phase.
a) What problems do you think may happen due to the separation of
these two processes in different phases?
b) Do you think it is better to move the task for specification of
functionalities into designing phase?