Sunday, 8 June 2014

The Application Service Provider

By Raul Bernardino

Introduction:
In today’s computing domain, the time is relative. Even the software application that is just recently developed by developers and it is still based on the original architect then that software has the legacy.” Hall, P. A.V. & Fernandez-Ramil, J. (2007, p.133). In other end, there are several applications that are out dated .This software is designed within old technology architecture back in 10 to 20 years ago. This may create huge differences of human needs in comparing to the software legacy. The small changes in the legacy software may be brought new challenges for sets of human capacity and issues companies.
The evolutions of the small and medium businesses (SMBs) have forced the companies to invest more in the new technologies in order to stay competitive. Therefore, companies are willing to “develop and to maintain their own software applications or they are willing to hire from application services providers (ASPs) or third party,” (Linthicum, 2000). All business growing fast and continually change from time to time whereas trigger the new technology may be already outdated.
The ASPs are now doing a partnership with companies in order to develop the application strategies which are in line with the companies’ needs and solution model for the businesses. This is to allow the ASPs to stay competitive in the market such as to compete in the prices, in the qualities, and the services.
The ASPs are projected as an alternative solution for small and larger companies that have lower budget for information and technology infrastructure. The ASP provides single users to have remote access for their enterprises. For instance Microsoft is offering back office products such as Exchange, SQL, and Windows servers for the leasing purposes. The users will be paying according to the uses.
Today cloud computing is also given a certain rooms for ASP to develop and strategize their applications products further more. The ASP has to develop right solution for small, medium, and individual businesses player in the global market. The institutions, the companies, and the organizations that have a time and budget constrain, they can rely on the outsourcing or cloud computing services. The companies can just starting their businesses without have to think the solution in information and technology infrastructure to bring their products and services in to the markets.
The ASP latest products are called enterprise resource planning (ERP).  The ERP is first time employed by Gartner group in 1990. Initially, the ERP system is focused on the back-office automation functions. As the time goes, the ERP II is developed for the web application system which is facilitating more interaction between clients and producers.
The ERP components as follows:
a)     Database transactions
b)    Portal Managements
c)     Customize reports
d)    Business Intelligence
e)     Web services
f)      Work-flow management
g)     Document management
h)    People-soft
i)       Search
j)       Email/messaging/wiki’s
In conclusion: The application service provider now becomes an integrated part of the businesses, especially for those who has time and budge constrain to develop in house software application and information and technology infrastructure. The enterprise resource planning system products have given the customers an alternative of the choices. The ERP system can be run in the different of the hardware technologies and also in different of the networks and it configurations

References:

Desai,B. et all (2002), Market Entry Strategy of Application Service Providers:

Identifying Strategic Differentiation, [Online].  Available from: 

http://www.mendeley.com/research/market-entry-strategies-application-service-providers-identifying-strategic-differentiation-1/#page-1 (Accessed: 28 October 2011).

Application Service Provider (ASP), [Online].  Available from: 

Enterprise Resource Planning, [Online].  Available from:  
Hall, P. A.V. & Fernandez-Ramil, J. (2007) Managing the Software Enterprise:

Software Engineering and Information Systems in Context. London: Thomson Learning.

Thursday, 5 June 2014

Software Quality

By Raul Bernardino

Introduction:
The quality of the software is hard to define the clear definition. The Software Quality is a relative means to the people that is not involving directly in the process of the construction. The quality of any products and services can be measured, however the measurement are only an indicative to guide the managers. “The high quality means that, it is fitting the purposes in which the quality of the software satisfying the needs and expectation of the stakeholders and it is not cause a damage to them. The external quality processes are needed in order to improve the overall quality enhancement and it also creates secondary complimentary views on the system that embodied in the implementation,” Hall, P. A.V. & Fernandez-Ramil, J. (2007, p.363).
There are three factors that are involving in the process of contracting a software application in order to reach the sets standards. They are as follows:
The internal factor such as the software system application has to be maintained, the application is constructed in the modular, the application performance is testable, the application can be reused, the application is adjustable, the application is interoperable, and system application is readable and understandable.
The process factor such as the software system application is able to improve, able to track the system, the system application is effective, the process application is able to predict, the system application is able to maintain, and the system application is repeatable.
The external factor such looking that the functionality of the system application, the efficiency of the application compare to the other system, the system application is reliable, adaptable and robust, the system application is having an accuracy, the system application is able to use, and the application software is able to conform. According to the Phillips (2005): the conceptual model of the software quality dimensions, as it shows in the below diagram:

