Explain the systems
development process
and basics of logic
formulation.
Systems Development Life Cycle
► An effective System Development Life Cycle (SDLC) should result in a high
quality system that meets customer expectations, reaches completion
within time and cost evaluations, and works effectively and efficiently in
the current and planned Information Technology infrastructure.
► System Development Life Cycle (SDLC) is a conceptual model which
includes policies and procedures for developing or altering systems
throughout their life cycles.
► SDLC is used by analysts to develop an information system. SDLC includes
the following activities −
► requirements
► design
► implementation
► testing
► deployment
► operations
► maintenance
Phases of SDLC
Systems Development Life
Cycle is a systematic
approach which explicitly
breaks down the work into
phases that are required to
implement either new or
modified Information System.
► Feasibility Study or Planning
► Define the problem and scope of existing system.
► Overview the new system and determine its objectives.
► Confirm project feasibility and produce the project Schedule.
► During this phase, threats, constraints, integration and security of system are also
considered.
► A feasibility report for the entire project is created at the end of this phase.
► Analysis and Specification
► Gather, analyze, and validate the information.
► Define the requirements and prototypes for new system.
► Evaluate the alternatives and prioritize the requirements.
► Examine the information needs of end-user and enhances the system goal.
► A Software Requirement Specification (SRS) document, which specifies the
software, hardware, functional, and network requirements of the system is
prepared at the end of this phase.
► System Design
► Includes the design of application, network, databases, user interfaces, and
system interfaces.
► Transform the SRS document into logical structure, which contains detailed and
complete set of specifications that can be implemented in a programming
language.
► Create a contingency, training, maintenance, and operation plan.
► Review the proposed design. Ensure that the final design must meet the
requirements stated in SRS document.
► Finally, prepare a design document which will be used during next phases.
► Implementation
► Implement the design into source code through coding.
► Combine all the modules together into training environment that detects errors
and defects.
► A test report which contains errors is prepared through test plan that includes
test related tasks such as test case generation, testing criteria, and resource
allocation for testing.
► Integrate the information system into its environment and install the new system.
► Maintenance/Support
► Include all the activities such as phone support or physical on-site support for
users that is required once the system is installing.
► Implement the changes that software might undergo over a period of time, or
implement any new requirements after the software is deployed at the
customer location.
► It also includes handling the residual errors and resolve any issues that may exist
in the system even after the testing phase.
► Maintenance and support may be needed for a longer time for large systems
and for a short time for smaller systems.
Life Cycle of
System Analysis
and Design
The following diagram shows
the complete life cycle of the
system during analysis and
design phase.
Role of System Analyst
► The system analyst is a person who is thoroughly aware of the system and
guides the system development project by giving proper directions. He is
an expert having technical and interpersonal skills to carry out
development tasks required at each phase.
► He pursues to match the objectives of information system with the
organization goal.
► Main Roles
► Defining and understanding the requirement of user through various Fact finding techniques.
► Prioritizing the requirements by obtaining user consensus.
► Gathering the facts or information and acquires the opinions of users.
► Maintains analysis and evaluation to arrive at appropriate system which is more user friendly.
► Suggests many flexible alternative solutions, pick the best solution, and quantify cost and benefits.
► Draw certain specifications which are easily understood by users and programmer in precise and detailed
form.
► Implemented the logical design of system which must be modular.
► Plan the periodicity for evaluation after it has been used for some time, and modify the system as needed.
Attributes of a
Systems Analyst
The following figure shows the
attributes a systems analyst
should possess −
► Interpersonal Skills
► Interface with users and programmer.
► Facilitate groups and lead smaller teams.
► Managing expectations.
► Good understanding, communication, selling and teaching abilities.
► Motivator having the confidence to solve queries.
► Analytical Skills
► System study and organizational knowledge
► Problem identification, problem analysis, and problem solving
► Sound commonsense
► Ability to access trade-off
► Curiosity to learn about new organization
► Management Skills
► Understand users jargon and practices.
► Resource & project management.
► Change & risk management.
► Understand the management functions thoroughly.
► Technical Skills
► Knowledge of computers and software.
► Keep abreast of modern development.
► Know of system design tools.
► Breadth knowledge about new technologies.
UML - Overview
► UML is a standard language for specifying, visualizing, constructing, and
documenting the artifacts of software systems.
► UML was created by the Object Management Group (OMG) and UML 1.0
specification draft was proposed to the OMG in January 1997.
► OMG is continuously making efforts to create a truly industry standard.
► UML stands for Unified Modeling Language.
► UML is different from the other common programming languages such as C++,
Java, COBOL, etc.
► UML is a pictorial language used to make software blueprints.
► UML can be described as a general purpose visual modeling language to
visualize, specify, construct, and document software system.
► Although UML is generally used to model software systems, it is not limited within
this boundary. It is also used to model non-software systems as well. For
example, the process flow in a manufacturing unit, etc.
► UML is not a programming language but tools can be used to generate
code in various languages using UML diagrams. UML has a direct relation
with object oriented analysis and design. After some standardization, UML
has become an OMG standard.
Goals of UML
► A picture is worth a thousand words, this idiom absolutely fits describing UML. Object-
oriented concepts were introduced much earlier than UML. At that point of time, there
were no standard methodologies to organize and consolidate the object-oriented
development. It was then that UML came into picture.
► There are a number of goals for developing UML but the most important is to define some
general purpose modeling language, which all modelers can use and it also needs to be
made simple to understand and use.
► UML diagrams are not only made for developers but also for business users, common
people, and anybody interested to understand the system. The system can be a software
or non-software system. Thus it must be clear that UML is not a development method
rather it accompanies with processes to make it a successful system.
► In conclusion, the goal of UML can be defined as a simple modeling mechanism to
model all possible practical systems in today’s complex environment.
A Conceptual Model of UML
► To understand the conceptual model of UML, first we need to clarify what is a
conceptual model? and why a conceptual model is required?
► A conceptual model can be defined as a model which is made of concepts and
their relationships.
► A conceptual model is the first step before drawing a UML diagram. It helps to
understand the entities in the real world and how they interact with each other.
► As UML describes the real-time systems, it is very important to make a
conceptual model and then proceed gradually. The conceptual model of
UML can be mastered by learning the following three major elements −
► UML building blocks
► Rules to connect the building blocks
► Common mechanisms of UML
► As UML describes the real-time systems, it is very important to make a
conceptual model and then proceed gradually. The conceptual model of
UML can be mastered by learning the following three major elements −
► UML building blocks
► Rules to connect the building blocks
► Common mechanisms of UML
► The building blocks of UML can be defined as −
► Things
► Relationships
► Diagrams
Things
► Things are the most important building blocks of UML. Things can be −
► Structural
► Behavioral
► Grouping
► Annotational
► Structural things define the static part of the model. They represent the
physical and conceptual elements. Following are the brief descriptions of
the structural things.
► Class − Class represents a set of objects having similar responsibilities.
► Interface − Interface defines a set of operations, which specify the responsibility
of a class.
► Collaboration −Collaboration defines an interaction between elements.
► Use case −Use case represents a set of actions performed by a system for a
specific goal.
► Component −Component describes the physical part of a system.
► Node − A node can be defined as a physical element that exists at run time.
► Behavioral Things
► A behavioral thing consists of the dynamic parts of UML models. Following are
the behavioral things −
► Interaction − Interaction is defined as a behavior that consists of a group of messages
exchanged among elements to accomplish a specific task.
► State machine − State machine is useful when the state of an object in its life cycle is
important. It defines the sequence of states an object goes through in response to
events. Events are external factors responsible for state change
► Grouping Things
► Grouping things can be defined as a mechanism to group elements of a UML
model together. There is only one grouping thing available −
► Package − Package is the only one grouping thing available for gathering structural
and behavioral things.
► Annotational Things
► Annotational things can be defined as a mechanism to capture remarks,
descriptions, and comments of UML model elements. Note - It is the only one
Annotational thing available. A note is used to render comments, constraints,
etc. of an UML element.
Relationship
► Relationship is another most important building block of UML. It shows how
the elements are associated with each other and this association
describes the functionality of an application.
► There are four kinds of relationships available.
► Dependency
► Association
► Generalization
► Realiziation
► Dependency
► Dependency is a relationship between two things in which change in one
element also affects the other.
► Association
► Association is basically a set of links that connects the elements of a UML model.
It also describes how many objects are taking part in that relationship.
► Generalization
► Generalization can be defined as a relationship which connects a specialized
element with a generalized element. It basically describes the inheritance
relationship in the world of objects.
► Realization
► Realization can be defined as a relationship in which two elements are
connected. One element describes some responsibility, which is not
implemented and the other one implements them. This relationship exists in case
of interfaces.
UML Diagrams
► UML diagrams are the ultimate output of the entire discussion. All the
elements, relationships are used to make a complete UML diagram and
the diagram represents a system.
► The visual effect of the UML diagram is the most important part of the
entire process. All the other elements are used to make it complete.
► UML includes the following nine diagrams.
► Class diagram
► Object diagram
► Use case diagram
► Sequence diagram
► Collaboration diagram
► Activity diagram
► Statechart diagram
► Deployment diagram
► Component diagram
END

