Floreth's Blog 2016-10-11 08:43:00

UML diagram

UML stands for Unified Modeling Language. UML is a way of visualizing a software program using a collection of diagrams. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling software development.

Types of UML diagrams

The current UML standards call for 13 different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction overview, timing, and deployment.
These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams.
Structural UML diagrams
  • Class diagram
  • Package diagram
  • Object diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
Behavioral UML diagrams
  • Activity diagram
  • Sequence diagram
  • Use case diagram
  • State diagram
  • Communication diagram
  • Interaction overview diagram
  • Timing diagram
Th most used and important UML diagrams are (:
Sequence Diagram
Sequence diagrams describe interactions among classes in terms of an exchange of messages over time.

Use Case Diagram 
Use case diagrams model the functionality of a system using actors and use cases.


Class Diagram 
Class diagrams are the backbone of almost every object-oriented method, including UML. They describe the static structure of a system.




Object Diagram 
 sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they also show the relationship between objects but they use real world examples. They are used to show how a system will look like at a given time. Because there is data available in the objects, they are often used to explain complex relationships between objects.






Floreth's Blog 2016-10-11 08:43:00

UML diagram

UML stands for Unified Modeling Language. UML is a way of visualizing a software program using a collection of diagrams. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling software development.

Types of UML diagrams

The current UML standards call for 13 different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction overview, timing, and deployment.
These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams.
Structural UML diagrams
  • Class diagram
  • Package diagram
  • Object diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
Behavioral UML diagrams
  • Activity diagram
  • Sequence diagram
  • Use case diagram
  • State diagram
  • Communication diagram
  • Interaction overview diagram
  • Timing diagram
Th most used and important UML diagrams are (:
Sequence Diagram
Sequence diagrams describe interactions among classes in terms of an exchange of messages over time.

Use Case Diagram 
Use case diagrams model the functionality of a system using actors and use cases.


Class Diagram 
Class diagrams are the backbone of almost every object-oriented method, including UML. They describe the static structure of a system.




Object Diagram 
 sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they also show the relationship between objects but they use real world examples. They are used to show how a system will look like at a given time. Because there is data available in the objects, they are often used to explain complex relationships between objects.






Floreth's Blog 2016-10-11 08:43:00

UML diagram

UML stands for Unified Modeling Language. UML is a way of visualizing a software program using a collection of diagrams. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling software development.

Types of UML diagrams

The current UML standards call for 13 different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction overview, timing, and deployment.
These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams.
Structural UML diagrams
  • Class diagram
  • Package diagram
  • Object diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
Behavioral UML diagrams
  • Activity diagram
  • Sequence diagram
  • Use case diagram
  • State diagram
  • Communication diagram
  • Interaction overview diagram
  • Timing diagram
Th most used and important UML diagrams are (:
Sequence Diagram
Sequence diagrams describe interactions among classes in terms of an exchange of messages over time.

Use Case Diagram 
Use case diagrams model the functionality of a system using actors and use cases.


Class Diagram 
Class diagrams are the backbone of almost every object-oriented method, including UML. They describe the static structure of a system.




Object Diagram 
 sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they also show the relationship between objects but they use real world examples. They are used to show how a system will look like at a given time. Because there is data available in the objects, they are often used to explain complex relationships between objects.






Floreth's Blog 2016-08-30 09:21:00

SCM Software Configuration Management

What?
SCM is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps to eliminate the confusion often caused by miscommunication among team members. The SCM system controls the basic components such as software objects, program code, test data, test output, design documents, and user manuals.

Who?
The Software Engineering Institute (SEI) advocated a standard definition for CM oriented to software, broadening the definition of the Institute of Electrical and Electronics Engineers (IEEE) and the guidelines of the International Organization for Standardization (ISO).
Why?
Is software engineering practices associated with software configuration management offer a number of opportunities to address requirements found International  Standard, ISO 9001. From management perspective, the principles and practices of  CM represent an accepted and understood foundation for improving the efficiency and of these process. (Configuration Management and ISO 9000, Bamford, William).
Where?
Configuration Management originated in the United States Department of Defense in the 1950s as a technical management discipline for hardware material items and it is now a standard practice in virtually every industry. The CM process became its own technical discipline sometime in the late 1960s when the DoD developed a series of military
When?
The need for formalizing and taking SCM seriously, arose when rightly named “Software Crisis” was identified back in late 70s and early 80s. Only after the 80’s the SCM was allowed to grow as an autonomous entity from traditional CM.
How?
The first SCM systems of early 80s were developed in house and their primary focus was on file control. Most of them were built as a set of Unix scripts over RCS (a simple version control tool) and Make (for derived object control).
Metadata?

Floreth's Blog 2016-08-30 09:21:00

SCM Software Configuration Management

What?
SCM is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps to eliminate the confusion often caused by miscommunication among team members. The SCM system controls the basic components such as software objects, program code, test data, test output, design documents, and user manuals.

Who?
The Software Engineering Institute (SEI) advocated a standard definition for CM oriented to software, broadening the definition of the Institute of Electrical and Electronics Engineers (IEEE) and the guidelines of the International Organization for Standardization (ISO).
Why?
Is software engineering practices associated with software configuration management offer a number of opportunities to address requirements found International  Standard, ISO 9001. From management perspective, the principles and practices of  CM represent an accepted and understood foundation for improving the efficiency and of these process. (Configuration Management and ISO 9000, Bamford, William).
Where?
Configuration Management originated in the United States Department of Defense in the 1950s as a technical management discipline for hardware material items and it is now a standard practice in virtually every industry. The CM process became its own technical discipline sometime in the late 1960s when the DoD developed a series of military
When?
The need for formalizing and taking SCM seriously, arose when rightly named “Software Crisis” was identified back in late 70s and early 80s. Only after the 80’s the SCM was allowed to grow as an autonomous entity from traditional CM.
How?
The first SCM systems of early 80s were developed in house and their primary focus was on file control. Most of them were built as a set of Unix scripts over RCS (a simple version control tool) and Make (for derived object control).
Metadata?

Floreth's Blog 2016-08-26 09:40:00

Agile software development 

After reading tons of definitions of what exactly is Agile, i think i finally came up with a simple and easy to comprehend definition: Agile development is a different way of managing IT development teams and projects, this movement seeks alternatives to traditional project management. 
Agile methodologies are an alternative to waterfall, or traditional sequential development.

Agile started of with the

The use of the word agile in this context derives from the agile manifesto. This declaration was formed because people were unsatisfied with the traditional approach to managing software development projects. The agile manifesto describes 4 important values:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan
Ever since then, the use of methods that support these values has become increasingly popular.
They are 12 main principles that are common between agile methods, and these principles are what make Agile different from other approaches to software development like Waterfall.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and Continue reading "Floreth's Blog 2016-08-26 09:40:00"

Floreth's Blog 2016-08-26 09:40:00

Agile software development 

After reading tons of definitions of what exactly is Agile, i think i finally came up with a simple and easy to comprehend definition: Agile development is a different way of managing IT development teams and projects, this movement seeks alternatives to traditional project management. 
Agile methodologies are an alternative to waterfall, or traditional sequential development.

Agile started of with the

The use of the word agile in this context derives from the agile manifesto. This declaration was formed because people were unsatisfied with the traditional approach to managing software development projects. The agile manifesto describes 4 important values:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan
Ever since then, the use of methods that support these values has become increasingly popular.
They are 12 main principles that are common between agile methods, and these principles are what make Agile different from other approaches to software development like Waterfall.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and Continue reading "Floreth's Blog 2016-08-26 09:40:00"

Floreth's Blog 2016-08-23 16:55:00

Software lifecycle:
The SCLC is a series of steps or phases that are followed to create a software project. It is a detailed process that helps you define, develop, maintain and improve that precise pice of software. The steps may change according to the project or the organizations but i'll show the basic SCLD.
The main advantages of using the SCLD is that bye using it you can create an effective, cost-efficient and high quality program.

  1. Planning helps to look for the quality assurance requirements and identification of the risks associated with the project. It's main goal is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.
  2. The Analysis is performed with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational, and technical areas.
  3. Designing the product architecture: SRS is the reference for product architects to come out with the best architecture for the product to be developed based on the requirements specified in SRS. Then it is documented in a Design document specification (DDS). The main stakeholders review the DDS and the best design approach is selected for the product.
  4. Implementation, this means installing the software on user machines.Software is tested for portability and adaptability and integration related issues are solved during implementation.
  5. Testing & integration, in this stage refers to the testing only stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
  6. Maintenance: Once the product is tested and ready to be deployed it is released formally in the appropriate market. Continue reading "Floreth's Blog 2016-08-23 16:55:00"

Floreth's Blog 2016-08-23 16:55:00

Software lifecycle:
The SCLC is a series of steps or phases that are followed to create a software project. It is a detailed process that helps you define, develop, maintain and improve that precise pice of software. The steps may change according to the project or the organizations but i'll show the basic SCLD.
The main advantages of using the SCLD is that bye using it you can create an effective, cost-efficient and high quality program.

  1. Planning helps to look for the quality assurance requirements and identification of the risks associated with the project. It's main goal is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.
  2. The Analysis is performed with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational, and technical areas.
  3. Designing the product architecture: SRS is the reference for product architects to come out with the best architecture for the product to be developed based on the requirements specified in SRS. Then it is documented in a Design document specification (DDS). The main stakeholders review the DDS and the best design approach is selected for the product.
  4. Implementation, this means installing the software on user machines.Software is tested for portability and adaptability and integration related issues are solved during implementation.
  5. Testing & integration, in this stage refers to the testing only stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
  6. Maintenance: Once the product is tested and ready to be deployed it is released formally in the appropriate market. Continue reading "Floreth's Blog 2016-08-23 16:55:00"

Floreth's Blog 2016-08-22 23:05:00

Ethics of software engineering:

Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:
1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Sources & links:
http://www.slideshare.net/inam12/software-engineering-ethics-48094822