In the business context, the software qualities are defined in two related concept such as:
a)     The functional quality which is the system application is reflecting to design, conform to the requirements, and it is including fitting the purposes and it is also comparable to the competitor’s application products. The functional qualities are measured during testing period.
b)    The structural quality which is referring to the non functional requirements that support the functionality such as it is able to maintain, the system is robust, it has high degree of how it product correctly. Usual the structural qualities are evaluated via  deep analysis on software structure, the source code, and how it designs or architecting
The quality measurement can be found in the number of the line of the code (N), number of comments in the code (C), and number of the complexity in the coding (X).  The formula is “Q = wn*N+wc*C+wx*X,” Hall, P. A.V. & Fernandez-Ramil, J. (2007, p.343), whereas the w is the weight value that we need to determine. For instance we three different programming experts to weight the value, it is good to have many experts in weight the values and take the average.
Although many advance technology, the software development still in the complex of the intellectual activities, therefore it can be measured as the quality culture. The implication is that, different people have different views of measuring any product qualities; therefore it is relative compare to one and another. The important knows that, people as a central of the process and an important resource for software organization such as knowledge, an experience, and understanding of the execution of the software application, which is processing the iteration whereas to provide the inputs to the new iterations. An organization that has quality culture when the qualities is highly valued and when the managers are supporting the employees who care for less tangible aspect of the qualities; as a result everyone in the organization feels ownership of the product and responsible for archiving the possible quality within the available resources.
The quality economics: According to the Feigenbaum, A. and Juran, J., in years 50s and 51s, both promoted the concept of quality economics in quality control. Feigenbaum, A. approach was all cost that associated with the quality, both those cost associated with the quality improvement and cost for extra work with quality failure. He identified three classes of cost such as: prevention cost, appraisal cost, and future cost.
In conclusion: The quality of any products and services are able to measure with three factors such as internal factor, external factor, and process factor. People are a central of the process and important resources for the software development.
References:
Hall, P. A.V. & Fernandez-Ramil, J. (2007) Managing the Software Enterprise:
Software Engineering and Information Systems in Context. London: Thomson Learning.
Lecture notes, MNGSWE_WK8_seminar
Sommerville, I. (2004). Software engineering 7th ed. Essex, England: Pearson
Education Limited.
Sommerville, I., (2001), Software documentation, [Online]. Available from:
Software Quality,[Online]. Available from:  
http://en.wikipedia.org/wiki/Software_quality (Accessed: 24 November 2011)

Software Change Management Product

By Raul Bernardino
Introduction:
The software configurations management are “a mechanism of how to manage the software versions, a mechanism to control the changes, a mechanism of reporting and auditing of the changes that has been made," Pressman, R.   Software Engineering: A Practitioner's Approach. There are three focus stages of developing the software.
They are as follows:
  1. The focus on definition: The System Analyst and Business Analyst establish the requirement and business needs it is including the validation the criteria’s, functions that need to be performed, information need to be processed,  system behavior, and which interface to be established;
  2. The focus on development: The developer defines the implementation of the functions and procedures within software architecture, translate the design in to the programming language, and how to test the coding;  
  3. And focus on support: The developers are focusing on error correction including adjusts and adopts some functions and features.

a.     The correction: it is the time to correct the defects that made during development face.
b.     The adaptation: the time where system application is adapting to the CPU, operation system, business rules, and etc. whereas to change the actual designed. In this case software needs to be modified in order to accommodate the environment.
c.      The enhancement: the developers are adding additional functions in order to give maximum benefits to the client. In this case software developer extends the functions in order to met addition requirements.
d.     The prevention: in this essence the developer gives the room for improving such as to correct, to adapt, and to enhance.

In the practice, the software configuration management has various activities to manage such as software source codes, hardware, documents, design models, and software structure directory. The IBM use rational software as software configuration management, while Forrester Research and Gartner Research use software change and configuration management.
The IBM Rational Software is an industry leading application software for release management and changes in the software configuration management.

The Rational Unified Process (RUP) is a web base knowledge share among software engineers. This will be enabling software engineers and developer team to deliver software best practices through guidance, templates, and tools of mentoring in all software lifecycle activities. The knowledge base will be allowing the developers team members to benefit the standard of industry which called unified modeling language (UML).

The RUP is also able to configure or reconfigure the process; because no single processes are suitable to all software development. Therefore it is fitting to small software development team up to the large software development organization. The RUP also has simple architecture which is providing the commonality among the process families. It is also a flexibility to accommodate various situation, including providing the development kits, support for configurations which allow to suit the organization needs.

