Advice on web software development and quality assurance standards Essay

Advice on web software development and quality assurance standards Essay

INTRODUCTION

Following on from the systems analysis and design methodologies recommendations made to the management a couple of months ago, this second report advises Allied Providential Life Assurance Company on their web software development initiatives and the recognised quality assurance standards they have to use.

As assigned by the management, the report addresses the following two key areas, in addition to the initial submission, which would be provided in the appendix:

(A) 1.0 Recommending these web software development issues to the company:
1.1 Suitable web-based programming languages;
1.2 Appropriate web development tools/products; and
1.3 Suitable web development standards.
2.0 Advising the company on a recommended web project management methodology.

(B) 3.0 Advising the company on the recognised quality assurance standards they have to use in order to:
3.1 Evaluate software development companies for outsourcing; and
3.2 Pursue the internal IT groups in-house software quality assurance accreditation initiative.
4.0 Outlining processes involved in the software quality assurance accreditation

1.0 WEB SOFTWARE DEVELOPMENT

It is also important to consider the type of users of the web-based applications before selecting the web programming language, web development tools/products and web development standards.

1.1 WEB-BASED PROGRAMMING LANGUAGES

The following programming languages can be used for the companys software development after careful consideration of these factors: viability and stability of the software producers, maintainability, flexibility, user friendliness, process efficiency, programmers experience and productivity (MAIT002-2, 2005, p.5, 16, 17)[14].

1.1.1 Hypertext Mark-Up Language (HTML)

This is a page-description language used for creating hypertext or hypermedia documents such as World Wide Web pages (Laudon & Laudon, 2003, p.205)[12]; (MAIT002-2, 2005, p.7-4)[14]. HTML is a high-level language that uses tags to spell out how text, graphics, video and sound are positioned on a document. It has text formatting capabilities that can be used to generate different heading styles, bold, italic, numbered lists, insertion of images and so on. HTML can create dynamic links to other documents and objects stored in the same or remote computers.

1.1.2 eXtensible Mark-Up Language (XML)

Similar to HTML is XML, but while HTML establishes how text and images should be displayed, XML tells what data the document contains in a web page. It is a general-purpose language that describes the structure of a document and supports links to multiple documents, allowing data to be manipulated by the computer (Laudon & Laudon, 2003, p.205)[12]. Figures inserted in the documents are clearly specified by XML tags, as to whether they represent prices, dates, postcodes, quantity of items, etc. XML is a simple and flexible text format derived from Standard Generalisation Mark-Up Language (SGML) and it has been formally recommeded by the World Wide Web Consortium (W3C, 2005)[29].

XML will provide the following benefits to the company:
It has standard vocabulary which enables both sending and receiving individuals to explain data in the same context;
It helps firms and their clients to access and use their own internal data without high software development costs;
It offers flexibility and defines data tags and attributes;
It provides the opportunity of building document structures on web pages without limitations;
It is useful for e-commerce applications because it has capability to validate data in the website; and
It is recognised by the World Wide Web Consortium (W3C).

1.1.2 Java, Java Applet & Java 2 Enterprise Edition (J2EE)

Java is a multi-platform independent object-oriented programming language developed by Sun Microsystems, which allows users to manipulate data on networked systems using web browsers, thereby minimising the need to write specialised software (MAIT002-2, 2005, p.6, 13, 14, 15)[14].

Java is dynamic and it has robust language capable of handling text, data, graphics, sound and video within one application program. It can run on any computing device, including Macintosh PC, IBM PC running Windows, Sun server running UNIX, cellular phone and personal digital assistants which are compatible with Java applications. Java will be a suitable language for the development of the Branch and Policy Performance Information System, which can be distributed amongst CPAS operators while making relevant and secured CPAS information available to clients on the e-commerce solution network (Laudon & Laudon, 2003, p.206)[12].

Java applets provide interactive capabilities for websites. It is ideal for programming claims calculations and sum assured on the CPAS, which can then be integrated into e-commerce solution systems for clients access. Clients will only need to download software functions which contain claim information, analyse and submit it for imbursement. This mitigates the worries of clients and other users maintaining large software programs or data files on their desktop machines.

