Wednesday, July 9, 2014

What is SDLC? and Different SDLC models (V model, Waterfall model)

What is SDLC?


What is SDLC stands for?

SDLC: Software Development Life Cycle

SDLC also known as Software Development Process.

What is SDLC mean?


The software development life cycle (SDLC) is a creation works performed by development team at each step in the software development process.  SDLC is followed by an entire development team within the organization. The Software development plan is a detailed plan of project, how to develop new system, how to replace old system, how to maintain new system and old data. SDLC defines a methodology for improving the quality of software and the overall system.

What is SDLC?

                SDLC is a method used by software analysts in order to develop or redesign high quality software system which meets Business and technical requirements.

    SDLC is a process to describe for planning, creating, testing, and deploying an information system.

SDLC consists of following activities:

There are mainly six phases in every Software development life cycle model:
  1. Planning/Requirement gathering and analysis
  2. Designing
  3. Implementation or coding
  4. Testing
  5. Deployment
  6. Maintenance
  • Planning or Requirements gathering and Analysis: This is very important phase of SDLC, Project Managers and Stake holders mainly focus on this phase. Business requirements are gathered in this phase. Business Analysts hold meetings with project managers, stake holders, SMEs and Users to define the requirements. After gathering requirements Business analysts analyzed requirements validity and possibilities with the help of stake holders. After that Business Analysts creates Requirement Specification Document, which will be used for next phase.
  • Designing: In this phase system designer prepare software design based on the business requirements documents. System design helps in specifying hardware and system requirements and helps in defining overall system architecture.
  •  Implementation/Coding: In this phase with the help of system design documents, software developers write the coding. Sometimes this phase is narrow down in modules/units. This is the longest phase of the SDLC. 
  • Testing: During this process Quality testing people test new implemented system and try to find out defects or bugs. In this phase Unit testing, system testing integration testing, acceptance testing are done and make sure that the new system is fulfilling all the requirements and solving the needs of business requirements.
  • Deployment: After successful testing the product is ready to delivered / deployed to the customer for their use.
  • Maintenance: Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to time. This process where the care is taken for the developed product is known as maintenance.

There are several Software Development Models followed by different organizations

      Waterfall Model


 Waterfall model is a popular version of the system Development Life Cycle model. Water fall Model was the first process model to be introduced. The Waterfall Model is a linear sequential flow.  Waterfall model development has separate goals for each phase of development. In which progress is seen as flowing steadily downwards (like Waterfall) through the phases of software implementation. This means any phase in the development process begins only if the previous phase is complete. After the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project.


Waterfall approach does not define the process to go back to the previous phase to handle changes in requirement. The waterfall approach is the earliest approach that was used for software development.  Generally Waterfall model is used in small project and there are no uncertain requirements.  

When to use of Waterfall Model:
  • This model is used when the requirements are very clear, fixed
  • There are no uncertain requirements
  • Project is small


Advantages:
  • Easy to explain to the user
  • Easy to plan and schedule the project
  • Every phase has a defined start and end point
  • Progress can be conclusively identified by client
  • Improve quality of requirements
  • Phases do not overlap
  • Works well for smaller projects

Disadvantages:
  • Assume that requirements of a system can be frozen
  • Hard to go back to past phase after it finished
  • Flexibility and adjusting scope is difficult and expensive
  • Need more time
  • High risk and uncertainty
  • Not good for complex projects
  • Not good for long projects

      V-Model


                V-model means Verification and Validation model. It is similar to Waterfall model.  On V-shape model each phase is completed before next phase begins same as Waterfall model. On V-shape model, testing is introduced early phase of SDLC. Testing activity is performed in the each phase of SDLC phase. This model is an extension for Waterfall model. The major difference between V-shaped model and waterfall model is the early test planning in V-shape model.


                                                                                                                                                                          
                         


      When to use the V-model
  • V-model is better option when  the project is small or medium size
  • When technical resource are available when needed
  • When requirements are simple not high complex

      Advantages:
  • Works well for small and medium size project
  • Simple and easy to understand
  • Each phase has start and end date
  • High chance of success than the Waterfall model
  • Less time consumption compare to Waterfall model

      Disadvantages:
  • Not much flexibility on adjusting scope
  • High risk and uncertainty
  • Not a recommended model for complex project
  • Not good for a long project
  • If something will change in midway, then testing documents and requirements need to update



