KEMBAR78
Lecture 01 Introduction and SDLC | PDF | Software Development Process | Systems Engineering
0% found this document useful (0 votes)
13 views49 pages

Lecture 01 Introduction and SDLC

The document outlines the course CSE-471 on System Analysis and Design, coordinated by Dr. Muhammad Iqbal Hossain at BRAC University. It covers key concepts such as the Systems Development Life Cycle (SDLC), the importance of systems analysis, and various methodologies including DevOps. Additionally, it highlights the roles and skills required for project teams in the context of system development.

Uploaded by

tazree41
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)
13 views49 pages

Lecture 01 Introduction and SDLC

The document outlines the course CSE-471 on System Analysis and Design, coordinated by Dr. Muhammad Iqbal Hossain at BRAC University. It covers key concepts such as the Systems Development Life Cycle (SDLC), the importance of systems analysis, and various methodologies including DevOps. Additionally, it highlights the roles and skills required for project teams in the context of system development.

Uploaded by

tazree41
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
You are on page 1/ 49

Course ID: CSE - 471

Course Title: System Analysis and


Design

Course Coordinator:
Dr. Muhammad Iqbal Hossain
Associate professor
Department of Computer Science & Engineering
BRAC University.
Resources
• Text book: System analysis and design 5th edition,
Dennis, Wixom, Roth.

• Presentation slides
• Other resources will be shared between the lecture.

Prepared by: Dr. Muhammad Iqbal Hossain 2


Lecture 1
Segment 1:What is System analysis and design
Segment 2: Software lifecycle
Segment 3: DevOps
Segment 4: DevOps (cont.)
Segment 5: Project Team Roles and Skills
Segment 1
What is System analysis and design

4
Introduction

• The systems development life cycle (SDLC) is the process of


determining how an information system (IS) can support
business needs, designing the system, building it, and
delivering it to users
• The systems analyst plays a key role in the SDLC, analyzing the
business situation, identifying opportunities for
improvements, and designing an IS to implement the
improvements
• The primary goal of the system analyst is to create value for
the organization, which for most companies means increasing
profits
• Systems analysts do things and challenge the current way that
an organization works.

1-5
Introduction Continued

• Large systems development projects are particularly


susceptible to failure
• An analysis of very large development projects conducted by
the Standish Group found that for projects that exceed $100
million in labor costs, only 2% are successful
o Several major factors were delays in decision making and a
high workforce turnover during the project

1-
Copyright ©2022 John Wiley & Sons, Inc. 6
Information System

•Information systems are software


applications which manage large amounts of
data, share information etc.

•Most of the software out there is information


systems software,

•written in languages such as Java, C++,


.NET and the like.
7
Components of IS
•Hardware- these are the devices like the monitor,
processor, printer and keyboard, all of which work together
to accept, process, show data and information.

•Software- are the programs that allow the hardware to


process the data.

•Databases- are the gathering of associated files or tables


containing related data.

•Networks- are a connecting system that allows diverse


computers to distribute resources.

•Procedures- are the commands for combining the


components above to process information and produce the
preferred output.
8
Software Horror Stories

•Bank of America spent $23,000,000 on a 5-year project to


develop a new accounting system. Spent over $60,000,000
trying to make new system work, finally abandoned it. Loss
of business estimated in excess of $1,000,000,000

•The B1 Bomber required an additional $1,000,000,000 to


improve its air defense software, but the software still isn’t
working to specification

•Ariane 5, Flight 501 The loss of a $500,000,000 spacecraft


was ultimately attributed to errors in requirements,
specifications and inadequate software reuse practices.

9
The Bad News

•30% of large IT projects are cancelled before completion


•50% of IT projects are over-budget by more than 200%
•The majority of completed projects deliver 60% or less of
prescribed functionality

•Many delivered information systems are under-used


because they don’t meet user needs and/or expectations

•Legacy systems are a serious and growing bottleneck to


organizational evolution

10
Why is this Course Important?
•Most errors (54%) are detected after coding and testing.
•Almost half of all errors in software (45%) are in
requirements and design.
•Most errors made during requirements analysis are
non-clerical (77%)
•Requirements errors can cost up to 100 times more to fix
than implementation errors

•if they are not caught early on.

Need to do requirements and design right!


11
12
Key Ideas

•Many failed systems were abandoned because analysts


tried to build wonderful systems without understanding
the organization.

•The primary goal is to create value for the


organization.

13
Key Ideas

Systems analyst is a key person


•analyzing the business
•identifying opportunities for improvement
•designing information systems to
implement these ideas.

14
The Systems Analyst

• The systems analyst works closely with all project


team members so that the team develops the
right system in an effective way
• Systems analysts must understand how to apply
technology to solve business problems
• Systems analysts serve as change agents who
identify the organizational improvements needed,
design systems to implement those changes, and
train and motivate others to use the systems

1-15
Systems Analyst Skills

1. Analysts must have the technical skills to understand the


organization’s existing technical environment, the new system’s
technology foundation, and the way in which both can be fit
into an integrated technical solution
2. Business skills are required to understand how IT can be applied
to business processes and to ensure that IT delivers real
business value
3. Analysts are continuous problem solvers at both the project and
the organizational level, and they put their analytical skills to
the test regularly

1-16
What is System Analysis?
• The collection of notations, methodologies and tools used
to gather details and analyze a problem situation prior to
information system design and implementation

• Systems analysis (or, requirements analysis) must ensure


that the proposed information system meets user needs,
can be delivered on time, and can be updated
inexpensively.

• Problems in "getting the systems analysis right", such as


ill-defined situations, ambiguities, inconsistencies, mixing
requirements with design