There are six best practices as follows:
1.     The development of the software is iterative: In this approach the developer increases their understanding the problem gradually grow an effective solution with multiple iteration;
2.     The requirement are manageable: In this approach will be enabling he or she to define the requirements and define the functionalities, and it is including the constrains to help the decision making process and to communicate with business requirements;
3.     The architecture is used component base: In this approach will be giving the systematic to define the architecture by using the new or the existing component;
4.     The software model has a visualization: In this approach will be showing how software model is capturing the structure and behavior of the architecture and the components;
5.     Software qualities are verified: In this approach the quality will be confirmed with the business requirements, original functionality designs, the reliability of the process and functionality. All participants are using the objectives to measure the quality of the application;
6.     Software has a control change: In this approach will be allowing managing the changes and the changes are acceptable. It is also to control the changes that has been made in the coding, model, and documents;

 Alloy navigator is an Information and Technology Service Management solution whereas designed and built with best practices and real world of the customer in mind,” Alloy Navigator. The new version just released on April 1, 2011. There are three main component of the Alloy Navigator 6 (AN6) as follows:
1.   IT service management
a.     Service Catalog
b.     Service Level Management
c.      Incident Management
d.     Problem Management
e.      Change Management
f.       Work Orders
g.     Knowledge Base
h.     Self Service Portal
2.     Configuration management
a.     Computers
b.     Hardware
c.      Documents
d.     Configuration assemblies
3.     IT assets management
a.     Network Discovery
b.     Computer audit
c.      Library
d.     Purchase Orders
e.      Contracts
f.       Software License Compliance

As it shows in below diagram:



Today focus is how the Alloy Navigator 6 (AN6) can helps in the software configuration management. What Alloy Navigator 6 can offer from the configuration management point of views?

First of all, the AN6 target is medium up to large business environments where it can offer the service desk management, IT assets management, task assignment management etc. Here, the AN6 system is mostly for help desk system whereas to manage the action base work flows. For the software change configuration, we can use configuration management and IT assets management to help in the recording and documenting the changes.

The StarTeam is another software application designed for software changes and configuration management. The StarTeam designed to improve the team communication and collaboration via centralized control project. It is designed for differ methodologies and distributes to the various team. There is no limitation on the size of the development team.

Some benefit of the StarTeam as follows:
1.     Integrate change management in which to track the revision, assets, defects, discussions and project tasks just from one tools;
2.     Source code management in which it has file versioning labeling, code compare the capabilities, gives the ability to the managers and developers to access the project source code;
3.     Process automate support which is enabling flexible workflows, versioning and notification capabilities for assets to support the process needs;
4.     Supports for mix methodology environment in which the project can be co-exist in the same repository. This will be allowing the team to use the maturity of the collaboration;

In conclusion: Any software application such as RUP from IBM or StarTeam that is using for the software change and configuration management, it has to be easy to operate and every team members have knowledge on how to maximize the uses of the application itself in order to support them to build new or do enhancement of software application that has quality and meet all business requirements.  On the development cost wise, I do think RUP from IBM have lot of advantages in the cost saving during new software development phases.

References:
Hall, P. A.V. & Fernandez-Ramil, J. (2007) Managing the Software
Enterprise: Software Engineering and Information Systems in Context. London: Thomson Learning.
Lecture notes, MNGSWE_WK7_seminar
Wales, J., (2010), Software Configuration Management, [Online]. Available
from:
Department of Defense, USA (2001). Military Handbook: Configuration management guidance (rev. A) (MIL-
HDBK-61A), [Online]. Available from: http://www.everyspec.com/MIL-HDBK/MIL-HDBK+(0001+-+0099)/download.php?spec=MIL-HDBK-61.011531.PDF (Accessed: 21 November 2011)
Scott, J.A. & Nisse, D. (2001). Software configuration management
In: Guide to Software Engineering Body of Knowledge, [Online]. Available from: http://www.computer.org/portal/web/swebok/htmlformat
(Accessed: 21 November 2011)
IBM, Rational Software, Change and release management, [Online].
Available from: http://www-01.ibm.com/software/rational/offerings/crm/ (Accessed: 21 November 2011)
Rational Unified Process, Best Practices for Software Development Teams,
Pressman, R.,   Software Engineering: A Practitioner's Approach, 5th 
edition, McGraw-Hill, [Online].  Available from: http://uotechnology.edu.iq/sweit/Lectures/Dr-Muna-SW-4th/Software%20Engineering%20-%20Pressman-opt.pdf (Accessed: 21 November 2011)
StarTeam, Software change and Configuration management, [Online]. 
Available from: http://www.borland.com/us/products/starteam/ (Accessed: 21 November 2011)
Alloy Navigator, Action Base work-Flow Management, [Online]. 

Available from: http://www.alloy-software.com/an6/?gclid=CM7-6cSny6wCFUob6wodhDlbfg (Accessed: 21 November 2011)