J2EE is the latest version of Java and it offers a simplified approach to developing scalable and reliable internet- or intranet-based applications. J2EE is appropriate for developing complex Allied Providential applications such as Actuarial Modelling systems and CPAS, which can be integrated with e-commerce solution systems by using Web Serve Software (Sun Developer Network, 2005)[24].

1.1.4 Visual Basic.Net and Microsoft .Net

Visual Basic.Net is a programming language that supports web-based applications for Microsoft Windows. It provides data access from several databases and generates object components for web application development. It supports ADO.NET and XML-based programming for web development and it includes Web Forms and HTML Designers (MAIT002-2, 2005, p.6-12)[14].

Microsoft.Net provides a good platform for software development on the internet. It helps software engineers to interface across web-based applications and provides a consistent internet-distributed, object-oriented programming environment which can be strongly linked with other applications such CPAS.

The Common Language Runtime component of .Net Framework manages program code execution, program code safety verification, compilation, thread execution and memory. On the other hand, the Class Library component of .Net Framework has a wide-ranging, object-oriented collection of reusable data types that can help Web Forms and XML web applications. These features will facilitate e-commerce solution systems of the company (MAIT002-2, 2005, p.6-12, 13)[14].

1.1.5 Python

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines incredible power with unambiguous syntax. It has modules, classes, exceptions, high-level dynamic data types, and dynamic typing. New built-in modules are easily written in C or C++. Python is a functional language, which has an extension for applications that need a programmable interface (Python, 2005)[18]. Pythons code modularity offers the possibility of reusing objects in a range of applications. This means that HRMS, FAS and CPAS can be firmly integrated on the companys intranet by using web server software products.

1.2.0 WEB DEVELOPMENT TOOLS/PRODUCTS

Below are examples of web development tools and products, which can be used by Allied Providential for their web software development environment:

1.2.1 Middleware and Web Server Software

Web server software is a Middleware product that can be written in-house to connect client and server machines in client/server computing and increasingly to link a web server to data stored on another computer (Laudon & Laudon, p.202, 2003)[12].

This web development product can be used to link Branch and Policy Performance Information Systems with CPAS and e-commerce applications. It is argued that many applications are indispensable to daily operations and can be more useful if the details they contain are integrated with other applications (Noffsinger et. al., 1998)[16], hence business process integration tools are vital for the web software development environment.

1.2.2 HTML Authoring Capabilities

HTML has several web page creation capabilities which can be employed to develop Allied Providential web software development. These include:
HTML editors such as Claris Home Page and Adobe PageMill which are more powerful tools for web page construction. These programs will provide full control over the HTML content of the firms e-commerce solution systems, though there may be the need to use them with an external browser preview.
WYSIWYG (What You See Is What You Get) editors are HTML products that allow a software developer to see what the end results will look like while the interface or document is being created. These editors provide automatic insertion of suitable HTML tags into the documents being constructed without necessarily displaying them (MAIT002-2, 2005, p.7-5)[14].
HTML converters are tools which provide both mechanical conversion of documents and HTML editing by the use of toolbar tools or a combination, and also present conversion of documents both to and from HTML. Available products such as AscToHTML present automatic conversion of text to HTML web pages, allowing quick posting of newsletters, tables and other documents on-line. It has a powerful text analysis engine, recognises the structure of a document and authentically reproduces it in HTML format (JefSoft, 2005)[10]. In the other words, converters are helpful tools used for creating web pages from documents, which have been already organised, in other applications such as PowerPoint and word processing format.

1.2.3 Microsoft.Net Enterprise Server Collections

Available Microsoft.Net Enterprise software products to be employed for the companys web software development include application centre 2000 for web applications, commerce server 2002 for constructing e-commerce solutions, internet security and accelerated server 2000, Microsoft SQL server 2000, exchange server 2000 for e-mail and messaging and content management server 2001 (MAIT002-2, 2005, p.6-13)[14].

1.2.4 Web Browsers

These are flexible software used to view web pages and to access internet contents or other web resources (Netpath, 2005)[15]. They have interface capabilities to show and present audio, graphics, audio and text information. These features will create an environment for the firms web-based systems to use e-mail, transfer files and engage in on-line business discussions. The leading versions of these are Netscape Navigator and Microsoft Internet Explorer.

1.2.5 Groupware

