Developing a Software System



index
Disabled back button Next Section
printable version




Section 0: Module Objectives or Competencies
Course Objective or Competency Module Objectives or Competency
The student will be able to justify the need for and relevance of Systems Analysis and Design The student will be able to describe the role of the System Analyst and the skills needed.
The student will be able to explain the meaning of the term "Software System".
The student will be able to list some of the motivations for Software Systems Project requests.
The student will be able to explain the fundamental concepts of systems analysis and design. The student will be able to explain what Analysis and Design involves.
The student will be able to explain what System Development Methodologies are and list some of the benefits.
The students will be able to explain the components that make up the General Process Model.
The students will be able to list and explain, in general detail, the phases and deliverables of the Systems Development Life Cycle.


Section 1: What is a Software System?

An software system is a set of interacting components (people, procedures, technologies) that

The focus is on the sociotechnical arrangement of people, data, processes, information presentation, and information technology that interact to support and improve day-to-day operations in a business as well as support the problem-solving and decision making needs of management and users.

Key components of Software Systems


The difference between applications and system software

Evolution of Software Systems

Evolution Of Information System


Section 2: Motivations for Software Development Projects

Motivations for developing a new software system or extending an existing system fall into three main areas.



Section 3: Analysis and Design

What is Analysis and Design?


Why is Analysis and Design needed?

The solution lies in better and more professional approaches to development.



Section 4: System Development Methodology

A System Development Methodology is a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain software systems. It generally involves a collection of procedures, techniques, best practices, tools (automated and manual), and documentation aids that facilitate system development.

A methodology consists of phases, themselves consisting of sub-phases, that

A methodology generally follows a standard lifecycle.


Benefits of IS Development Methodologies

Note that there is a difference between development approaches or methodologies and development lifecycles.


Approaches to Analysis and Design

There are three primary software development approaches, the traditional structured technique, the object-oriented technique, and the Agile methodology.

Traditional Structured Technique

Object-oriented Technique

Agile Methodology


An analysis of each of these approaches reveals prominent differences, but also several shared workflows.


Bottom Line



Section 5: The General Process Model

The General Process Model serves as the basis for the Systems Development Life Cycle (SDLC).

There are several process models, and many companies adopt their own, but all have very similar patterns.  The general, basic model is shown below:

General Process Model

The General Process Model


Requirements


Design


Implementation


Testing

Design, implementation, and testing should be an ongoing iterative process.



Section 6: Systems Development Life Cycle

The SDLC is a traditional methodology used to develop, maintain, and replace software systems. There are a variety of different system development lifecycles. Often organizations mix elements of different lifecycles.


Phases in SDLC:

Note that some models include additional phases or use different names for the phases.


Standard and Evolutionary Views of SDLC

Standard and Evolutionary View of SDLC

The Systems Development Life Cycle



The systems development life cycle

Evolutionary model

Note that the phases in both approaches should be iterative.


Planning


Analysis


Design


Implementation


Maintenance


Products of SDLC Phases

Products of 
				SDLC Phases

Products of SDLC Phases

As development progresses through the various phases of the SDLC, an analyst commonly discovers a need to review or modify the work done in prior phases.

Read about Why Scope Creep is Your Fault (and What You Can Do to Prevent It).



Section 7: Related Areas

Application software vs Systems software

What is the difference between applications software and systems software?

One of the functions of Information Systems is the development of application software, while computer science focuses more on the development of systems software.

If you’re interested in a career in computing but are having trouble choosing between majors, here is a general difference between Information Systems and Computer Science: Information Systems makes computers useful, while CS makes computers run.

What is Sociotechnical Systems Theory?

An approach to understanding the relationship between technology, individuals, organizations and society in work place design.