Explain the system development process and basics

  • 1.
    Explain the systems developmentprocess and basics of logic formulation.
  • 2.
    Systems Development LifeCycle ► An effective System Development Life Cycle (SDLC) should result in a high quality system that meets customer expectations, reaches completion within time and cost evaluations, and works effectively and efficiently in the current and planned Information Technology infrastructure. ► System Development Life Cycle (SDLC) is a conceptual model which includes policies and procedures for developing or altering systems throughout their life cycles.
  • 3.
    ► SDLC isused by analysts to develop an information system. SDLC includes the following activities − ► requirements ► design ► implementation ► testing ► deployment ► operations ► maintenance
  • 4.
    Phases of SDLC SystemsDevelopment Life Cycle is a systematic approach which explicitly breaks down the work into phases that are required to implement either new or modified Information System.
  • 5.
    ► Feasibility Studyor Planning ► Define the problem and scope of existing system. ► Overview the new system and determine its objectives. ► Confirm project feasibility and produce the project Schedule. ► During this phase, threats, constraints, integration and security of system are also considered. ► A feasibility report for the entire project is created at the end of this phase.
  • 6.
    ► Analysis andSpecification ► Gather, analyze, and validate the information. ► Define the requirements and prototypes for new system. ► Evaluate the alternatives and prioritize the requirements. ► Examine the information needs of end-user and enhances the system goal. ► A Software Requirement Specification (SRS) document, which specifies the software, hardware, functional, and network requirements of the system is prepared at the end of this phase.
  • 7.
    ► System Design ►Includes the design of application, network, databases, user interfaces, and system interfaces. ► Transform the SRS document into logical structure, which contains detailed and complete set of specifications that can be implemented in a programming language. ► Create a contingency, training, maintenance, and operation plan. ► Review the proposed design. Ensure that the final design must meet the requirements stated in SRS document. ► Finally, prepare a design document which will be used during next phases.
  • 8.
    ► Implementation ► Implementthe design into source code through coding. ► Combine all the modules together into training environment that detects errors and defects. ► A test report which contains errors is prepared through test plan that includes test related tasks such as test case generation, testing criteria, and resource allocation for testing. ► Integrate the information system into its environment and install the new system.
  • 9.
    ► Maintenance/Support ► Includeall the activities such as phone support or physical on-site support for users that is required once the system is installing. ► Implement the changes that software might undergo over a period of time, or implement any new requirements after the software is deployed at the customer location. ► It also includes handling the residual errors and resolve any issues that may exist in the system even after the testing phase. ► Maintenance and support may be needed for a longer time for large systems and for a short time for smaller systems.
  • 10.
    Life Cycle of SystemAnalysis and Design The following diagram shows the complete life cycle of the system during analysis and design phase.
  • 11.
    Role of SystemAnalyst ► The system analyst is a person who is thoroughly aware of the system and guides the system development project by giving proper directions. He is an expert having technical and interpersonal skills to carry out development tasks required at each phase. ► He pursues to match the objectives of information system with the organization goal.
  • 12.
    ► Main Roles ►Defining and understanding the requirement of user through various Fact finding techniques. ► Prioritizing the requirements by obtaining user consensus. ► Gathering the facts or information and acquires the opinions of users. ► Maintains analysis and evaluation to arrive at appropriate system which is more user friendly. ► Suggests many flexible alternative solutions, pick the best solution, and quantify cost and benefits. ► Draw certain specifications which are easily understood by users and programmer in precise and detailed form. ► Implemented the logical design of system which must be modular. ► Plan the periodicity for evaluation after it has been used for some time, and modify the system as needed.
  • 13.
    Attributes of a SystemsAnalyst The following figure shows the attributes a systems analyst should possess −
  • 14.
    ► Interpersonal Skills ►Interface with users and programmer. ► Facilitate groups and lead smaller teams. ► Managing expectations. ► Good understanding, communication, selling and teaching abilities. ► Motivator having the confidence to solve queries.
  • 15.
    ► Analytical Skills ►System study and organizational knowledge ► Problem identification, problem analysis, and problem solving ► Sound commonsense ► Ability to access trade-off ► Curiosity to learn about new organization
  • 16.
    ► Management Skills ►Understand users jargon and practices. ► Resource & project management. ► Change & risk management. ► Understand the management functions thoroughly.
  • 17.
    ► Technical Skills ►Knowledge of computers and software. ► Keep abreast of modern development. ► Know of system design tools. ► Breadth knowledge about new technologies.
  • 18.
  • 19.
    ► UML isa standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. ► UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997.
  • 20.
    ► OMG iscontinuously making efforts to create a truly industry standard. ► UML stands for Unified Modeling Language. ► UML is different from the other common programming languages such as C++, Java, COBOL, etc. ► UML is a pictorial language used to make software blueprints. ► UML can be described as a general purpose visual modeling language to visualize, specify, construct, and document software system. ► Although UML is generally used to model software systems, it is not limited within this boundary. It is also used to model non-software systems as well. For example, the process flow in a manufacturing unit, etc.
  • 21.
    ► UML isnot a programming language but tools can be used to generate code in various languages using UML diagrams. UML has a direct relation with object oriented analysis and design. After some standardization, UML has become an OMG standard.
  • 22.
    Goals of UML ►A picture is worth a thousand words, this idiom absolutely fits describing UML. Object- oriented concepts were introduced much earlier than UML. At that point of time, there were no standard methodologies to organize and consolidate the object-oriented development. It was then that UML came into picture. ► There are a number of goals for developing UML but the most important is to define some general purpose modeling language, which all modelers can use and it also needs to be made simple to understand and use. ► UML diagrams are not only made for developers but also for business users, common people, and anybody interested to understand the system. The system can be a software or non-software system. Thus it must be clear that UML is not a development method rather it accompanies with processes to make it a successful system. ► In conclusion, the goal of UML can be defined as a simple modeling mechanism to model all possible practical systems in today’s complex environment.
  • 23.
    A Conceptual Modelof UML ► To understand the conceptual model of UML, first we need to clarify what is a conceptual model? and why a conceptual model is required? ► A conceptual model can be defined as a model which is made of concepts and their relationships. ► A conceptual model is the first step before drawing a UML diagram. It helps to understand the entities in the real world and how they interact with each other. ► As UML describes the real-time systems, it is very important to make a conceptual model and then proceed gradually. The conceptual model of UML can be mastered by learning the following three major elements − ► UML building blocks ► Rules to connect the building blocks ► Common mechanisms of UML
  • 24.
    ► As UMLdescribes the real-time systems, it is very important to make a conceptual model and then proceed gradually. The conceptual model of UML can be mastered by learning the following three major elements − ► UML building blocks ► Rules to connect the building blocks ► Common mechanisms of UML
  • 25.
    ► The buildingblocks of UML can be defined as − ► Things ► Relationships ► Diagrams
  • 26.
    Things ► Things arethe most important building blocks of UML. Things can be − ► Structural ► Behavioral ► Grouping ► Annotational
  • 27.
    ► Structural thingsdefine the static part of the model. They represent the physical and conceptual elements. Following are the brief descriptions of the structural things. ► Class − Class represents a set of objects having similar responsibilities. ► Interface − Interface defines a set of operations, which specify the responsibility of a class. ► Collaboration −Collaboration defines an interaction between elements.
  • 28.
    ► Use case−Use case represents a set of actions performed by a system for a specific goal. ► Component −Component describes the physical part of a system. ► Node − A node can be defined as a physical element that exists at run time.
  • 29.
    ► Behavioral Things ►A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things − ► Interaction − Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task. ► State machine − State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change
  • 30.
    ► Grouping Things ►Grouping things can be defined as a mechanism to group elements of a UML model together. There is only one grouping thing available − ► Package − Package is the only one grouping thing available for gathering structural and behavioral things.
  • 31.
    ► Annotational Things ►Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. Note - It is the only one Annotational thing available. A note is used to render comments, constraints, etc. of an UML element.
  • 32.
    Relationship ► Relationship isanother most important building block of UML. It shows how the elements are associated with each other and this association describes the functionality of an application. ► There are four kinds of relationships available. ► Dependency ► Association ► Generalization ► Realiziation
  • 33.
    ► Dependency ► Dependencyis a relationship between two things in which change in one element also affects the other.
  • 34.
    ► Association ► Associationis basically a set of links that connects the elements of a UML model. It also describes how many objects are taking part in that relationship.
  • 35.
    ► Generalization ► Generalizationcan be defined as a relationship which connects a specialized element with a generalized element. It basically describes the inheritance relationship in the world of objects.
  • 36.
    ► Realization ► Realizationcan be defined as a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them. This relationship exists in case of interfaces.
  • 37.
    UML Diagrams ► UMLdiagrams are the ultimate output of the entire discussion. All the elements, relationships are used to make a complete UML diagram and the diagram represents a system. ► The visual effect of the UML diagram is the most important part of the entire process. All the other elements are used to make it complete.
  • 38.
    ► UML includesthe following nine diagrams. ► Class diagram ► Object diagram ► Use case diagram ► Sequence diagram ► Collaboration diagram ► Activity diagram ► Statechart diagram ► Deployment diagram ► Component diagram
  • 39.