More Key Conepts of SDLC

Class and Object
Classcan be defined as a blue print or general template use to describe instances or objects. Every class contains its objects. In other words, class is a collection of objects that gathers related information about certain kind because of its attributes and methods. Objectis an instantiation of class and every object associated with certain class. Objects contains states and behaviors. Something about which we want to capture the information is also called as object.

Method and Message
A method is an action that can be performed by an object. Behavior of an object implemented by methods. Messageis an information that stimulates some behavior to occur in object. Interaction between the objects by means of these messages. Usually, message is a function call from one object to another object.

Encapsulation and Information Hiding
Encapsulationis a process of combining data and methods of a class into single entity. Object oriented approaches encapsulates methods and information in to entities called objects. Information hiding is the process of hiding unnecessary information and publishing only the data required to interact with object via well-defined simple interface. It implies that only required information to be passed to the object and the information returned from the object are published. The detailed functionality of implementation is hidden. Encapsulation and information hiding are essential characteristics of object oriented systems because encapsulation can be achieve through information hiding, which is process of hiding the secret information of an object and publishing only the essential characteristics of objects in a single capsule.

Polymorphism
In general, Polymorphism is an ability to appear in many forms. In Object oriented systems, polymorphism is that the same message can be interpreted as many classes of objects.  It refers to an ability to process objects differently regardless of their type or class. To send a message to an object, different pieces of information need to be gathered and object is responsible for interpretation of message appropriately. Though the messages are identical, each object responds appropriately is Polymorphism.


Dynamic Binding and Static Binding
Binding is a process used to link which method to be called as result of their reference in code. Dynamic binding is a technique that delays the specification of methods until run time. Actually, the called method is not chosen by the object oriented system until system is running.  Static binding is a technique that allows to choose which method to be called instead of letting the object oriented system to do it. In static binding, the type of objects should be determined at compile time. It makes the system more complicated and very difficult to understand.

Use Cases
Use cases are the tools which describes the behavior and how the user interacts with the system to perform some activity. Use cases are used to gather the requirements by communicating with the stakeholders to write the system. Use case specification defines information that pertains to particular use case which is essential in understanding the purpose behind use case. It has one or more flow of activities associated with it. Use cases focus on only one business process at a time.

Structure Diagrams
Structure diagrams represents the data and static relationships in an information system. It is mainly focus on static aspects of the software system include class, object, package, component, deployment. Structural model represents the things in the system to be modeled and technically, shows the different objects in a system. Structural diagrams are used to illustrate the relationship between classes and objects, illustrates the physical architecture, physical relationship among the components and internal structure of the software. Examples of structural diagrams include Class diagram, component diagram, composite structure diagram, deployment diagram, object diagram, package diagram, profile diagram.

Behavioral Diagram
Behavioral diagram used to depict the dynamic relationship among the objects in representation of dynamic business information system. These diagrams also supports in modelling functional requirements of an evolving information system. Behavioral diagrams include activity, sequence, communication, timing, interaction. Behavioral diagrams more focus on dynamic aspects of the system and shows what would happen in a system like how the objects interact with each other. Behavioral diagrams used to illustrate the flow of activities, model the objects behavior, overview the flow of control of process, interaction among the objects, examine the behavior of one class and capture the business requirement for the system. Behavioral diagrams include Activity diagram, communication diagram, interaction overview diagram, sequence diagram, state diagram, timing diagram, use case diagram.

Phases and Workflows
Phasesdescribes the evolution incremental and iterative development of information systems through time. Inception phase includes planning and feasibility study of the proposed system. Elaboration phase more focuses on analysis and design workflows of developing system. Construction phase concentrates heavily on programming implementation workflow by considering essential elements from previous phases. Transition phase focuses on testing and deployment of the system. Workflowis an activity performed by developer to evolve an information system. Engineering workflow includes the activities that deals with technical product. Business modellingworkflow understands the scope of project and helps in improvement of efficiency and effectiveness of user organization. Requirement workflows include functional and non-functional requirements gathered from stakeholders. Analysisworkflow focuses in creation of analysis model of the problem domain. It is used to depict the description of problem in domain classes and designing the architecture. Design workflow is a model used to implement the system. Implementationworkflow creates and executable solution based of design model. Testing workflow increases the quality of evolving system. Deployment workflow includes packaging, distribution and installation of the system. Supportingworkflow include the project management, configuration and change, environmental work flows.

Most Important phase in SDLC
Software development life cycle (SDLC) is a fundamental process of developing the projects. It has four phase are planning, analysis, design and implementation. Most essential phases is SDLC is planning. Which includes identification of business value of system and conducts a feasibility study. Requirement gathering is the essential element in planning phase. Because, every project is developed based on requirements of stakeholders. Especially in SDLC, phases are carried out one after other. If the problem is in planning phase, the whole development moves forward with the problem. Ultimately, fail in development because of its step by step approach.