Monday, June 16, 2014

What is Use Case and Use Case Diagrams? ( Primary Actor, Secondary Actor)

What is Use Case?

Use Case is a list of steps, generally significant interactions between Users or Actors and a system to achieve a goal. Here Actor can be an external system or human being.
In different word we can say Use Case is an objective Users want to achieve with a system. 

What is Use Case means? or What is Use Case Defination?

Use Case is a methodology which used in system analysis to identify, clarify system requirements.
Use case is a set of possible sequences of interactions between users and main systems to achieve a particular goal.
In other word we can say Use Case is how a user uses a system to accomplish a particular goal.
We can say Use Case capture user requirements for a system by describing how system will be used by users to achieve their ultimate goal. Use case is written in simple language without using any technical language which will be easier for any participant to understand the process.

There are 3 main things for any good Use Case.

  1.   Actor: who interact with system, actor can be human or external system.
  2. System:  how the particular system will function.
  3.  Goal: User will achieve their goal by using that particular system


How to write a good Use Case?

  •   First of all you need to find out your users of that system
  •   For each category of users, create a user profile
  •   Find out trigger event of each user
  •   Find out significant goal of each user
  • Create use cases for each goals

Elements of Use Case

  1. Actor: Someone or Something who interact with a system.  A person, service, another system or organization that interacts with the main system at once or more is called an actor. 
  2. Preconditions:  Something must be true or happen to start the Use Case.
  3.  Preconditions:  Something must be true or happen to start the Use Case.
  4.  Post Conditions:  Achieve the real goal at the end of Use case.
  5.  Goal: Something to achieve by using the steps of Use case.
  6.  Trigger Point: Particular event that causes the Use Case to be intended.
  7.   Main Success scenario or Happy Path: That is call basic flow, During Use Case steps nothing go  wrong (meaning every step is successful, everything is fine that’s why it’s call Happy Path too).
  8.  Alternative Path: That is call Alternative flow, during Use Case steps there is a different way or  alternative way to reach at the goal or next steps.
  9.  Exception Path: That is call Exception flow, during Use Case steps sometimes there is no way to reach to goal but you stop somewhere or reach somewhere else that’s call exception path.

    What is Primary Actor and Secondary Actor?

  1. Primary actor: someone or something who takes the help from system or someone who initiates use cases. 
  2. Secondary Actor:  Someone or something who give the help to system.

     What is Use Case Diagram?

Use Case diagram are created to visualize the relationship between Actors and Use Cases.

Use Case Diagram is simple representation of user’s interaction with the system and representing the specification of a use case.  A Use case diagram can show the different type of users of a system and the various ways that they interact with the system. This type of diagram is typically used in conjunction with the textual use case and will often be accompanied by other type of diagrams as well.

What is use of Use Case Diagram?

Use Case Diagrams overview the usage requirements for a system. They are useful for presentations to management and stakeholders.

Use Case Diagrams can be used to describe the functionality of a system in a horizontal way.
Use Case diagrams are considered for high level requirement analysis of a system. So when the requirements of a system are analyzed the functionalities are captured in use cases.

Example of Use Case Diagram:




What is INCLUDE and EXTEND?


EXTEND is used when a use case conditionally adds steps to another first use case.
An Extend relationship is to specify that one use case extends the behavior of another use case.

INCLUDE is used to extract use case fragments that are duplicated in multiple use cases.
An Include relationship is one use case includes the functionality of another use case. The include relationship supports the reuse of functionality in a use case model.

What is Unified Modeling Language (UML) and Different UML diagrams (Context Diagram, Use Case Diagram, Activity Diagram, Sequence Diagram)

What is UML stand for?

UML stands for
U - Unified
M - Modeling
L – Language

What is UML means?

       UML is a visual language that let you model software and process
       UML is made up of notation and diagrams

