Let’s learn Analysis and modeling a software.

환영합니다.
Welcome.
Bienvenidos.

BLOG I

Software Development Life Cycle

I was asked to investigate about SDLC in my analysis and modeling a software class, first of all what is it? It is a process which you need in order to develop a software such as what do we want to implement?, how are we gonna implement it? so we can develop with the highest quality and lowest cost in the shortest time. There are several steps to do that.


Photo by CreditScoreGeek
  1. Planning:
    The first step is to plan, in this step involves resource allocation, capacity planning, project scheduling, cost estimation and provisioning
  2. Requirements:
    Second step is the communication with all the stakeholders (Architects, Development teams, and Product Managers) about the new development to define all the requirements.
  3. Design and Prototyping:
    Third step, once we defined all the requirements for the new development, programmers may start to design the software according to the specification then all the stakeholders review it and give programmers some feedback and suggestions if there is any.
  4. Software Development:
    There are several methodology to represent this step such as waterfall, agile. No matter which methodology you choose to use this step has to be as quick as possible, but not only it has to be quick, also has to fulfill all the needs defined.
  5. Testing:
    This step is the most important step of the Software development life cycle, without this step, there is no way to prove if it works or not and other things that you can check are: code quality, unit testing, integration testing, performance testing, security testing.
  6. Operation and Maintenance:
    Also knowns as “end of the beginning”, and this step is not the end of the life cycle, as time passes the software could present some defects, bugs, errors and you have to respond to that as soon as possible in order to do that it is not necessary to repeat all the steps but some of steps you may follow to ensure this won’t happen again and bring other bugs.

BLOG II

Unified Process

Unified Process (UP) is also known as Unified Software Development Process, it is architecture-centric, iterative and incremental development framework that customers can make changes based on the needs for the project.

It makes extensive use of the Unified Modeling Language (UML). At the core of the UML is the model, which in the context of a software development process is a simplification of reality that helps the project team understand certain aspects of the complexity inherent in software.

There has been several changes of Unified process, The popular ones are Rational Unified Process (RUP) and Open Unified Process (OpenUP). Some of the characteristics of UP:

  • It is an iterative and incremental development framework.
  • It is architecture-centric with major work being done to define and validate an architectural design for most coding is done.
  • It is risk-focused and emphasizes that highest-risk factors be addressed in the earliest deliverables possible.
  • It is use-case and UML model driven with nearly all requirements being documented in one of those forms.

Unified Software Development Process has following components:

  • Cycles
  • Phases
  • Iterations
  • Disciplines  (also known as Workflows)
  • Activities
  • Artifacts
  • Workers

There are 4 phases of UP:

  • Inception phase:
    In this phase, creates definition, requirements, features and constraints, stakeholders gets to an agreement on business case, how much the project will cost and the schedule.
  • Elaboration phase:
    Elaboration phase is similar to the inception phase but with more detailed analysis and planning in order to understand the problem such as high-risk element and to establish a solid architectural foundation for the software to be developed.
  • Construction phase:
    Construction phase is focused on the software development, integration and testing, also user manual is created in this phase.
  • Transition phase:
    In transition phase, users start to use the application in order to verify if the system meets every specification of the customer and to detect any bug or error, we can say that this phase is for the maintenance.

The Rational Unified Process (RUP), its goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predictable schedule and budget. The engineers works closely with the customer to make sure that the process is continuously updated and improved upon to reflect recent experiences and evolving and proven best practices.

The phase of the Rational Unified Process is the same as the UP; Inception phase, Elaboration phase, Construction phase, Transition phase.

References:

Web page: http://www.bawiki.com/wiki/Unified-Process.html

Article: https://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf

BLOG III

Use Cases in Object-Oriented Design

What is a Use case? it is a methodology used to define, organize, identify system requirements, we can also say that it is description of how the system will accomplish user’s need, meaning software modeling technique. Use cases define interactions between external actors and the system to attain particular goals. There are three basic elements that make up a use case:

  • Actors: Actors are the type of users that interact with the system.
  • System: Use cases capture functional requirements that specify the intended behavior of the system.
  • Goals: Use cases are typically initiated by a user to fulfill goals describing the activities and variants involved in attaining the goal.
Resultado de imagen para use case model

Here is the video:

Then What is Object-Oriented Analysis and Design?

Object-oriented analysis and design is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterized by its class, its state (data elements), and its behavior. Various models can be created to show the static structure, dynamic behavior, and runtime deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML).

Object-oriented analysis applies object-modeling techniques to analyze the functional requirements for a system.

Object-oriented design elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.

So, Use cases in the object-oriented design it helps us to easily develop our system in order to do that the stakeholders such as users, programmers need to draw a diagram or map to specify every step, users’s need, etc. By doing that the system will fulfill all the user’s need.

Diseña un sitio como este con WordPress.com
Comenzar