This is another useful web-based product which can aid collaborative activities of the firms staff in separate locations or at the branches once it is embedded in their desktop computers. Groupwares functions include e-scheduling and calendaring, e-mail, audio and data conferencing, and e-databases (Same-Page, 2005)[21]. These features are common with the new versions of Microsoft Internet Explorer and Netscape Communicator web browsers. It will benefit Allied Providential if Groupware is incorporated into the Branch and Policy Performance Information Systems, FAS, CPAS, HRM Systems and other forms of Management Information Systems (MIS) and Decision Support Systems (DSS) for quick decision-making and exception reporting. Notably, groupware is robust, user-friendly, effective, secured and inexpensive.

1.3 WEB DEVELOPMENT STANDARDS

Web development standards for the firms web software development environment can be grouped into graphics, audio, video and the Common Gateway Interface (CGI).

1.3.1 Graphics Standards

Graphics and colourful images to be added to web pages need careful adherence to web development standards. This will maintain the attractiveness and integrity of the page. The main image standards to be followed are: Joint Photographic Export Group (JPEG) images and Graphic Interchange Format (GIF) images:

1.3.2 JPEG images

JPEG is a standardised image compression mechanism which works well on photographs and naturalistic artwork. This standard will be suitable for compressing and converting the firms photographs and similar materials into the web page. One useful property of JPEG is the degree of lossiness in compression which is compensated for in the file size (Jpeg FAQs, 2005)[11].

1.3.3 GIF Images

Similar to JPEG is GIF which is used for storing full-colour or grey-scale images of realistic scenes with restricted colour compression. This stands to reason that GIF is significantly better on images with only a few distinct colours, such as line drawings and simple cartoons, though it can be applied to scanning photographs and similar material. Current types of GIF are Animated GIF and Portable Network Graphics (MAIT002-2, 2005, p.7)[14].

1.3.4 Video

The most appropriate video file formats to be adopted for web development include AVI, QuickTime and Motion Picture Expert Group (MPEG). AVI is a famous video for Windows format generated by Microsoft, whilst QuickTime is an Apple Macintosh format associated with sound and video and it is suitable for Windows. In terms of quality superiority, MPEG-1 and MPEG-2 offer high quality VHS video and play back broadcast respectively. The newest version, MPEG-4 is the next-generation, global multimedia standard which delivers professional-quality audio (Apple, 2005)[1]. These standards can enhance on-line promotion of Allied Providentials products via its e-commerce solution systems.

1.3.5 Audio

Web-based sound file formats such as Waveform (WAV), MPEG audio, Real Audio (RA) and Musical Instrument Digital Interface (MIDI) are popular audio standards that can be applied to support the firms on-line promotions and internal presentations.

MIDI is commonly used on the web and it is generated electronic keyboard and synthesisers. The Apple revolution has produced several Soundtrack WAV formats that help recording, editing and storing of sounds. While MPEG audio produces a professional-quality sound, RA streamlines the supply of long pieces of sound information over the web (Apple, 2005)[1]; (MAIT002-2, 2005, p.6-13)[14].

1.3.6 Common Gateway Interface (CGI)

CGI is a standard way for interfacing external applications with information servers, such as Hypertext Transfer Protocol (HTTP) or web servers. Information requested by a user on a web page will be sent back to through CGI capability formats (Wikipedia, 2005)[27]. Clients will be able to access their personal and policy details via the firms e-commerce platform once it is developed with CGI functionality and integrated with CPAS. The company can develop a groupware with CGI for easy sharing of common information amongst departments.

1.0 Active Server Page (ASP)

ASP is a Microsoft-embedded script which permits a web page builder to construct websites on the fly by slotting in queries to a relational database in the web page. ASP+ is the latest version of ASP. This standard will be appropriately used for transferring the agreed databases of the firm into the web page.

2.0 WEB PROJECT MANAGEMENT METHODOLOGY

Developing information for the web involves focusing on the users needs. To achieve this, there should be clear methodology which has to be followed. The following six ongoing processes are considered adequate for the firms website initiative:

