0% found this document useful (0 votes)
40 views19 pages

02 Foundations

Uploaded by

SAI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views19 pages

02 Foundations

Uploaded by

SAI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1

Software System
Analysis
Foundations, thereof …

Course: CSC714
Semester: Spring 2023
Instructor: Lou Iacona
Email: [email protected]
Agenda
First principles:
• Our basic concepts & terms
Getting the most out of CSC714:
• Goals
• Suggestions

1/18/2023 CUNY/CSI CSC714 2


“CSC 714: Software Systems Analysis Design” …
... is obviously our Course Title.

•Let’s agree on a common


definition / understanding of our
most basic terms, including:
• a System?
• [Software] Systems Analysis?
• The Systems Analyst role?

1/18/2023 CUNY/CSI CSC714 3


A System … (1)
•… a collection of cooperating entities that
offer a specific service or functionality to a
target user/customer group.
•For example:
•power grid
•communication network
•transportation or highway system
•water distribution/filtration systems
•product-manufacturing system
•product warehousing and distribution
[commerce] system …
1/18/2023 CUNY/CSI CSC714 4
A System … (2)
Observation:
Although every one of the above
systems [on previous slide] would be
“facilitated” by software in 2023, they
are not considered “Software Systems”
since their intended purpose is not to
deliver a software application service.

1/18/2023 CUNY/CSI CSC714 5


System Analysis
• Defined as: an organized “process of discovery” for identifying
and interpreting details of a problem-space for the purposes of
building and/or realigning a System [that provides desired
functionality].
• Observation:
•Looks like “Systems” designed for a
specific purpose have been around for
decades, centuries, millennia, … (a long
time!)
•Implication: the “System Analysis” discipline
[in some form] must be as old as the earliest
systems.
1/18/2023 CUNY/CSI CSC714 6
The Systems Analysis Process
• Given the requirements of a complex system,
determine:
• the expected user/customer experience
• an overall architectural and detailed solution considering:
• basic piece-parts and their interactions
• existing re-usable technologies, materials, …
• existing standards that should be adopted
• construction cost:
• $dollars
• time
• human resources
• expected performance: quality / reliability expectations
and related tradeoffs to $cost
1/18/2023 CUNY/CSI CSC714 7
Example “System”
US Landline Telecom Network (1)
• Assumption: the telephone had already been invented, and
there well understood standards around that.
• Requirements:
• Ubiquitous on-demand voice-to-voice connectivity (using that
telephone instrument)
• Reliable
• Affordable
• Intuitive [to use]
• Main driver to form the “the right” architectural solution:
• Ubiquity: any 2 people on the system should be voice-connected on-
demand at any time.
• How did those original “Bell System” system engineers make that
possible?

1/18/2023 CUNY/CSI CSC714 8


Example “System”
US Landline Telecom Network (2)

1/18/2023 CUNY/CSI CSC714 9


US Landline Telecom Network (3)

1/18/2023 CUNY/CSI CSC714 10


Example “System”
US Landline Telecom Network (4)

1/18/2023 CUNY/CSI CSC714 11


Software Systems / Application Analysis
• Given the requirements of a complex functional software/information
system, determine:
• the expected user/customer experience: application “wireframe” of sorts …
• a solution architectural considering:
• primary sub-systems
• component level modules (i.e., the Object Model)
• database / persistence schema
• required exposed public APIs (e.g., RESTful Web Services carrying XML
payloads).
• technology choices:
• programming language(s)
• database platform
• 3rd party services, libraries, frameworks, …
• other implementation tools – IDEs, RCS, DevOps, etc.
• design/implementation cost:
• dollars
• time
• people power
• adhere to quality / reliability expectations considering related tradeoffs:
• how to minimize functional lags most economically
1/18/2023 CUNY/CSI CSC714 12
What’s Unique About Software Systems?
•Software applications are a specific type of
“system” [as defined above].
•[Some] Qualities / Characteristics unique to
software:
• Software is “soft” – it’s malleable – can be remolded, re-shaped without shattering
into unusable pieces.
• POC-ing or prototyping is relatively easy, and “failure” is a low impact event.
• More adaptive and forgiving to change during its construction “lifecycle”. For
example … (lecture discussion).
• Can evolve more “gracefully”, imperceptivity over time without
complete replacement.
• More susceptible to subtle imperfections we call “bugs” that don’t necessarily cause
catastrophic failure, but are worth fixing …
• Can “crash and burn” without really “crashing and burning” …
• Delivery is infinitely scalable: just copying or distributing a digital image to users /
customers.
1/18/2023 CUNY/CSI CSC714 13
Software System Analysis
The System Analysis process can begin when a “business
problem” has been presented, and a project is underwritten:
1. new software needs to be built
2. new functionality on an existing system needs to be adopted
3. a bug is discovered that must be addressed
And so:
• A bridge or lesion between business and IT staff (stakeholders) is
established (Commonly called the Product Owner)
• all available information is gathered and “analyzed”
• detailed realistic time/staff estimation …
• costs are estimated
• the output a this process is a complete technical specification (SRS)
 functional user requirements are turned into system spec
• alternative designs/solutions tradeoff analysis …

1/18/2023 CUNY/CSI CSC714 14


• Software System Analysis has
been formalized and defined as
what we generally describe as:
• a SDLC: Software Development
Lifecycle
• major topics studied in CSC714 is a
selective deep dive into portions of
the SDLC …
1/18/2023 CUNY/CSI CSC714 15
The “System Analyst” Role
•One who contributes to a Software Development
Solution …
•Precise responsibilities vary widely across
Organizations, but generally, given new software
requirements, or embellishments to an existing
system, a System Analyst:
• Interprets the business requirements into a supporting
technical spec
• May lead POCs / Prototyping
• Plans and recommends design/implementation
solutions
• Researches problems and their root cause
1/18/2023 CUNY/CSI CSC714 16
High Level Goal of CSC714
• Gain an appreciation of a formal Software Development
Life Cycle through a “hands on” experience …
• develop standard documentation artifacts
• learn concepts and definitions, and apply some SA best
practices to a Class Project (software system):
• follow an SDLC grounded in 21st century reality.
• Lecture time can only cover so much:
• Budget your time wisely
• Expand your knowledge of areas of interest outside of the
lectures …
• Form alliances outside of your project group with students that
share common interests. Be one another’s advisor, sounding
board, QA team, …
1/18/2023 CUNY/CSI CSC714 17
•Textbook Chapters:
The System Development Environment pp 3~18
The Origins of Software Development: pp 23~36
• Web:
https://revolutionized.com/the-beginnings-of-software-
engineering-a-timeline/
https://wps.pearsoncustom.com/wps/media/objects/6904/70
70236/MIS336_Ch02.pdf
https://www.mapcon.com/us-en/how-software-changed-the-
world

1/18/2023 CUNY/CSI CSC714 18


Q&A

1/18/2023 CUNY/CSI CSC714 19

You might also like