17
Need for Systems Analysis?

•Remember, finding and fixing a fault after software


delivery is 100x more expensive than finding and
fixing it during systems analysis or early design
phases

18
Segment 2
Software lifecycle
Major Attributes of the Life Cycle
The project
•Moves systematically through phases where
each phase has a standard set of outputs
•Produces project deliverables
•Uses deliverables in implementation
•Results in actual information system
•Uses gradual refinement

20
Project Phases

•Planning
•Why build the system?
•Analysis
•Who, what, when, where will the system be?
•Design
•How will the system work?
•Implementation
•System delivery
21
Planning

• Identifying business value


• Analyze feasibility
• Develop work plan
• Staff the project
• Control and direct project

Copyright ©2022 John Wiley & Sons, Inc. 1-22


Analysis Phase

• Determine analysis strategy


o Study existing system and its problems
• Collect and analyze requirements
o Develop new system concept
o Describe new system with analysis models
• Prepare and present system proposal
o Summarize results of the Analysis Phase
o Go/No Go decision made by sponsor and steering
committee

Copyright ©2022 John Wiley & Sons, Inc. 1-23


Design Phase

•Determine design strategy


o Build / buy / outsource
•Design system components
o Architecture, interface, database, programs
o Assemble design elements into system
specification
•Present to steering committee
o Go /no go decision before entering final phase

Copyright ©2022 John Wiley & Sons, Inc. 1-24


Implementation Phase

•System construction
o Programming and testing
•System installation
o Training
o Conversion to new system
•On-going system support

1-2
Copyright ©2022 John Wiley & Sons, Inc. 5
Processes and Deliverables

Process Product

Planning Project Plan

Analysis System Proposal

Design System
Specification

Implementation New System and


Maintenance Plan

26
What is a Methodology?
•A formalized approach or series of steps
to implement SDLC

•Methodology categories:
•Process-centered
•Data-centered
•Object-oriented

27
Need for methodology

•Writing code without a well-thought-out


system request may work for small programs,
but rarely works for large ones.

•Need to have a good design from the


requirements before moving on to
implementation.

28
Systems development
methodologies
•Structured Design
•Waterfall Development
•Parallel Development
•Rapid Application Development (RAD)
•Phased Development
•Prototyping
•Agile Development
•Extreme Programming
•Devops

29
Segment 3
DevOps
Current SDLC methodology
• Waterfall
• prototyping
• Agile
• DevOps
What is DevOps?
Why DevOps?
• Before DevOps, operation and development teams were
working in an isolated environment.
• Testing and Deployment activities mostly were performed in an
isolated manner after design-build step, and they took more
time than actual project completion time.
• Team members usually spend a large amount of time in
deploying, testing, designing, and building the projects
Why DevOps?

• Human production errors were deployed during manual


code conduction.
• Operations and coding teams generally had different
timelines and did not have proper synchronization that
results in further delay.
• To avoid the hassles mentioned above and
non-collaborative performance measures, there was an
urgent need for robust IT technology like DevOps to
satisfy business owners and stakeholders.
Current relation among
Development and Operation
team
• The development team worked on the software,
developing it and making sure that the code worked
perfectly.
• After hours of hardwork and a lot of trial and error, the
team releases a code which has to be executed by the
Operations team which is responsible for the release and
operation of the code.
• The operations team will be checking the application and
its performance and reporting back any bugs, if present.
What DevOps can do?
• Tobridge this gap, Development(‘Dev’) team and
Operations (‘Ops’) team collaborated giving rise to
DevOps.

• The Development team encapsulated their code in


a container which is a lightweight software environment.

• When the developers were done with their work, they


would simply pass on this container along with the code to
the operations team. The Ops will run this container, along
with the code, and it worked as expected!
Segment 4
DevOps (cont.)

37
Steps of DevOps
Steps of DevOps
• Plan: The planning stage gathers information from the
monitoring stage and, as per feedback, implements the
changes for better performance
• Code: The first step in the DevOps lifecycle is coding,
where developers build the code on any platform
• Build: Developers build the version of their program in any
extension depending upon the language they are using
• Test: For
DevOps to be successful, the testing process
must be automated using any automation tool like
Selenium
Steps of DevOps
• Release: A process for managing, planning, scheduling,
and controlling the build in different environments after
testing and before deployment
• Deploy: This phase gets all artifacts/code files of the
application ready and deploys/executes them on the server

• Operate: The application is run after its deployment,


where clients use it in real-world scenarios.

• Monitor: This phase helps in providing crucial information


that basically helps ensure service uptime and optimal
performance
Everything should be Continuous

• Continuous Development
• Continuous Testing
• Continuous Integration
• Continuous Deployment
• Continuous Monitoring
The advantage of DevOps

• Reduced chance of product failure


• Improved flexibility and support.
• Faster time to market.
• Better team efficiency.
• Clear product vision within the team.
DevOps Challenges

• Difficulties with Integration


• Automated Testing
• Relatively High Costs
• Toolset Choice
• Lack of Talent
Segment 5
Project Team Roles and Skills
Information Systems Roles

•Business analyst
•System analyst
•Infrastructure analyst
•Change management analyst
•Project manager

46
Project Team Roles

47
Summary -- Part 1
•The Systems Development Life Cycle consists of
four stages: Planning, Analysis, Design, and
Implementation
•The major development methodologies:
•Structured design
•the waterfall method
•Parallel development
•RAD development
•Prototyping (regular and throwaway)
•Agile development
•XP streamline SDLC
• DevOps
48
Summary -- Part 2

•There are five major team roles: business analyst,


systems analyst, infrastructure analyst, change
management analyst and project manager.

49

You might also like