Planning Phase: This is geared towards defining target users, purpose, objectives, and general life assurance policies such as pensions, protection and investments which clients may hold (Skandia, 2005)[23]; (Friends Provident, 2004)[5]. It must also look at transaction processes, claims, premium calculations, disbursement procedures and inquiry handlings (RTD, 2005)[19]. Resource requirements must be taken into account in the planning stage.
Analysis Phase: At this stage information has to be classified into appropriate groups, headings, sub-headings or structured diagrams through brainstorming sessions. Active involvement of users, management, IT staff, facilitators, etc will be an excellent way of identifying and grouping information, checking technical construction of web with validation tools, evaluating information consistency and verifying correctness of domain information.
Design Phase: Information is separated into page-sized chunks and they are connected along routes of user thinking. The designer must provide cues for the users about the sites information structure and contents, context, and navigation. There should be a consistent look and feel for the web (December, 1996)[3]. Prototypes can be employed to obtain quick feedback on design decisions. (MAIT002-2, 2005, p.7-16)[14].
Construction Phase: This involves creating an extendable directory and file structure; using HTML tools where appropriate; employing templates for supporting consistent look and feel; and checking implementation in various browsers. This phase is similar to software development because it involves using a specific syntax for encoding web structures in a formal language in computer files (December, 2005)[4]. Appropriate web development products/tools, languages and standards have to be used in order to achieve a quality web page.
Go Live Phase: The site must be made known to end-users at this stage. It should target publicity releases for general web audiences, potential and current customers, follow on-line community norms and practices, and innovatively connect with users to meet their needs.
Innovation Phase: The website should be continuously and creatively redesigned for improvement to meet user needs. The processes here include testing, evaluation and focus groups to shift and change the web’s content, as user needs change.

In sum, the website must align with the business objectives; each section must evidently demonstrate its purpose; it must be effectively developed to build relationships and attract visitors who can patronise the various insurance policy packages; and there should be measures to evaluate how well the site is working.

3.0 RECOGNISED SOFTWARE QUALITY ASSURANCE (SQA) STANDARDS TO BE ADOPTED

Software quality assurance is the set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use (Schulmeyer et. al., 1998)[22]. To place meaning on quality, IEEE defines quality assurance as “a planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements (IEEE, 1990)[7].

The International Organisation of Standardisation (ISO) guideline, ISO 9001 standard is the most acceptable framework for measuring SQA. It provides guiding principles for software development, and its new-birth standard, ISO 9000-3, regulates the development, supply and maintenance of software. It also covers other areas such as joint reviews, acceptance testing and configuration management (MAIT002-2, 2005, p.8, 9)[14].

The new ISO 9001:2000 and ISO 9004:2000 are process based standards which are very valuable standards for evaluating software development outsourcing vendors. They are also crucial for the in-house SQA accreditation initiative. ISO 9001:2000 is a process oriented quality management system development plan which presents ISOs requirements, whilst 9004:2000 presents ISOs guidelines. Equally important is the Capability Maturity Model (CMM).

3.1 EVALUATING SOFTWARE DEVELOPMENT COMPANIES FOR OUTSOURCING

Outsourcing is a practice of contracting IT departments operations or applications development to external vendors (Laudon & Laudon, 2003, p.404)[12]. Outsourcing has advantages of streamlining a business’ operations, providing access to professional capabilities, providing assurance of process reliability and continually introducing new technologies, improving quality of service, increasing control of business of management and offering better opportunity to change (Bizhelp24, 2005)[2].

Allied Providential risks losing control of the process if outsourcing is not well understood and managed. In this regard, the company must carefully evaluate, compare and select vendors who meet ISO 9001:2000 standards (ISO, 2000)[8]. Tesler emphasises that if a business is discreet in selecting the outsource service provider, negotiating the contract and monitoring the project implementation, then return on investment might be very high (Tesler, 2005)[25].

Allied Providential has to check for ISO 9001 compliance amongst the vendors to be selected. They must ensure that those vendors have improved market confidence in third-party quality management system certification through accredited certification bodies for the sector, they have improved professional practice amongst SQA auditors, and they have published authoritative guidance material (TickIT, 2005)[26].

The evaluation procedure must also be set against the new ISO 9126 standard, which deals with software functionality, reliability, usability, efficiency, maintainability and portability (MAIT002-2, 2005, p.8, 9)[14]. Other measurable criteria essential for SQA are the level of flexibility, integrity, interoperability, maintainability, testability, usability and correctness (Gallies, 1997)[6].