What is UML definition?

The Unified Modeling Language (UML) is an idea of modeling language in the software field. 

UML is initial footstep in developing an object-oriented design methodology.

The Unified Modeling Language (UML) has appeared as admired and efficient means of conceptualizing complex software design challenges and architecting solutions.
IUnified Modeling Language (UML), an "actor" is any agent that interacts with the target system, such as humans or even other computer systems, databases, etc. In the case of humans, a user can take on different actor roles depending on what his or her goal is at any given moment for interacting with the web site.

What is UML?


Unified Modeling language (UML) is a standardized modeling language allowing developers to specify, visualize, construct and document artifacts of as software system. Unified Modeling Language (UML) is an important aspect involved in object oriented software development. It uses graphic notation to create visual models of software systems.

How many Types of Unified Modeling Language (UML) Diagrams?


There are main four different types of Unified Modeling Language (UML) diagrams.
There are total 14 UML diagram types.


UML Diagram:





Main different types of UML Diagrams are
  1. Context Diagram
  2. Use Case Diagram
  3. Activity Diagram
  4. Sequence Diagram
1. Context Diagram

Context Diagram is a high level diagram that represents the actors outside a system that could interact with that system. This diagram is the highest level view of a system. It is similar to block diagram.

Context Diagram shows system as a whole and its inputs and outputs from / to actors.

2.    Use Case Diagram

Use Case Diagram are created to visualize the relationship between Actors and Use Cases.


3.    Activity Diagram

Activity Diagram is used to display the sequence of activities.

Activity Diagram shows the workflow from start point to the finish point detailing the many decision point.

They may be used to detail situation where parallel processing may occur in the execution of some activities.

4.    Sequence Diagram
The graphical representation of the interactions between actors. System and system components during execution of a use case or business process. The model illustrates both what is being exchanged and when the interaction occurs.


Friday, June 6, 2014

Business Analyst Training: What is Business Analyst?

What is Business Analyst Training?

Business Analyst Training is nothing but you just need to know, what is Business Analyst? and what is Busines Analyst Roles and Responsibilities?

During Business Analyst training we will cover, What is Business Analyst? and What is Business Analyst roles and Responsibilities?

What is Business Analyst?

Business Analyst who is liaison between Business people and system people or we can say someone who is liaison between stakeholders.

What is Business Analyst?

Business analyst is who analyzes an organization and designs its processes and systems.
Business Analyst works as a bridge between the business problems and the technology solutions.

What is Business Analyst?

Business Analyst who can understand the business process for the particular project with the help of SMEs from business side and who also gives the feedback or suggestion and makes the decision.

Business Analyst also known as System Analyst, Requirement Engineer, Business System Analyst, Execution Business Analyst.

Below Picture will give you more idea about Business Analyst:

                                       


What is Business Analyst Roles and Responsibilities?

Business Analyst Roles and Responsibilities:

  • Business Analyst communicates with SMEs, business stakeholders 
  • Business Analyst gathers requirements and do analysis.
  • Business Analyst's main role is to write down requirements for the project.
  • Business Analyst creates Business Requirement Document (BRD)
  • Business Analyst creates Functional Requirement Document (FRD)
  • Business Analyst validates and verifies requirements. 
  • Business Analyst creates Use Cases and Use Cases diagram.
  • Business Analyst creates Context diagrams.
  • Business Analyst creates Sequence diagrams.
  • Business Analyst creates Activity diagrams.
  • Business Analyst creates RTM (Requirements Traceability Matrix)
  • Business Analyst does Planning and Monitoring

Below picture will give you better idea of Business Analyst Role and Responsibilities:




Who is contractor Business Analyst ?


Contractor business analyst is one who hired on a contract basis. Mainly to do a specific job for a specific duration.
  • Fill up a short-term require of a business
  • Frequently brought on to work on an exact project
  • Normally do not have access to benefits, such as health insurance and holidays
  • Repeatedly find the contract through typical job search/ application methods
  • Frequently work full time for a particular period
  • Salaried on a hourly or daily basis