In addition, CMM and its upgraded version, Capability Maturity Model Integration (CMMI), are similar SQA standards which have to be used alongside the ISO standards. They offer an excellent framework for software process maturity, best practice and software assessment.

3.2 SQA STANDARDS TO BE PURSUED FOR THE IN-HOUSE SOFTWARE DEVELOPMENT ACCREDITATION

The credibility and quality of Allied Providential IT Departments software processes will be ensured if it closely observes the five succession stages of Capability Maturity Model (CMM): Initial chaotic individual process; Repeatable project planning and management issues; Defined software engineering and integration issues underpinned by the firms training, review and focus programmes; Managed quantitative measurements and software quality; and Optimised technological and process advancement management characterised by fault prevention mechanisms (MAIT002-2, 2005, p.8-12, 13)[14]

This is summarised in the diagram below, showing how the software development moves from initial high-risk level to optimising high quality and productivity level (Wipro, 2005)[28].

CMM applies to new product development as well as software development and it provides a good framework for process maturity, best practice and software assessment. Applying CMM to the in-house software development will pervade the operations of other departments and will promote audit and assurance control within the entire business (TickIT, 2005)[26].

Allied Providential will hugely benefit from high-quality software products if they comply with the ISO and CMM frameworks for SQA. They will benefit in these ways:

Constructing systems with quality assured software will bring increased effectiveness in the use of the firms resources to enhance customer satisfaction and improved customer loyalty (4Mulate, 2005)[30].
Error occurrence will be less; activities will be performed right the first time and there will be less disruption during executions. This will improve systems integrity and will bring effective audit and control assurances.
The company will eventually regain its market share through flexible and fast responses to market opportunities. This is because they can raise their corporate image through the commendations of independent auditing and compete against firms which are not registered for ISO 9001 (MAIT002-2, 2005, p8-10)[14].
End-user development applications such as e-commerce solution systems and web-based application systems require active involvement of users, management, IT staff, sponsors, facilitators, etc for quality products and continual improvement (MAIT002-1, 2005)[13]. These development requirements are supported by the assertion that: Software quality depends on the commitment to quality of the people designing the software (Laudon & Laudon, 2003, p. 477)[12].
Allied Providential will benefit from lower costs and shorter cycle times through effective use of resources. Obtaining accreditation for SQA will also promote integration and alignment of the processes that will best realise the expected results; thereby reducing the identified bad risk management within the firm (4Mulate, 2005)[30].

Assessment issues significant for SQA certification include detailed procedures, a quality policy, regular management reviews, defect and complaint reports, and training requirements. In order to meet the SQA requirements, firms are urged to comply with ISO 9001:2000 standard, which has greater recognition than CMM amongst the public. Coincidentally, some of the processes in ISO 9001:2000 are harmonised with CMM for a common course of ensuring quality software development. The IT department of Allied Providential therefore has to apply the principles of CMM but must try to capitalise on the common elements enshrined in the ISO 9001:2000 standard for in-house SQA accreditation.

4.0 PROCESSES OF SOFTWARE QUALITY ASSURANCE ACCREDITATION

SQA covers all phases of the software development process, including safety, reliability, independent verification and validation, and metrics (Rosenberg, 2002)[20].

The level of quality defined by IEEE above (see section 3.0) can be achieved on Allied Providential IT Departments software development if the company complies with ISO 9001:2000, which is a process-oriented quality management system development initiative. ISO 9001:2000 has 22 processes which the IT department has to observe before getting accreditation (Praxiom, 2005)[17]. This means they should follow an orderly plan of actions sufficiently essential to provide passable confidence which best meet the expectations placed on the use of software products by the customers and staff.

The standard stipulates that a company must create or modify each of the 22 processes in its quality management system development in order to meet ISO requirements for certification. This can be done by designing, documenting, implementing, supporting, monitoring, controlling and improving each of them. The processes are inextricably connected through input-output relationships. These types of inputs/outputs include: products, services, information, documents, reports, records, results, needs, data, expectations, requirements, complaints, comments, feedback, resources, measurements, authorisations, decisions, plans, ideas, solutions, proposals, and instructions (Praxiom, 2005)[17].

Flowcharting software such as Smart Draw or Visio can be used to diagram the quality management system. This will resolve the complexity associated with the detailed processes and their input-output relationships.

The 22 processes are listed below:
Quality Management System (if considered as a whole process)
Quality Management Process
Resource Management Process
Regulatory Research Process
Market Research Process
Product Design Process
Purchasing Process
Production Process
Service Provision Process
Product Protection Process
Customer Needs Assessment Process
Customer Communications Process
Internal Communications Process
Document Control Process
Record Keeping Process
Planning Process
Training Process
Internal Audit Process
Management Review Process
Monitoring and Measuring Process
Non-conformance Management Process
Continual Improvement Process

Though the process is cumbersome, the advantages of using the systems will generally far outstrip any extra work involved if the IT department complies with the requirements and guidelines for certification (ISOM, 2005)[9].

CONCLUSION

In short, the IT Department must define software quality in a number of ways for the numerous systems across the firm, identify a set of activities to realise the defined goals, and build up SQA strategic plans to cover analysis, design and code generation. The next course of action will a involve total management approach that will promote effective software engineering technology, on-going reviews, and control of documentation, compliance procedures, quantitative matrices and accurate reporting. (MAIT002-2, 2005, p. 8-11, 12)[14]. The company should use an IT vendor who is accredited by an approved software quality assurance accreditation body and who satisfies current ISO compliance requirements if they decide to outsource their software development service. The foregoing recommendations will bring gains to Allied Providential if they are well implemented.

REFERENCES:

[1] Apple Website
Accessed on 29 June 2005
[3] December, J. (1996). “An Information Development Methodology for the World Wide Web,” Technical Communication, Vol. 43, No. 4, p. 369-375).
[4] December Website
Accessed on 30 June 2005 [5] Friends Provident Life Assurance Ltd (2004) Annual Return, 31 December.
[6] Gillies, A. C. (1997). Software Quality, Theory and Management. International Thomson Computer Press, 1997.
[7] IEEE Std 610.12-1990. Glossary of Software Engineering Terminology. Institute of Electrical and Electronics Engineers, Inc., 1990 Retrieved from IEEE digital library VIA
[8] International Organization for Standardization (2000). ISO 9001:2000. Quality Management Systems-Requirements. Switzerland.
[9] Isom Website:
[10] JefSoft Limited Website
[11] JPEG FAQs Website
[12] Laudon, K. C. and Laudon, P. J. (2003) Essentials of Management Information Systems. Managing the Digital Firm. Fifth Edition. Prentice Hall. Pearson Education International.
[13] MAIT002-1 (2005). Systems Design and Implementation, Study manual
Retrieved on 10 April 2005.
[14] MAIT002-2 (2005). Systems Development and Development Management Course Manual.
Retrieved on 10 June 2005 [15] Netpath Inc. Website
Accessed on 30 June 2005 [16] Noffsinger, W. B., Niedbalski, R., Blanks, M. and Emmart, N. (1998). Legacy Object Modelling Speeds Software Integration. Communications of the ACM 41, No 12, December.
[17] Praxiom Website
[18] Python Website
[19] RDT Website
Accessed on 29 April 2005. [20] Rosenberg, L. H. (2002). What is Software Quality Assurance? CrossTalk. The Journal of Defense Software Engineering. Available at STSC Website
Accessed on 19 June 2005
[21] Same-Page.Com Website
Accessed on 30 June 2005
[22] Schulmeyer, G. and McManus, J. I. (1998). Handbook of Software Quality Assurance, 3rd ed. Prentice Hall PRT, 1998.
[23] Skandia Life Assurance Company Ltd Website
Accessed on 28 June 2005
[24] Sun Developer Network Website
[25] Tesler, B. (2005) Outsourcing IT Development: Advantages and Disadvantages. Intetics Web Space Station Website
Accessed on 29 June 2005
[26] TickIT Website
[27] Wikipedia Website
Accessed on 30 June 2005
[28] Wipro Website
Accessed on 3 July 2005
[29] World Wide Web Consortium (W3C) Website
[30] 4Mulate Website:
Accessed on 20 June 2005

Related Essays

Leave a Reply

Your email address will not be published. Required fields are marked *