Вы находитесь на странице: 1из 138

Principles and practices of software production

Module title and code Principles and practices of software production (CE0003-2-PPSP) Intake code HF11B1COM/SE Submission date 28th May 2012 Project title Helpdesk operating system Lecturer Ms. Nadeera Ahangama Submitted By K.Sathyabaman (CB004114) Kevin Barthelot (CB004101)
Janitha Bimasha (CB004154)

HF11B1COM/SE

Page 1

Principles and practices of software production

Acknowledgment
I and my group members have taken this opportunity to thank all those who helped us make this project a success. Its true that we have spent an incredible amount of effort to complete this project but it would not have been possible without the incredible support given to us by many individual and groups. I hope these few words will be able to express our heartfelt gratitude toward them. We highly appreciate the guidance and constant supervision given to us by our lecturer Ms. Nadeera Ahangama, for providing us with the relevant information that was required to complete the project. We would also like to express our heartfelt gratitude to our parents and the APIIT lecturer panel for their support and encouragement given to us which helped us successfully complete the project. We would also like to thank our colleagues who helped us in developing the project and all those who willingly helped us out with their abilities.

HF11B1COM/SE

Page 2

Principles and practices of software production

Table of Contents
Acknowledgment................................................................................................................................2 3.0 Introduction..................................................................................................................................7 4. 0 Problem Background ....................................................................................................................9 4.1 Case study ................................................................................................................................9 4.2Current system ..........................................................................................................................9 4.3 Logical assumptions made .........................................................................................................9 4.4 Main features addressed ...........................................................................................................9 5.0 Proposed Solution ....................................................................................................................... 10 6.0 Project management................................................................................................................... 12 6.1 Requirement management ...................................................................................................... 12 6.2 Cost management ................................................................................................................... 12 6.3 Configuration management ..................................................................................................... 12 6.4 Risk management.................................................................................................................... 13 6.5 Quality assurance .................................................................................................................... 13 7.0 Project Planning Control .............................................................................................................. 14 7.1 Project plan............................................................................................................................. 14 7.2 Configuration management ......................................................................................................... 14 7.3 Roles and responsibilities of configuration management members ............................................ 17 7.4 Software tools used for configuration management .................................................................. 18 7.5 Configuration management team............................................................................................. 18 7.6 Quality assurance plan............................................................................................................. 19 7.6.1 Scope ............................................................................................................................... 19 7.6.2 Standards ......................................................................................................................... 19 7.7 verification and validation........................................................................................................ 19 7.7.2 Validation......................................................................................................................... 20 7.8 Quality assurance requirements ............................................................................................... 20 7.9 Quality assurance policies for the system.................................................................................. 20 7.10 Quality assurance policies used in different stages .................................................................. 20 7.11 Quality assurance teams responsibilities ................................................................................ 21 7.12 Documentation standards ...................................................................................................... 22 7.12.1 Front page standard ........................................................................................................ 22

HF11B1COM/SE

Page 3

Principles and practices of software production


7.12.2 Text standard.................................................................................................................. 22 7.12.3 Margin standard.............................................................................................................. 22 7.12.4 Referencing standard ...................................................................................................... 22 7.12.5 Grammar standard .......................................................................................................... 22 7.13 Programming standards......................................................................................................... 23 7.14 Communication standard ....................................................................................................... 23 8.0 Schedule Planning....................................................................................................................... 24 9.0 Selection Mythology.................................................................................................................... 25 9.1 Hybrid model .......................................................................................................................... 25 9.2 Reasons for selecting Hybrid model .......................................................................................... 25 9.3 Reasons for not selecting Waterfall model ................................................................................ 26 9.4 Reasons for not selecting Spiral model...................................................................................... 27 9.5 Comparison between traditional models and hybrid model ....................................................... 28 9.5.1 Characteristics .................................................................................................................. 28 9.5.2 Strengths.......................................................................................................................... 28 9.5.3 Weaknesses...................................................................................................................... 28 9.6 Prototyping............................................................................................................................. 28 10.0 Cost estimation......................................................................................................................... 29 10.1 Effort calculation ................................................................................................................... 29 10.2 Calculation of PM .................................................................................................................. 30 10.3 Total cost of the software ...................................................................................................... 30 11.0 Risk Management ..................................................................................................................... 31 Introduction ................................................................................................................................. 31 11.1 Risk identification.................................................................................................................. 32 11.2 Risk analysis .......................................................................................................................... 33 11.2.1 Probability of occurrence ................................................................................................. 33 11.2.2 Impact of risk on project.................................................................................................. 33 11.2.3 Risk analysis.................................................................................................................... 34 11.2.4 Risk score ....................................................................................................................... 35 11.2.5 Risk planning................................................................................................................... 36 12.0 Requirement Analysis ................................................................................................................ 39 12.1 Requirement engineering....................................................................................................... 39

HF11B1COM/SE

Page 4

Principles and practices of software production


12.2 Feasibility study ................................................................................................................. 39 12.3 Elicitation and Analysis ....................................................................................................... 40 12.4 Requirement validation ...................................................................................................... 40 12.5 Requirement management................................................................................................. 41 12.6 Functional requirements ........................................................................................................ 41 12.7 Non functional requirements ................................................................................................. 56 13.0 Process Modeling...................................................................................................................... 57 13.1 Context diagram.................................................................................................................... 57 13.2 Level 0 DFD ........................................................................................................................... 58 13.3 Level 1 DFD ....................................................................................................................... 59

13.3.1 Level 1 - caller and hard ware Verification ........................................................................ 59 13.3.2 Level1 - Accept problems................................................................................................. 59 13.3.3 Level1 - check problem priority ........................................................................................ 60 13.3.4 Level 1 - Allocate specialist .............................................................................................. 60 14 Data Modeling ............................................................................................................................. 61 14.1 Entity Life history................................................................................................................... 62 14.1.1 Administrator.................................................................................................................. 62 14.1.2 Caller.............................................................................................................................. 62 14.1.3 Help Desk Operator......................................................................................................... 63 14.1.4 Specialist ........................................................................................................................ 63 15.0 Data dictionary.......................................................................................................................... 64 15.1 LEVEL 1 Accept problem data dictionary ................................................................................. 64 15.2 LEVEL 1 allocate specialist data dictionary............................................................................... 70 15.3 LEVEL 1 caller and hardware modification data dictionary........................................................ 71 15.4 LEVEL 1 check problem priority data dictionary ....................................................................... 76 15.5 LEVEL 0 data dictionary .......................................................................................................... 80 16.0 Design Principals and concepts................................................................................................... 96 16.1 Introduction to design ........................................................................................................... 96 16.1.1Transforming analysis model in to design .......................................................................... 96 16.2 Output of design phase .......................................................................................................... 97 16.3 Design Principals ................................................................................................................... 97 16.3.1 User friendly ................................................................................................................... 97

HF11B1COM/SE

Page 5

Principles and practices of software production


16.3.2 Minimal surprise ............................................................................................................. 98 16.3.3 Recoverability ................................................................................................................. 98 16.3.4 User Guidance ................................................................................................................ 98 16.4 Design Concepts.................................................................................................................... 99 16.4.1 Abstraction ..................................................................................................................... 99 16.4.2 Refinement..................................................................................................................... 99 16.4.3 Modularity...................................................................................................................... 99 16.4.4 Software architecture .................................................................................................... 100 16.4.5 Control hierarchy .......................................................................................................... 100 16.4.6 Software procedure ...................................................................................................... 101 16.4.7 Information hiding ........................................................................................................ 101 17.0 Architectural Design ............................................................................................................ 102

Advantages of Software Architectural Design ............................................................................... 102 19.0 Programming environment...................................................................................................... 123 19.1 Visual studios 2008 .............................................................................................................. 127 19.2 Microsoft SQL server ........................................................................................................... 128 19.3 CLOC................................................................................................................................... 128 19.4 Adobe Photoshop CS6.......................................................................................................... 129 20.0 Testing.................................................................................................................................... 130 20.1Test plan.............................................................................................................................. 130 References ..................................................................................................................................... 137

HF11B1COM/SE

Page 6

Principles and practices of software production

3.0 Introduction
Every modern day business no matter what service they provide or what product they produce have used computers and IT related technologies to simplify their activities, reduce errors and for cost reduction. These factors have prompted major business organizations as well as small business organization to use various IT devises to overcome organizational threats and to take advantage of opportunities provided to the organization. Ceylon telecom is one such organization that uses IT devises to simplify its employees day to day activities and to make Ceylon telecom the number one service provider in its relevant field. But as all manmade structures IT devises also have a limited life time and no matter what we try to do the inevitable destruction of these devises cannot be stopped. It can only be postponed by good maintenance and carful usage and in order to do this tampering with these devises is absolutely necessary in way that it does not reduce but increases these devises lifetime. In order to carry out these maintenance activities individuals with a broad knowledge on how these devises operates. Many organizations have tried to outsource its IT needs but security risks and failure to provide high quality services have prompted organizations to maintain and recruit its own IT staff. Ceylon telecom has also recruited its own IT staff and IT specialist in order to aid it day to day activities and support employees in various departments having issues with there IT devises. But due to various in efficiencies in recent time Ceylon telecom has understood its need to have an IT help desk operating system that would increase its IT departments efficiency and provide the organization a high quality of service. In order to facilitate Ceylon telecoms specified requirements our development team developed a user friendly application that will not only help Ceylon telecoms it departments to carry out its day to day work efficiently but also to provide the organization with the ability to run smoothly as possible. The system was developed using modern day concepts and technologies so that all the required functionalities required by the end user would be met successfully. Each and every component of the application was developed with the end user in mind and we hope the customer would be satisfied with the prototype that we have created. HF11B1COM/SE
Page 7

Principles and practices of software production The below documentation was created to show the user the various elements that affects the system and how the Ceylon help desk operating system works. When creating the below document APIIT documentation standards were strictly followed and was created targeting the end user the APIIT lecturer panel.

HF11B1COM/SE

Page 8

Principles and practices of software production

4. 0 Problem Background
4.1 Case study
Ceylon telecom is a telecommunication service provider that offers it employee the ability to solve their business related IT problems. It requires a system that will be operated by a designated helpdesk operator, who would take IT, related problems enter it to the database and provide a answer by deriving it from the solution database or by assigning an IT specialist for the said caller.

4.2Current system
Ceylon telecom is a telecommunication service provider that operates its day to day activities using IT related solution in order to manage and simplify its day to day activities. Ceylon telecom does not have proper IT help desk operating system that manages its IT issues. It uses manual file storage methods and a large amount of human resources in order to manage its daily activities.

4.3 Logical assumptions made


The requirements decided by our team will fulfill the customers primary and secondary requirements. At present the customer runs a manual non computerized system. The customers organization has its own IT department. The customers IT department will be uncharged of the system. Protection of data banks and hard drives will be done by the organization. The organization has the required hardware and software to run the application once developed. One username and password for each user type will be used by the organization.

4.4 Main features addressed


All primary requirements were satisfied by the system. User friendliness was given priority when developing the system. HCI factors were considered and implemented. Security features were used to increase the security of the application. Database development and configuration was developed. Quality assurance standards were implemented. Testing and maintenance strategies.

HF11B1COM/SE

Page 9

Principles and practices of software production

5.0 Proposed Solution


The proposed solution will be developed using visual basic and will be developed based on object oriented programming concepts. The reason for using object oriented programming concepts was create an application that resembles a real world situation. Modular programming concepts was not used because of its complex nature and layered programming concepts were overlooked because the application is not a web based application. And when developing the application user friendliness was prioritized and user requirements were strictly followed so that end user would not be disappointed. The reason for using an object oriented programming concept to develop the IT help desk operating system was because It enables reusability Provide code shearing features Reduces breakage Due to the above reason we decided to use object oriented programming to develop the system and create design patterns to develop an efficient solution. The IT help-desk operating system will be using a help desk operator when operating the system, has to login first using hes or her employee id and designated password when login the application would save the username or the employee id and use it for further processing activities. When the operator gets a call from the employee with a problem he would request the employee id and would enter it to an application form that would be provided by the system. When the employee id is entered into the system the application would then provide a semi-filled in form with details such as employee id, hardware and software specifications. At this point the operator should request the employees problem and enter it to the given form and submit the form. The system would then asses the problem and provides a solution from its solution database or forward the problem for corresponding specialist who would directly connect to the caller and would proceed to solve the problem and once solved would enter solution into the application database for future references. The helpdesk operators activities in this application would be to request the callers employee id and enter it to the employee details identifier form which would search the hardware and software details and represent these details in the problem form and would forward this form back to the operator who would then proceed to add the employee problem into the form. When adding the employee problem into the form the operator can either select the problem form a list of problems in the problem database and enter the problem id or request the system to forward the form to a specialist if the problem cannot be found in the database.

HF11B1COM/SE

Page 10

Principles and practices of software production Additional features of the application would be that it will be developed with minimum user dialogs as possible but also to provide total control for the user. In addition some of the features that our applications user interface would include are Common actions are prioritized in the interface. Usage of standard fonts and colors in the interface. Interface will be developed with a tab-order Consistence in color, fonts and icons in each form of the application. In addition our development team has also put in place security features such as user validation and prioritizing the applications users. When considering the various setting available in the application, the application settings could only be changed by the system administrator and any maintenance done to the application will be done by the administrators. The following functionalities will be given priority when developing the system and is considered as primary functionalities. 1. Log-in 2. Registering new users. 3. Creating a new call. 4. Editing call details. 5. View and search call details. 6. View new jobs by specialist. 7. Hold a job until solution is derived. 8. Submit solution. 9. View and search job history. 10. View summary of all calls. 11. Generating and viewing reports. 12. Backup options. Considering facts shown above we hope the reader would be able to get a clear understanding of what the application would be and how it would solve Ceylon telecom IT help desk issues.

HF11B1COM/SE

Page 11

Principles and practices of software production

6.0 Project management


Project management was done by our teams project manager and each team member contributed for the project management process. The project management was concerned with planning and managing the software project. The project planning aspects of the project included the following aspects and each was in an sequential order Carrying out a requirement management Cost management Risk management Configuration management Quality assurance

6.1 Requirement management


Was done by the requirement manger it involved our group member carrying out a requirement engineering process and developing a requirement analyzing plan. Some steps undertaken by our requirement manager includes Feasibility study Elicitation and Analysis Requirement validation Requirement management By carrying out the above activities our project management team were able to identify and functional and non functional requirements and validate it with the client requirements.

6.2 Cost management


Out teams cost analyst carried out the cost management activities. Globally accepted cost estimation techniques were used in order to calculate project cost. When calculating cost, cost was calculated in various different stages. Cost management was done entirely by the cost analyst and deeply explained in project planning and control.

6.3 Configuration management


Configuration management was carried out by the teams project manager and listed under project planning and control. Some areas discussed under project configuration management includes Configuration identification Change management Version management
Page 12

HF11B1COM/SE

Principles and practices of software production Configuration were identified and explained and stored in configuration databases development teams and project managers were together in order to carry out the above activities.

6.4 Risk management


Risk prioritization and calculating risks that would affect the project were done by risk management and it was carried out by the risk manager. Some aspects discussed in project risk management includes Probability of risk Impact of risk Risk plan The above stated topics are further discussed in project management planning and controle.

6.5 Quality assurance


Quality assurances were done with development teams, analysis and management. Quality assurance was concerned with how each individual could contribute to improve the project standard and various officially recognized standards that were followed by our team member. Quality assurance was concerned with the following areas Coding standards Documentation standards IEEE standards

HF11B1COM/SE

Page 13

Principles and practices of software production

7.0 Project Planning Control


Project management is the process in which various steps in the project is managed and controlled. A few important steps in project management includes Configuration management Quality assurance Requirement analysis Risk management Cost estimation

Cost estimation is process in which hardware, software and other project recourses are identified and its cost documented. Risk management is the process of identifying and documenting risk and creating a plan for risk management. Requirement analysis is the process of identifying and analyzing requirements essential for the project. Individuals involved in project planning includes Analyst Requirement manager Change manager Configuration manager Development teams Testing teams

7.1 Project plan


The first step of the project would be to identify the requirement and produce a feasibility study for the clients. When a clear understanding is made produce cost estimation and schedule a budget and time. The lat step would be to develop the application and with it configuration management aspects and quality assurance will be carried out. The final step would be testing and fixing of errors.

7.2 Configuration management


Configuration Management is the process of identifying and defining the items in the system, controlling the change of these items throughout their life cycle, recording and reporting the status of items? And change requests, and verifying the completeness and correctness of items. (-- IEEE-Std-729-1983) Software CM is a discipline for controlling the evolution of software systems. HF11B1COM/SE
Page 14

Principles and practices of software production (Susan Dart, Carnegie-Mellon University Pittsburgh) As the above definition suggest configuration management is the means of managing and controlling the ever-changing nature of application throughout the development process. The IEEE standard 729-1983 divides the management process into four main parts namely 1. Identification 2. Control 3. Status accounting 4. Audit and review Accordingly our help desk operating system will also have many configuration management concepts and tools being used in the application in order to facilitate the evolution of the application. Some of the configuration management concepts that would be used by our application are as follows. 1. 2. 3. 4. 5. Configuration item identification Configuration database management Version management Change management. Release management 1. Configuration item identification The identification scheme that we followed will reflect our systems structure, components and types. 1.1 Document identification The help desk operating system document will be developed and managed by all team members. The document will follow basic APIIT and Staffordshire university standards and Harvard referencing will be used where ever necessary. 1.2 Document categorization The document will be divided into two main parts, part one project documentation which would include project and process management documentation, part two the product documentation which would include documents regarding implementation and usage of the product. 1.3 Product structure The product structure will include a unique name and title, release identifiers will be used when the product is released and version identifiers will also be used. The product structure will be defined in different stages such as components, architecture modules and activities. 1.4 Configuration standards Configuration management documentation standard will be using unique identifiers for the documentation. These identifiers are Base line -identifies a set of specification which can be changed only by the help desk operating systems change control procedures. Build-source codes and file version identifiers.

HF11B1COM/SE

Page 15

Principles and practices of software production Release package -deliverable document and deployable application which depicts a completed version of the application. File version-software identifications will be assigned by version management. 2. Database configuration management Configuration management database will hold all information regarding the applications configuration management. It would hold information on topics concerned with What system version is being used The platform required for running a particular version What effect change for particular component The reported faults in a single version Configuration management database defers form other types of Meta data stores in a way since it explains how data needs to be updated and stored. Effectively the following topics will be held by the configuration management database Identified configurations Version management Change management Release management Configuration management database will be using SQL server, to be developed and would be able to run in all Microsoft and Linux servers. And when changes occur to the application these changes will be listed in the configuration management database automatically. 3. Version management Version control is the process of naming source code and data files thereby enabling easy retrieval and management. 3.1 Features of version management Enables version browsing. Provides history and traceability of the application Will include list of change documents The reason for releasing the said version Components that changed from the previous version 3.2 Software version release Alpha version Beta version Final release 4. Change management Change management will be initialized when the functional baseline of the product is created and initialized. Change management will be implemented for the lowest possible level of application. Control over change management will be maintained through risk, issue management.

HF11B1COM/SE

Page 16

Principles and practices of software production 5. Release management Release management concepts are used in configuration management as a tool to manage the development, build and promotion management. Accordingly various release packages will developed throughout the SDLC cycle but a few versions will only be officially released. A few steps that were followed in our release management includes Getting a clear idea of the software releases Releasing versions according to a predetermined plan. Ensure release tools and infrastructures are properly regulated. Standardization of releases. Using high quality and talented people. Creating a positive outlook.

7.3 Roles and responsibilities of configuration management members


Project management Role Programme manager Project manager Responsibility Manage the SCM process Evaluate change requests Establish SCM user manual and procedure manual Providing technical details Documentation of design, build, release and user manual documentation Provide build request Conduct status accounting reviews Provide testing details Ensure all criterias are met before release Ensure SCM procedure are followed Conduct audits Manage the SCM tool environment Validate builds Ensure SCM procedure are followed

Development team

Development manager Developers System architects Designers

Quality assurance team Release team

Q.A manager Software testing analyst Implementation team Deployment team Operation teams Configuration manager

Configuration management

HF11B1COM/SE

Page 17

Principles and practices of software production

7.4 Software tools used for configuration management


MS OFFICE MS ACESS MS EXCEL VISUAL SVN TORTISE SVN DROPBOX

7.5 Configuration management team


The configuration management team includes Project manager Designers team Application developers team Testing team

HF11B1COM/SE

Page 18

Principles and practices of software production

7.6 Quality assurance plan


Software Quality Assurance (SQA) is a formal process for evaluating and documenting the quality of the work products produced during each stage of the Software Development Lifecycle (SDLC). The primary objective of the SQA process is to ensure the production of high-quality work products according to stated requirements and established standards. (2000-2006 Digital Publications LLC)
7.6.1 Scope

The purpose of the quality assurance plan is to provide the user with a fully functional application which fulfils user needs. The following document will show the reader the steps that have been followed by our team in order to fulfill the above goal.
7.6.2 Standards

When developing the application the following standards were used throughout the development cycle and post development in order to ensure a high quality product. The following standards are some of the main concepts that our group followed to ensure quality assurance.
IEEE 730.1: Standard for Software Quality Assurance Plans. IEEE 1012: Standard for Software Verification and Validation. IEEE1012 standard for requirements, design, implementation, test, installation and

checkout, and operation and maintenance.

7.7 verification and validation


7.7.1 Verification

The process of determining whether or not the products of a given stage of the software development life cycle fulfill the requirements established during the previous stage. (According to IEEE) Best practices in SQA identify the following activities as part of requirements verification: Evaluate requirements and relationships for correctness, consistency, completeness, accuracy, readability and testability. Assess how well the requirements document satisfies the high level requirements described in the project plan. Assess the criticality of requirements to identify key performance or critical areas of software. Produce a traceability matrix tracing all requirements back to high-level requirements in the project plan and forward to software design elements and downstream test case elements. (Shell method, software quality assurance plan for database application)

HF11B1COM/SE

Page 19

Principles and practices of software production


7.7.2 Validation

The process of evaluating software at the end of the software development process to ensure compliance with software requirements. (According to IEEE) Testing the application will be concerned with the validation process.

7.8 Quality assurance requirements


High productivity expected from the system High user satisfaction On time delivery User friendly system Increased efficiency of the product

7.9 Quality assurance policies for the system


Daily monitoring and inspecting the development process to ensure quality standards are maintained. Prioritizing expected functionalities to ensure user requirements are met. Empathizing on developing a user friendly system. Establishing deadlines and milestones and inspecting the work completed for low quality components and correction of errors. Carrying out in-stage assessments.

7.10 Quality assurance policies used in different stages


Development stage Initiating stage Policy Developing a proper scope of the project. Making sure that project scope does not expand. Allocating resources effectively. Preparation of proper Gantt chart and pert charts. Creating proper budgets and evaluating cost management effectively. Creating milestones and making sure deadline are fulfilled. Enabling the design to support all functional and user requirements. Creating a consistency in the designs. Implementing factors that increase user friendliness. Increasing HCI factors. Including primary and secondary functions.
Page 20

Project management stages

Design stage

Development stage

HF11B1COM/SE

Principles and practices of software production Ensuring development in a timely manner. Ensuring user friendliness. Ensure deadlines are met and quality assurance factors are considered. Ensure the predetermined time for testing is used to the full. Ensuring that changes that should be made after the test process is carried out. Creating a correct test plan and following the predetermined test plan. Providing high quality services even after the system is developed. Creating a proper user manual that the customer could understand. Providing online websites for help. Providing tech teams to educate the user on using the system and how to maintain the system.

Testing stage

Maintain stage

7.11 Quality assurance teams responsibilities


1.7.1 Project managers responsibilities Management of project schedule. Manage change control process. Development of quality assurance strategies. Lead and provide direction for other team member. 1.7.2 Analyst responsibilities Approving strategies. Participating in strategy walkthrough. Ensuring customer needs are met. 1.7.3 Designers responsibilities Ensuring user friendliness. Consulting analyst and quality assurance personal when designing the system. 1.7.4 Developers responsibilities Ensure high performance. Act as resources for project management. Developing performance plans. 1.7.2 Test team responsibilities Development of test strategies. Review project components. Providing insight regarding testing for project management, designers and developers. Organizing technical resources.

HF11B1COM/SE

Page 21

Principles and practices of software production

7.12 Documentation standards


7.12.1 Front page standard

Format of the front page will be as follows

7.12.2 Text standard

Text type Heading one Heading two Heading three Normal text
7.12.3 Margin standard

Name of text used Cambria (Headings) Cambria (Headings) Cambria (Headings) Time New Roman

Effects used Bold Bold Bold N/A

Size of text 14 13 11 12

Left margin : 1.5 Top / Bottom Margin : 1 Line spacing : 1.5


7.12.4 Referencing standard

Harvard referencing was used as referencing for the documentation.


7.12.5 Grammar standard

U.K English will be used when creating the documentation.

HF11B1COM/SE

Page 22

Principles and practices of software production

7.13 Programming standards


Object oriented coding will be used. The coding process will be divided into forms. Capital letter will be used when naming objects Commenting on codes Maintain indentations Maintain consistent naming Usage of DRY principal Limitation of line length.

7.14 Communication standard


Some of the communication standards that we followed include 7.14.1 Communication with client Email was used as a communication method. Clients management detailed resident phone number and official company phone number was derived. Video conferencing technologies 7.14.2 Communication with team members Meetings were held regularly with team members in order to communicate ideas and requirements. Management used official employee phone number for communication. Skype was also used to communicate with team members

HF11B1COM/SE

Page 23

Principles and practices of software production

8.0 Schedule Planning


Workload Matrix N0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Signature Components Introduction Problem Background Proposed solution Schedule Planning Selection Of Metrology Project Planning Control Cost Estimation Risk Management Project management Requirement Analysis Data Modeling Process Modeling Data Dictionary Design Principles and concepts Architectural Design Interactive Screen design Report Design Programming Environment Testing Overall documentation Layout 33% 34% 100% 100% 33% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 20% 100% 100% Sathya Kevin 100% 100% 100% 80% Janith

HF11B1COM/SE

Page 24

Principles and practices of software production

9.0 Selection Mythology


A software development model was used in developing the system as base stone for planning, developing and implementing various activities that were essential for bringing the developed software for the use of the consumer. When developing the IT help desk for the consumer our developers used the hybrid model to develop the system.

9.1 Hybrid model


The hybrid model is a combination of the waterfall model and the spiral model hence the name hybrid model, is widely used in modern day system development. It combines the best of both models and was adopted by our software development team in order to fulfil the most delicate customer requirements and provide the end user with a system that provides the ultimate experience in human computer interaction while provide the best service possible for the clients organization.

9.2 Reasons for selecting Hybrid model


Advantages of hybrid Model

High customer satisfaction Increases the productivity of requirement analysis High Customer collaboration ability to quickly adopt to the unpredictable business requirements

Disadvantages of hybrid Model

No use for prototypes after the project Constant changes can disrupt the development activities Individual with talent are required

HF11B1COM/SE

Page 25

Principles and practices of software production

9.3 Reasons for not selecting Waterfall model

DISADVANTAGES OF WATERFALL MODEL

Practically projects do not follow a fixed sequence Unable to change completed phases of the project according to changing customer needs A mistake in a single phase can cause major changes and problems in subsequent stages Not compatible with non IT literate customers An outdated methodology

ADVANTAGES OF WATERFALL MODEL

Simple to implement and follow Managerial control is made easy A clear plan is made and implemented giving a clear view of work completed and uncompleted Provides better visibility of the development process

HF11B1COM/SE

Page 26

Principles and practices of software production Waterfall method was not used because is least flexible and due the above mentioned disadvantages, and even thought there are many advantages the problems that arise from the disadvantages are much greater than the advantages and also the waterfall method is best suited in cases where user requirements are correctly defined and understood. Since the development is not outsourced the hybrid model was chosen over the waterfall method because it consist of favorable aspects of both spiral and waterfall methods.

9.4 Reasons for not selecting Spiral model

DISADVANTAGES OF SPIRAL MODEL

A very high resource cost Complicated approach Protocols and regulation should be strictly followed in order to make this method a success Limited reusability Difficulty in meeting budgetary constraints Only suitable for high risk projects
ADVANTAGES OF SPIRAL MODEL

Project monitoring is made easy Highly customized application will be developed easily Best suited for high risk projects Changes can be done at any phase of the methodology One of the most flexible models
Page 27

HF11B1COM/SE

Principles and practices of software production The complexity of this model and high resource cost were main factors that made us choose the hybrid model over spiral model. And since the spiral model was best suited for high risk and large scale projects and due the nature of the application that would be developed the hybrid model was selected over the spiral model. Even thought the spiral model has many advantages the same positive factors could be found in the hybrid model and since the hybrid model eliminated most of the spiral models disadvantages by including factors of the waterfall model the hybrid model was selected over the spiral model.

9.5 Comparison between traditional models and hybrid model


9.5.1 Characteristics

Traditional methodology Extensive documentation Heavy planning Codified process


9.5.2 Strengths

Hybrid methodology Light documentation Quick and light development phases High customer interaction

Traditional methodology Structured nature provides good control Stability High assurance of the predicted outcome
9.5.3 Weaknesses

Hybrid methodology Quickly adopts to customer needs Short life cycles High customer satisfaction rate

Traditional methodology Cannot change requirements once development begins Projects tends to over budget High tendency of projects not meeting deadlines

Hybrid methodology Not suitable for high scale projects Requires many talented individuals for a successful implementation Heavy dependency on tactical knowledge

The above factors also prompted us to select Hybrid methodology taking to consideration various factors of traditional and hybrid methodologies.

9.6 Prototyping
A prototype is initial versions of a system which may be used for experimentation Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticize Rapid development of prototypes is essential so that they are available early in the elicitation process. (G. Kotonya and I. Sommerville 1998) HF11B1COM/SE
Page 28

Principles and practices of software production

10.0 Cost estimation


It is the method to identify the cost that will be spent during the progress of this project. There are several cost estimation techniques. Techniques are selected depends on the company. Companies use different kinds of methods such as expert judgment, algorithmic modeling, function points and cocomo techniques. For this particular assignment we had decide to estimate the cost using cocomo 2 model. In this model number of lines of code will be used to estimate the final cost of the system. The size of code is calculated in Kilo lines for the particular time and human effort. Therefore the equation for the Cocomo model is

10.1 Effort calculation

E=A*Kloc ^B*M
E= Effort required Kloc=Kilo line of code B=coefficient

PERS RCPX

RUSE PDIF PREX

FCIL SCED

Since our assignment Criteria is very small. With the estimate of past assignment we had done. We had calculated the average kilo liners of codes as 8500.
E= 2.4*((8500)^1.2 )*1 =124598.83

HF11B1COM/SE

Page 29

Principles and practices of software production

10.2 Calculation of PM

PM= 2.94*(SIZE^B)*M
=2.94*(8500^1.2)*1 =152633.56

10.3 Total cost of the software

Total cost= Effort*Average cost of one PM

HF11B1COM/SE

Page 30

Principles and practices of software production

11.0 Risk Management


Introduction
Risk management is an essential part in project management since its a systematic process of identifying and analyzing factors that could have a negative impact on Ceylon telecom help desk operating system. The risk management plan is designed to provide the development team and the management with recommendation and priority of risks. The risk management plan for Ceylon telecom help desk operating system will follow the following procedures. 1. 2. 3. 4. Risk Risk Risk Risk identification analysis planning monitoring and controlling

HF11B1COM/SE

Page 31

Principles and practices of software production

11.1 Risk identification


Risk type Budgetary risk Risk Inefficient tracking of finance Invalid financial and budgetary estimations Underutilization of resources and cost over runs caused by it Reduced productivity when using shared resources Risk Communicational failures Conflicting priorities Inefficiency of management Invalid implementation of processes Lack of leadership and team spirit within development teams Risk Updated client requirements Communicational risks with the clients Reduction of functionality of application in order to meet budgetary needs Reduction of testing time in order to meet deadlines End results not accepted by the client

Risk type Operational risk

Risk type Technical risk

Risk type Hardware and software risk

Risk Unsuitable hardware resources Development tools not suitable for relevant task Obsolesce of technology used Crashing of application and sudden power failures
Page 32

HF11B1COM/SE

Principles and practices of software production

Risk type Human resource risk

Risk Lack of knowledge on using development tools Lack of knowledge in specified fields Sudden health issues that could affect the staff members Loss of development staff members due to unavoidable issues. Risk Legal risk Environment risk Government policy changes Changes in company policy Critical bugs found in the application

Risk type Other risk

11.2 Risk analysis


11.2.1 Probability of occurrence

Probability 90%-99% 61%-89% 41%-60% 40%-11% 10%-1%


11.2.2 Impact of risk on project

Expression Very high Probably May occur Unlikely Very unlikely

Numeric score 5 4 3 2 1

Impact Risk that would cause project failure Risk that would cause major budgetary setbacks and prevent the completion of secondary requirements Risk that if occurred would cause budgetary setback but requirements would be achieved Risk that if occurred would HF11B1COM/SE

Expression Critical Serious 10 8

Numeric score

Moderate

Minor

3
Page 33

Principles and practices of software production cause minor budgetary setbacks but all requirements will be achieved Risk that if occurred would not have major impact on the project

Negligible

11.2.3 Risk analysis

Risk Budgetary risk Inefficient tracking of finance Invalid financial and budgetary estimations Underutilization of resources and cost over runs caused by it Reduced productivity when using shared resources Operational risk Communicational failures Conflicting priorities Inefficiency of management Invalid implementation of processes Lack of leadership and team spirit within development teams Technical risk Updated client requirements Communicational risks with the clients Reduction of functionality of application in order to meet budgetary needs Reduction of testing time in order to meet deadlines End results not accepted by the client Hardware and software risk Unsuitable hardware resources Development tools not suitable for relevant task Obsolesce of technology used HF11B1COM/SE

Probability expression 3 3 4 4 8 8 5 3

Impact expression

3 2 2 1 2

8 5 10 10 5

5 3 2

10 8 8

2 1

8 10

2 1 1

8 5 10
Page 34

Principles and practices of software production Crashing of application and sudden power failures Human resource risk Lack of knowledge on using development tools Lack of knowledge in specified fields Sudden health issues that could affect the staff members Loss of development staff members due to unavoidable issues. Other risk Legal risk Environment risk Government policy changes Changes in company policy Critical bugs found in the application
11.2.4 Risk score

1 2 3 3

3 2 5 8

1 2 1 2 3

8 1 3 5 10

Risk calculation=numeric score of probability of risk*numeric score of impact of risk Negligible (1) 5 4 3 2 1 Minor (3) 15 12 9 6 3 Moderate (5) 25 20 15 10 5 Serious (8) 40 32 24 16 8 Critical (10) 50 40 30 20 10

Very high (5) Probably (4) May occur (3) Unlikely (2) Very unlikely (1)

HF11B1COM/SE

Page 35

Principles and practices of software production


11.2.5 Risk planning

Risk Budgetary risk Inefficient tracking of finance

Plan Maintain reports and receipts on expenditure, cash inflows and cash out flows. Always include financial activities carried out in projects accounts books. Carrying multiple estimations and when carrying estimations consult senior and experienced staff members. Only when the best estimations are made begin the project. Keep track of recourses provided and always make sure resources are used for completion of project activities and prevent wastage of resources. List the recourses that need to be shared and communicate clearly with concerned parties in order to get the best deal. Establish officially accepted communication channels with customers and team members. Team meetings need to be held regularly and proper communication needs to be done with each individual to understand their problems. Select good leaders and analyze the current management by frequent assessment and take action against inefficiency in order to eliminate management errors Consult with QA personal and business analyst after completing each process of the application and ensure developers understand and implement process correctly. Motivate team member when ever milestones are reached successfully and discuss conflicting priorities and correct them. Always be ready to change requirements and have stored copies of the approved previous version by the client. Maintain clear and agreed communication channels with the client and provide the
Page 36

Invalid financial and budgetary estimations

Underutilization of resources and cost over runs caused by it

Reduced productivity when using shared resources Operational risk Communicational failures

Conflicting priorities

Inefficiency of management

Invalid implementation of processes

Lack of leadership and team spirit within development teams

Technical risk Updated client requirements

Communicational risks with the clients HF11B1COM/SE

Principles and practices of software production client with daily updates. Make sure that all team members have made significant progress in there specified activities and pressure them to complete their activities on or before there deadlines. Never reduce testing and complete other activities before deadlines in order to maintain the testing time period. Or test completed parts of the application form day one. Provide the customer with frequent prototypes and follow a modern selection methodology and finalize the project only when customer needs are met. Before starting the project, make sure that the hardware can be used successfully or select ways to accommodate the required hardware. Use tools that run in all platforms have clear understanding of limitation and advantages of tools being used. Update the technologies for accepted standards and do not use obsolete technologies. Maintain backups of the application and use UPS devises to provide time for recovery activities. Train staff members on how to use development tools or consult other teams members who have knowledge on using these development tools. Recruit experienced staff members who have a clear understanding of the relevant field or outsource the actives. Have backup or temporary staff members on standby to fill in dropped out staff members. Outsource the development to a trusted and well recognized organization and make sure that the end result satisfies customer needs. Consult the organization lawyer and make
Page 37

Reduction of functionality of application in order to meet budgetary needs

Reduction of testing time in order to meet deadlines

End results not accepted by the client Hardware and software risk Unsuitable hardware resources

Development tools not suitable for relevant task Obsolesce of technology used

Crashing of application and sudden power failures Human resource risk Lack of knowledge on using development tools

Lack of knowledge in specified fields Sudden health issues that could affect the staff members Loss of development staff members due to unavoidable issues. Other risk Legal risk HF11B1COM/SE

Principles and practices of software production sure no unlawful activities are carried out brief the lawyer on relevant activities that require legal precedent. Make sure the application is environmentally friendly and certify the developed application from recognized environmental certifying bodies. Try to complete the application before certain government policies take effect and adopt to new environment. Urge the company to provide exception or adapt to the new environment. Maintain the last worked application and carry out testing and validation activities to make sure that the application will not encounter bugs. Always have a standby team to correct critical bugs when ever required.

Environment risk

Government policy changes

Changes in company policy Critical bugs found in the application

HF11B1COM/SE

Page 38

Principles and practices of software production

12.0 Requirement Analysis


12.1 Requirement engineering
Requirement engineering is the officially accepted method in which requirement analysing processes are used to discover, analyse and manage requirements. Accordingly this would contain the following activities. Feasibility study Elicitation and Analysis Requirement validation Requirement management Requirement engineering process

Feasibility study

Requirements elicitation and analysis

Requir ements specification Requirements validation

Feasibility report System models User and system requirements

Requirements document

12.2 Feasibility study

Feasibility study will be carried out in order to analyse if the application developed is feasible for the customer organisation. If the feasibility study generates positives views for the customer and all possible impacts the system would have in organisation identified, only the project would go forward. Feasibility study will be carried out in the following areas Operational feasibility Technical feasibility HF11B1COM/SE
Page 39

Principles and practices of software production Economical feasibility Social and cultural feasibility

12.3 Elicitation and Analysis

This stage involves our team members interaction with customers staff members in order to identify operation constraint, functional and non functional requirements and services that the application should provide. Parties involved in this stage includes End user Management staff Software engineers Maintenance staff

The following stake holder and even more stakeholder of the organization would provide our analyzing teams with what requirements that they require. Requirements are gathered on clients terms and conflicting requirements needs to be discussed with the client in order to achieve a common understanding. Some of the Elicitation tools used are Interviews Observation Case studies and scenario implementation Questioners Brain storming DFD and ER diagrams

12.4 Requirement validation

This process involves demonstrating that the requirement provided by the system fulfils customer requirements. This is an important step since failure to validate requirement could lead to fatal errors. Requirement validation process involves Validity-system functionalities support all customer needs. Consistency- no requirement conflicts are present Completeness-proving that all functionalities required by the customer are included. Realism-ability to fulfill the said requirement given the time and recourses

Requirement validation tools HF11B1COM/SE


Page 40

Principles and practices of software production Review requirements Prototyping Generation of test cases Consistency analysis

12.5 Requirement management

Requirement management is the process of managing changing requirements in the requirement analysis and development process. Since customer requirement are unpredictable consistence communication and analyzing should be done in order to ensure customer requirements are met and a complete system is developed. Some management tools that would be used includes Identification of user requirement Change management process CASE tools Traceability policies

12.6 Functional requirements


Administrator requirements

HF11B1COM/SE

Page 41

Principles and practices of software production Make a call and register a call requirement

Specialist requirements

HF11B1COM/SE

Page 42

Principles and practices of software production Operator requirement

2.1 Log-in Use Case Name: Priority Trigger Precondition Login Essential Login into the application The help desk operator application logs in to the database and initializes required data and make required connection to the database. 1. User starts the application and enters the username and password. 2. The username and password is equalized for different variables by the application. 3. The application then compares the username with the database and retrieves the corresponding password. 4. Then the application compares the password and if correct logs into the
Page 43

Basic Path

HF11B1COM/SE

Principles and practices of software production system. 5. If the user enters an invalid username or the username could not be found in the database a log in failure error would be displayed. 6. If the user enters an invalid password or the password could not be found in the database a log in failure error would be displayed. N/A Logs into the main menu If there is a connection failure the application would show an exception and would return to a frozen state. If job id or question id did not match or could not be found in the database a error message will be displayed.

Alternate Path Post condition Exception Path

Other Reference 2.2 Register new user Use Case Name: Priority Trigger Precondition Basic Path Register new user Essential Menu selection Administrator should provide the correct login details and log into the system. 1. The administrator selects add new user entry. 2. The application provides the user with form. 3. The user enters the required details to the form and clicks submit. 4. The administrator can also select cancel to cancel the entry and return to main menu. 5. The application checks the form in order to validate all required field are correctly filled. 6. If field are not filled form is returned to the user stating an exception that fields were not correctly filled. 7. If all fields were correctly entered the application will create a new user and display a message stating that new user
Page 44

HF11B1COM/SE

Principles and practices of software production was created and return to main menu. N/A The new user details are added to the database. If there is a connection failure before clicking submit button the application will save the data and will freeze giving an error message. If connection failure occurs after submit button is entered and data is saved in the database the application would hold the new user data in the database and return to main menu and would show a error message and would freeze.

Alternate Path Post condition Exception Path

Other Reference 2.3 change settings Use Case Name: Priority Trigger Precondition Basic Path Change settings Essential Menu selection Administrator should provide the correct login details and log into the system. 1. The administrator selects settings from the main menu. 2. A settings form will appear providing the administrator with wide range of system settings. 3. After changing settings administrator should click save button located below the form in order to save settings. 4. If cancel button is selected returns to main menu. Settings changes and returns to main menu Displays message settings saved and returns to main menu. If there is a connection failure occurs before saving the new settings new settings will not be saved. If connection failure or error occurs after saving button is clicked settings will be saved.

Alternate Path Post condition Exception Path

Other Reference HF11B1COM/SE


Page 45

Principles and practices of software production

2.4 Create call Use Case Name: Priority Trigger Precondition Create call Essential Menu selection The help desk operator application logs in to the application using operator username and password and initializes required data and make required connection to the database. Caller makes a call and is received by the operator and the operator selects create a call form. 1. Operator receives the call and takes the caller id. 2. Caller id is then entered into create a call form. 3. Operators request for the problem and enter the problem into create a call form and submit button is selected. 4. If cancel button is selected all fields in create a call form are deleted and returns operator main menu. 5. System takes the completed form and provides it a problem id and stores it in the database. N/A Displays message created new call and returns to main menu. If there is a connection failure the application would show an exception and would return to a frozen state. Only the operator can create a call. Operator username and password should be entered in login form.

Basic Path

Alternate Path Post condition Exception Path

Other

Reference

HF11B1COM/SE

Page 46

Principles and practices of software production 2.5 Edit call details Use Case Name: Priority Trigger Precondition Edit call details Essential Menu selection The help desk operator application logs in to the application using operator username and password and initializes required data and make required connection to the database. Caller makes a call and is received by the operator and the operator selects Edit a call form. 1. User selects edit call details from main menu. 2. Enters caller id or problem id in specified field. 3. Application provides the user with the said callers entry form. 4. Only fields that can be edited will be visible. 5. If user selects cancel application returns to main menu. 6. If save button is clicked caller details are saved. 1. Form can be accessed through administrator main menu. 2. Form can be accessed through specialist main menu. Displays message call details changed and returns to main menu. If there is a connection failure the application would show an exception and would return to a frozen state. If connection failure occurs before saving data will not be saved. If error occurs after saving data will be saved in database.

Basic Path

Alternate Path

Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 47

Principles and practices of software production 2.6 View and search call Use Case Name: Priority Trigger Precondition View or search specific call Essential Menu selection The help desk operator application logs in to the application using operator username and password and initializes required data and make required connection to the database. Caller makes a call and is received by the operator and the operator selects view call form. 1. User selects view call from main menu. 2. Enter primary key in field requiring problem id. 3. Call details and problem details will be visible. 1. Login in through administrator and viewing specific call and problem by selecting view call details field. 2. Login in through specialist username and viewing specific call and problem by selecting view call details field. Return to the operator main menu. Or return to the logged in user types main menu. If there is a connection failure the application would show an exception and would return to a frozen state.

Basic Path

Alternate Path

Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 48

Principles and practices of software production 2.7 view new jobs by specialist Use Case Name: Priority Trigger Precondition view new jobs by specialist Essential Menu selection The help desk operator application logs in to the application using specialist username and password and initializes required data and makes required connection to the database. Specialist selects view Job form. 1. Specialist clicks view new job button. 2. A dialog box appears and specialist enters specialist id and password. 3. All new jobs assigned to specialist will appear. 4. If cancel button is clicked application will return to specialist main menu. N\A Displays the specialist with all new jobs assigned to specified specialist. If there is a connection failure the application would show an exception and would return to a frozen state. If username and password is invalid error message will be displayed.

Basic Path

Alternate Path Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 49

Principles and practices of software production 2.8 Hold job until solution is deprived Use Case Name: Priority Trigger Precondition Hold job until solution is deprived Essential Button click The help desk operator application logs in to the application using specialist username and password and initializes required data and makes required connection to the database. Specialist selects hold job form. 1. Specialist enters job id in designated field. 2. Specialist selects submit button. 3. If cancel button selected return to previous form. N/A Job is designated as a hold job type in database. If there is a connection failure the application would show an exception and would return to a frozen state. If invalid job id is selected an error message will be displayed.

Basic Path

Alternate Path Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 50

Principles and practices of software production

2.9 Submit solution Use Case Name: Priority Trigger Precondition View or search specific call Essential Button click The help desk operator application logs in to the application using specialist username and password and initializes required data and makes required connection to the database. Specialist selects provide solution form. 1. Specialist enters solution in designated field. 2. Clicks submit button. 1. Specialist selects jobs on hold field from menu selection. Selects specific job and enters solution. Job details will be updated in the database and new solution will be added. If there is a connection failure the application would show an exception and would return to a frozen state.

Basic Path

Alternate Path

Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 51

Principles and practices of software production 2.10 View and search old job details to refer to solutions. Use Case Name: Priority Trigger Precondition View or search old job details to refer to solution. Essential Button click The help desk operator application logs in to the application using specialist username and password and initializes required data and makes required connection to the database. Specialist selects view solutions form. 1. Specialist selects search by problem id button. 2. Specialist enter problem id in dialog box. 3. If specialist selects search by call id button specialist should enter call id in dialog box. N/A Displays job or call details. If there is a connection failure the application would show an exception and would return to a frozen state. If call id or job id does not match error message will be displayed.

Basic Path

Alternate Path Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 52

Principles and practices of software production 2.11 View summary of all calls and jobs Use Case Name: Priority Trigger Precondition View summary of call and jobs Essential Button click The help desk operator application logs in to the application using operator username and password and initializes required data and make required connection to the database. Specialist selects view job and calls form. 1. Specialist enters specialist id in designated fields. 2. Specialist clicks submit button. 3. If cancel button is clicked returns to view jobs and calls form. 1. Login in through administrator and viewing call and job history by selecting view call details field. 2. Login through caller id and enter caller id in order to view relevant information regarding problem and history of caller id problems and solutions. Displays all call and jobs completed by specialist. If there is a connection failure the application would show an exception and would return to a frozen state. If specialist id cannot be matched in the database an error message will be displayed.

Basic Path

Alternate Path

Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 53

Principles and practices of software production

2.12 View report turnaround time for a call and a job Use Case Name: Priority Trigger Precondition View or search specific call Essential Menu selection The help desk operator application logs in to the application using specialist username and password and initializes required data and makes required connection to the database. Specialist selects view call form. 1. Specialist selects view call and job report field. 2. Specialist then selects the method of searching. 3. If specialist enters question id application searches by question. 4. If specialist selects job id application searches by job done. 5. If specialist selects cancel button application returns to specialist main menu. 1. Login in through administrator and viewing reports by report form. 2. Login in through specialist username and viewing specific call and problem by selecting view call details field. Presents the specialist with call or job turnaround time report. If there is a connection failure the application would show an exception and would return to a frozen state.

Basic Path

Alternate Path

Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 54

Principles and practices of software production 2.13 Backup Use Case Name: Priority Trigger Precondition Backup Essential Drag and drop The help desk operator application logs in to the application using administrator username and password and initializes required data and makes required connection to the database. Administrator selects the saved files menu and clicks backup files button 1. User selects relevant file and data information. 2. Drags and drops information into blank DVD. 3. Burns the information onto CD. N/A Data is backup in DVD If there is a connection failure the application would show an exception and would return to a frozen state. If priority is not sufficient and error message will appear

Basic Path

Alternate Path Post condition Exception Path

Other Reference

HF11B1COM/SE

Page 55

Principles and practices of software production

12.7 Non functional requirements


1 Performance requirements Providing the user with features such as proper memory management and quick response time is required when developing the system. The system should also have the ability to work with multiple users and connections at a given time. System crashes and downtime also should be limited. 2 Security requirements Security features are required to protect the sensitive data that is used in the system and also to ensure correct information is generated, prevent tampering and unauthorized manipulation of data. External threat identifying mechanisms such as anti-virus and firewall should also be implemented in the system. 3 Safety requirements The system should prevent different users log-in by a single username and protect its data from power failures and system crashes. Powerful back up devises, software, policy should be implemented to ensure the safety of data. 4 Quality requirements Good programming and documentation standards should be implemented in order to provide the user with easy user maintenance and to fix unforeseen errors. A high quality application is also required to increase user satisfaction. 5 Organizational requirements Ensure that user receives an application with all functionalities in proper working order. The transportation of the application and its related hardware should be done on time and without disruptions. Training staff to use and maintain the application should also be done by the development team. 6 Usability requirements All primary and secondary functionalities should be correctly implemented and ensure the end application fulfils all user requirements.

HF11B1COM/SE

Page 56

Principles and practices of software production

13.0 Process Modeling


13.1 Context diagram

HF11B1COM/SE

Page 57

Principles and practices of software production

13.2 Level 0 DFD

HF11B1COM/SE

Page 58

Principles and practices of software production

13.3 Level 1 DFD


13.3.1 Level 1 - caller and hard ware Verification

13.3.2 Level1 - Accept problems

HF11B1COM/SE

Page 59

Principles and practices of software production


13.3.3 Level1 - check problem priority

13.3.4 Level 1 - Allocate specialist

HF11B1COM/SE

Page 60

Principles and practices of software production

14 Data Modeling

HF11B1COM/SE

Page 61

Principles and practices of software production

14.1 Entity Life history


14.1.1 Administrator

14.1.2 Caller

HF11B1COM/SE

Page 62

Principles and practices of software production


14.1.3 Help Desk Operator

14.1.4 Specialist

HF11B1COM/SE

Page 63

Principles and practices of software production

15.0 Data dictionary


15.1 LEVEL 1 Accept problem data dictionary
Process Descriptions Process Description Name 3.1 Add New Problem Description This process is adding new problems to the helpdesk. Once this process gets the Problem Details and Helpdesk Operator Details itll send to the Problem Log data store and creating a Problem ID and itll give it back to the Caller. Input Data Flows Helpdesk Operator Details Problem Details Problem ID Output Data Helpdesk Operator Details Flows Problem Details Problem ID Process Start Description GET Helpdesk Operator Details, Problem Details SEND Helpdesk Operator Details, Problem Details GET Problem ID SEND Problem ID End Process Description Name 3.2 Check Problem Status Description This process is checking problem status from the helpdesk. Once this process gets the Problem ID itll send to the Problem Log data store and checking problem status and itll give it back to the Caller and Find Solution Process. Input Data Flows Problem Status Problem ID Output Data Problem Status Flows Problem ID Process Start Description GET Problem ID SEND Problem ID GET Problem Status SEND Problem Status End

HF11B1COM/SE

Page 64

Principles and practices of software production

Process Description Name 3.3 Finding Solution Description This process is finding solution to the problem from the helpdesk. Once this process gets the Problem Status itll send to the Problem Log data store and checking for the solution and itll give it back to the Caller. Input Data Flows Problem Status Solution Output Data Solution Flows Problem ID Process Start Description GET Problem Status SEND Problem ID GET Solution SEND Solution End LEVEL 1 DATA STORE Data Store Name Description Problem Log This table is holding the details about the problems. This process is giving problem IDs to the new problems and giving problem statuses and also giving solutions for the problem in this system. When the system is fully installed in the main database this data store will be replaced with the records pertaining to the Problem Log that is already available in the system. Helpdesk Operator Details Problem Details Problem ID Problem ID Problem Status Solution Problem ID + Operator Name + Callers First Name + Callers Last Name + Serial Number Of the Computer + Problem Type + Problem + Problem Description + Problem Status + Solution
Page 65

Input Data Flows

Output Data Flows Data Structure

HF11B1COM/SE

Principles and practices of software production LEVEL 1 Data Flow Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Caller external entity to Add New Problem process. Caller external entity Add New Problem process Operator Name Callers First Name Callers Last Name Serial Number Of the Computer Problem Type Problem Problem Description

Data Flow Name Description Origin/Source Destination Data Structure

Problem ID This flow will take Problem ID from the Add New Problem process to Caller external entity. Add New Problem process Caller external entity Problem ID

Data Flow Name Description Origin/Source Destination Data Structure

Helpdesk Operator Details This flow will take Helpdesk Operator Details from the Add New Problem process to Problem Log data store. Add New Problem process Problem Log data store Helpdesk Operator Name

HF11B1COM/SE

Page 66

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Add New Problem process to Problem Log data store. Add New Problem process Problem Log data store Operator Name Callers First Name Callers Last Name Serial Number Of the Computer Problem Type Problem Problem Description

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem ID This flow will take Problem ID from the Problem Log data store to Add New Problem process. Problem Log data store Add New Problem process Problem ID

Problem ID This flow will take Problem ID from the Caller external entity to Check Problem Status process. Caller external entity Check Problem Status process Problem ID

HF11B1COM/SE

Page 67

Principles and practices of software production Data Flow Name Description Origin/Source Destination Data Structure

Problem Status This flow will take Problem Status from the Problem Log data store to Check Problem Status process. Problem Log data store Check Problem Status process Problem Type Problem Problem Description

Data Flow Name Description Origin/Source Destination Data Structure

Problem Status This flow will take Problem Status from the Check Problem Status process to Caller external entity. Check Problem Status process Caller external entity Problem Type Problem Problem Description

Data Flow Name Description Origin/Source Destination Data Structure

Helpdesk Operator Details This flow will take Helpdesk Operator Details from the Operator external entity to Add New Problem process. Operator external entity Add New Problem process Helpdesk Operator Name

Data Flow Name Description Origin/Source Destination Data Structure

Problem Status This flow will take Problem Status from the Check Problem Status process to Find Solution process. Check Problem Status process Find Solution process Problem Type Problem Problem Description

HF11B1COM/SE

Page 68

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure LEVEL 1

Problem ID This flow will take Problem ID from the Find Solution process to Problem Log data store. Find Solution process Problem Log data store Problem ID

Solution This flow will take Solution from the Problem Log data store to Find Solution process. Problem Log data store Find Solution process Solution

EXTERNAL ENTITIES External Entity Name Description

Caller This will be the Caller who working with the helpdesk. The Caller will provide Problem Details to create new Problem ID. And he/her will provide Problem ID to check problem status and to get solution to the problem. Input Data Flows Problem ID Problem Status Solution Output Data Problem Details Flows Problem ID

External Entity Name Description

Operator This will be the Operator who providing things with the helpdesk. The Operator will provide Helpdesk Operator Details to the Add New Problem process. Helpdesk Operator Details

Input Data Flows Output Data Flows HF11B1COM/SE

Page 69

Principles and practices of software production


15.2 LEVEL 1 allocate specialist data dictionary

LEVEL 1 Process Descriptions Process Description Name 5.1 Selecting Specialist Description This process is selecting specialists to the problems. Once this process gets the Problem itll send to the Specialist Details data store and checking for a suitable specialist for the problem. Then Problem and Specialist name will send to the Problem Log data store and Specialist name will send to the Allocating Problems process. Input Data Flows Problem Specialist Output Data Problem Flows Specialist Process Start Description GET Problem SEND Problem GET Specialist SEND Specialist, Problem SEND Specialist End Process Description Name 5.2 Allocating Problems Description This process is allocating problems in the system. Once this process gets the Problem itll send to the Specialist Details data store and checking for a suitable specialist for the problem. Then Problem and Specialist name will send to the Problem Log data store and Specialist name will send to the Allocating Problems process. Input Data Flows Problem Specialist Output Data Problem Flows Specialist Process Start Description GET Problem SEND Problem GET Specialist SEND Specialist, Problem SEND Specialist End

HF11B1COM/SE

Page 70

Principles and practices of software production

15.3 LEVEL 1 caller and hardware modification data dictionary


LEVEL 1 Process Descriptions Process Description Name 2.1 Add New Caller Description This process is adding new caller. Once this process gets the Caller Details itll send to the Caller Details data store and creating a new caller. Input Data Flows Caller Details Output Data Caller Details Flows Process Start Description GET Caller Details SEND Caller Details End

Process Description Name 2.2 Caller Verification Description This process is Verifying Callers. Once this process gets the Caller Name itll send to the Caller Details data store and sending back the verified Caller Details. Input Data Flows Caller Name Caller Details Output Data Caller Name Flows Process Start Description GET Caller Name SEND Caller Name GET Caller Details End

HF11B1COM/SE

Page 71

Principles and practices of software production

Process Description Name 2.3 Equipment Verification Description This process is Verifying Equipment. Once this process gets the Software Details itll send to the Software and Hardware Details data store and checking its licensed software or not. And once this process get the Hardware Details itll send itll send it to the Software and Hardware Details data store and sending back the Hardware Make and Type Input Data Flows Software Details Hardware Details Hardware Make and Type Software Licensed Output Data Software Details Flows Hardware Details Process Start Description GET Caller Name SEND Caller Name GET Caller Details End

LEVEL 1 DATA STORE Data Store Name Description Caller Details This table is holding the details about the Callers. Once this gets the Caller Details itll save and when caller name comes to it itll check caller details with that caller name and giving back to the Caller Verification Process. When the system is fully installed in the main database this data store will be replaced with the records pertaining to the CallerDetails that is already available in the system. Caller Details Caller Name Caller Details

Input Data Flows Output Data Flows Data Structure

HF11B1COM/SE

Page 72

Principles and practices of software production

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Hardware and Software Details This table is holding the details about the Hardware and Software that callers using.Once this gets the Software Details itll check whether its licensed software or not. And once this got Hardware Details itll check Hardware Make and Type. When the system is fully installed in the main database this data store will be replaced with the records pertaining to the Caller that is already available in the system. Software Details Hardware Details Hardware Make and Type Software Licensed

LEVEL 1 Data Flow Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Caller Details This flow will take CallerDetails from the Caller external entity to Add New Caller process. Caller external entity Add New Caller process

Caller Details This flow will take Caller details from the Add New Caller process to CallerDetails data store. Add New Caller process CallerDetails data store

HF11B1COM/SE

Page 73

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

CallerName This flow will take CallerName from the Caller external entity to CallerVerification Process. Caller external entity CallerVerification Process

CallerName This flow will take CallerName from the Caller Verification Process to CallerDetails data store. Caller Verification Process CallerDetails data store

Caller Details This flow will take Caller details from the CallerDetails data store to Caller Verification Process. CallerDetails data store CallerDetails data store

Software Licensed This flow will take Software Licensed from the Hardware and Software Details data store to Equipment Verification Process. Hardware and Software Details data store Equipment Verification Process

Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Software Details This flow will take Software Details from the Equipment Verification Process to Hardware and Software Details data store. Equipment Verification Process Hardware and Software Details data store

Page 74

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure

Hardware Details This flow will take Hardware Details from the Equipment Verification Process to Hardware and Software Details data store. Equipment Verification Process Hardware and Software Details data store

Data Flow Name Description Origin/Source Destination Data Structure

Hardware Make and Type Details This flow will take Hardware Make and Type Details from the Hardware and Software Details data store to Equipment Verification Process. Hardware and Software Details data store Equipment Verification Process

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Hardware Details This flow will take Hardware Details from the Caller external entity to Equipment Verification Process. Caller external entity Equipment Verification Process

Software Details This flow will take Software Details from the Caller external entity to Equipment Verification Process. Caller external entity Equipment Verification Process

HF11B1COM/SE

Page 75

Principles and practices of software production LEVEL 1 EXTERNAL ENTITIES External Entity Name Description

Caller This will be the Caller who working with the helpdesk. The Caller will provide Caller Details to create new caller. And hell his/her name to verify him/her. The Caller will also givethe his/her hardware and software details to the system. Caller Details Caller Name Hardware Details Software Details

Input Data Flows Output Data Flows

15.4 LEVEL 1 check problem priority data dictionary


LEVEL 1 Process Descriptions Process Description Name 4.1 Selecting Priority Description This process is selecting priorities of the problems in this system. Once this process gets the Problem itll send to the Problem Log Details data store. Input Data Flows Problem Output Data Problem Flows Process Start Description GET Problem SEND Problem End Process Description Name 4.2Assigning Priority Description This process is assigning priorities of the problems in this system. Once this process gets the Problem Details and Helpdesk Details itll send the Problem ID and Helpdesk Details to the Helpdesk Log data store. And once this process gets the Problem Priority itll send to the Helpdesk Operator.
Page 76

HF11B1COM/SE

Principles and practices of software production Input Data Flows Helpdesk Details Problem Details Problem Priority Problem Priority Helpdesk Details Problem ID Start GETProblem Details, Helpdesk Details SEND Problem ID, Helpdesk Details GET Problem Priority SEND Problem Priority End

Output Data Flows Process Description

LEVEL 1 DATA STORE Data Store Name Description Problem Log Details This table is holding the details about the Problems. Once this gets the Problem itll give the Problem Details and Problem Priority. When the system is fully installed in the main database this data store will be replaced with the records pertaining to the Caller Details that is already available in the system. Problem Problem Priority Problem Details

Input Data Flows Output Data Flows Data Structure

Data Store Name Description Input Data Flows Output Data Flows Data Structure

Helpdesk Log This table is holding the details about the Helpdesk. Once this gets the Helpdesk Details itll give the Problem ID. Helpdesk Details Problem ID

HF11B1COM/SE

Page 77

Principles and practices of software production

LEVEL 1 Data Flow Data Flow Name Description Origin/Source Destination Data Structure

Problem This flow will take Problemfrom the Helpdesk Operator to Selecting Priority process. Helpdesk Operator Selecting Priority process

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Problem This flow will take Problem from the Selecting Priority processto Problem Log Details. Selecting Priority process Problem Log Details

Helpdesk Details This flow will takeHelpdesk Details from the Helpdesk Operatorto Assigning Priority process. Helpdesk Operator Assigning Priority process

Problem Details This flow will take ProblemDetails from the Problem Log Detailsto Assigning Priority process. Problem Log Details Assigning Priority process
Page 78

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem Priority This flow will take Problem Priority from the Problem Log Detailsto Assigning Priority process. Problem Log Details Assigning Priority process

Problem Priority This flow will take Problem Priority from the Assigning Priority processto Helpdesk Operator. Assigning Priority process Helpdesk Operator

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Helpdesk Details This flow will take Helpdesk Detailsfrom the Assigning Priority process to Helpdesk Log data store. Assigning Priority process Helpdesk Log data store

Problem ID This flow will take Problem IDfrom the Assigning Priority process to Helpdesk Log data store. Assigning Priority process Helpdesk Log data store

HF11B1COM/SE

Page 79

Principles and practices of software production LEVEL 1 EXTERNAL ENTITIES External Entity Name Description

Helpdesk Operator This will be the Helpdesk Operator who operating the helpdesk. The Helpdesk Operatorwill provide Problem and Helpdesk Details to get problem priority. Input Data Flows Problem Priority Output Data Problem Flows Helpdesk Details

15.5 LEVEL 0 data dictionary


LEVEL 0 Process Descriptions Process Description Name 1 Registration and Login Information Description This process is doing registering and login users. Once this process get the Login Details and Registration Details itll send to the Operator Log data store and check logininformation are correct or not and creating new user login. Input Data Flows Login Details Registration Details Output Data Login Details Flows Registration Details Process Start Description GET Login Details, Registration Details SEND Login Details, Registration Details End Process Description Name 2 Caller and Hardware/Software Verification Description This process is verifying the hardware/software and the callers details. Once this process get the Caller Name and Hardware/Software details itll send Caller Name to the Operator Log data store. And also itll send Caller Name to the Caller Details data store and check callers Details and sending thatinformation back to the Caller and Hardware/Software Verification process. And itll send Hardware and Software Details to the Hardware and Software Details data store. Then itll get back Hardware and Software Details to the Caller and Hardware/Software Verification process. Finally itll send verified caller details and hardware/software details to the Accept Problems process.
Page 80

HF11B1COM/SE

Principles and practices of software production Input Data Flows Caller Name Hardware and software details Caller Details Caller Name Hardware and software details Caller Details Verified Caller Details and Hardware/Software Details. Start GET Caller Name, Hardware and Software Details SEND Operator Details SEND Caller Name GET Caller Details SEND Hardware and Software Details GET Verified Hardware and Software Details SEND Verified Caller and Hardware/Software Details End

Output Data Flows

Process Description

Process Description Name 3 Accept Problems Description This process is accepting problems from caller. Once this process get the Problem Details and Verified Caller and Hardware/Software Details itll send the Problem Details to the Problem Log data store and check the solution and send it to the Accept Problems process and itll send the solution to the Caller. If solution is not found itll send Problem Details to the Check Problem Priority process. Problem Details Verified Caller and Hardware/Software Details Solution Problem Details Solution Start GET Problem Details, Verified Caller and Hardware/Software Details SEND Problem Details GET Solution SEND Solution SEND Problem Details End

Input Data Flows

Output Data Flows Process Description

HF11B1COM/SE

Page 81

Principles and practices of software production Process Description Name 4 Check Problem Priority Description This process is checking problem priority. Once this process get the Helpdesk Operator Details and Problem Details itll send the Problem Details to the Problem Log data store and check problem priority. And itll get back the problem priority to the process. And itll send the Helpdesk Operator Details to the Helpdesk Log getting the new Problem ID to the problem.Finally itll send the problem details to the Allocate Specialist process. Input Data Flows Helpdesk Operator Details Problem Details Problem Priority Problem ID Output Data Helpdesk Operator Details Flows Problem Details Process Description Start GET Helpdesk Operator Details, Problem Details SEND Problem Details GET Problem Priority SEND Helpdesk Operator Details GET Problem ID SEND Problem Details End

Process Description Name 5 Allocate Specialist Description This process is allocating specialist to problems. Once this process get the Problem Details itll send to the Specialist Log data store and check suitable specialist and sending Specialist back to the process. And itll send the Problem Details to the Specialist External Entity. Finally itll send the Problem Details to Final Solution process. Input Data Flows Problem Details Specialist Output Data Problem Details Flows Process Start Description GET Problem Details SEND Problem Details GET Specialist SEND Problem Details End

HF11B1COM/SE

Page 82

Principles and practices of software production Process Description Name 6 Final Solution Description This process is giving final solution to the new problems. Once this process gets the Problem Details and the Solution itll send the Problem and Solution Details to the Helpdesk Log data store and to the Problem Log data store and to the Caller external entity. Input Data Flows Problem Details Solution Output Data Problemand Solution Details Flows Solution Process Start Description GET Problem Details, Solution SEND Problem and Solution Details SEND Solution End Process Description Name 7 Generate Reports Description This process is generating report in the system. Once this process gets the Specialist Details, Operator Details, Problem Details and the Caller Details itll send it as a report to the Administrator external entity. Specialist Details Operator Details Problem Details Caller Details Report Start GET Specialist Details, Operator Details, Problem Details, Caller Details SEND Report End

Input Data Flows

Output Data Flows Process Description

HF11B1COM/SE

Page 83

Principles and practices of software production

LEVEL 0 Data Stores Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Operator Log This table is holding the details about the operators. When the system is fully installed in the main database this data store will be replaced with the records pertaining to the operator that is already available in the system. Login Details Registration Details

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Caller Details This table is a checking caller details by caller name and giving it to the Caller and Hardware/Software Verification process and to Generate Report process. When the system is fully installedin main database this data store will be replaced with the records pertaining to the caller details is already available in the system. Caller name Caller Details START GET Caller Name SEND Caller Details END

HF11B1COM/SE

Page 84

Principles and practices of software production

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Hardware and Software Details This table is a checking hardware and software details and giving it to the Caller and Hardware/Software Verification process. When the system is fully installedin main database this data store will be replaced with the records pertaining to the hardware and software details is already available in the system. Hardware Details Software Details Hardware Details Software Details START GET Hardware Details, Software Details SEND Hardware Details, Software Details END

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Problem Log This table is a checking problem details and giving it to the Accept Problem process and to the Check Problem Priority process. When the system is fully installedin main database this data store will be replaced with the records pertaining to the problem log is already available in the system. Problem Details Problem and Solution Details Problem Priority Solution Problem Details START GET Problem Details SEND Solution GET Problem Details SEND Problem Priority GET Problem Details SEND Problem Details END

HF11B1COM/SE

Page 85

Principles and practices of software production

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Helpdesk Log This table is a checking helpdesk operator details and giving problem ID to the Check Problem Priority process and giving Operator Details to the Generate Report process. When the system is fully installedin main database this data store will be replaced with the records pertaining to the helpdesk log is already available in the system. Helpdesk Operator Details Problem and Solution Details Problem ID Operator Details START GET Helpdesk Operator Details SEND Problem ID GET Problem and Solution Details SEND Operator Details END

Data Store Name Description

Input Data Flows Output Data Flows Data Structure

Specialist Log This table ischecking the suitable specialist to the problem and giving his name to the Allocate Specialist process. When the system is fully installedin main database this data store will be replaced with the records pertaining to the specialist log is already available in the system. Problem Details Specialist Specialist Details START GET Problem Details SENDSpecialist SEND Specialist Details END

HF11B1COM/SE

Page 86

Principles and practices of software production

LEVEL 0 Data Flow Data Flow Name Description Origin/Source Destination Data Structure

Login Details This flow will take login details from the Administrator to Register and Login process. Administrator 1 Register and Login process

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Registration Details This flow will take registration details from the Administrator to Register and Login process. Administrator 1 Register and Login process

Login Details This flow will take login details from the Register and Login process to Operator Log data store. 1 Register and Login process Operator Log data store

Registration Details This flow will take Registration details from the Register and Login process to Operator Log data store. 1 Register and Login process Operator Log data store

HF11B1COM/SE

Page 87

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Operator Details This flow will take Operator details from the Caller and Hardware/Software Verification process to Operator Log data store. 2 Caller and Hardware/Software Verification process Operator Log data store

Caller Name This flow will take Caller Name from the Caller and Hardware/Software Verification process to Operator Log data store. 2 Caller and Hardware/Software Verification process Operator Log data store

Caller Name This flow will take Caller Name from the Caller and Hardware/Software Verification process to Caller Details data store. 2 Caller and Hardware/Software Verification process Caller Details data store

Caller Name This flow will take Caller Name from the Caller External Entity to Caller and Hardware/Software Verification process. Caller External Entity Caller and Hardware/Software Verification process

Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Caller Details This flow will take Caller Details from the Caller Details data store to Caller and Hardware/Software Verification process. Caller Details data store Caller and Hardware/Software Verification process

Page 88

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure

Hardware and Software Details This flow will takeHardware and Software Detailsfrom the Caller External Entity to Caller and Hardware/Software Verification process. Caller External Entity Caller and Hardware/Software Verification process

Data Flow Name Description

Origin/Source Destination Data Structure Data Flow Name Description

Hardware Details This flow will take Hardware Details from the Caller and Hardware/Software Verification process to Hardware and Software Details data store. Caller and Hardware/Software Verification Hardware and Software Details

Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Software Details This flow will take Software Details from the Caller and Hardware/Software Verification process to Hardware and Software Details data store. Caller and Hardware/Software Verification Hardware and Software Details

Hardware Details This flow will take Hardware Details from the Hardware and Software Details data storeto Caller and Hardware/Software Verification process. Hardware and Software Details Caller and Hardware/Software Verification

Page 89

Principles and practices of software production

Data Flow Name Description

Origin/Source Destination Data Structure

Caller and Hardware/Software Verification Details This flow will take Caller and Hardware/Software Verification Details from the Caller and Hardware/Software Verification process to Accept Problem process. Caller and Hardware/Software Verification Accept Problem process

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Software Details This flow will take Software Details from the Hardware and Software Details data storeto Caller and Hardware/Software Verification process. Hardware and Software Details Caller and Hardware/Software Verification

Problem Details This flow will take Problem Details from theAccept Problem processto Problem Log data store. Accept Problem process Problem Log data store

Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Problem Details This flow will take Problem Details from the Caller external entityto Accept Problem process. Caller external entity Accept Problem process

Page 90

Principles and practices of software production Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Solution This flow will take Solution from the Accept Problem process to Caller external entity. Accept Problem process Caller external entity

Solution This flow will take Solution from the Problem Log data store to Accept Problem process. Caller external entity Accept Problem process

Data Flow Name Description Origin/Source Destination Data Structure

Solution This flow will take Solution from the Final Solution process to Caller external entity. Final Solution process Caller external entity

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Problem Priority This flow will take Problem Priority from the Problem Log data store to Check Problem Priority process. Caller external entity Check Problem Priority process

Problem Details This flow will take Problem Details from the Accept Problem processto Check Problem Priority process. Accept Problem process Check Problem Priority process
Page 91

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Check Problem Priority process to Problem Log data store. Check Problem Priority process Problem Log data store

Helpdesk Operator Details This flow will take Helpdesk Operator Details from the Helpdesk Operator external entity to Check Problem Priority process. Helpdesk Operator external entity Check Problem Priority process

Helpdesk Operator Details This flow will take Helpdesk Operator Details from the Check Problem Priority process to Helpdesk Log data store. Check Problem Priority process Helpdesk Log data store

Problem ID This flow will takeProblem IDfrom theHelpdesk Log data store to Check Problem Priority process. Helpdesk Log data store Check Problem Priority process

Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Reports This flow will take Reports from the Generate Reports Process to Administrator external entity. Generate Reports Process Administrator external entity

Page 92

Principles and practices of software production

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem and Solution Details This flow will take Problem and Solution Details from the Final Solution Process to Helpdesk Log data store. Final Solution Process Helpdesk Log data store

Problem Details This flow will take Problem Details from the Allocate Specialist process to Specialist external entity. Allocate Specialist process Specialist external entity

Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Allocate Specialist process to Specialist Log data store. Allocate Specialist process Specialist Log data store

Specialist This flow will takeSpecialist from theSpecialist Log data store to Allocate Specialist process. Specialist Log data store Allocate Specialist process

HF11B1COM/SE

Page 93

Principles and practices of software production Data Flow Name Description Origin/Source Destination Data Structure Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Allocate Specialist process to Final Solution Process. Allocate Specialist process Final Solution Process

Caller Details This flow will take Caller Details from the Caller Details data store to Generate Reports process. Caller Details data store Generate Reports process

Data Flow Name Description Origin/Source Destination Data Structure

Problem Details This flow will take Problem Details from the Problem Log data store to Generate Reports process. Problem Log data store Generate Reports process

Data Flow Name Description Origin/Source Destination Data Structure

Specialist Details This flow will take Specialist Details from the Specialist Log data store to Generate Reports process. Specialist Log data store Generate Reports process

Data Flow Name Description Origin/Source Destination Data Structure HF11B1COM/SE

Operator Details This flow will take Operator Details from the Helpdesk Log data store to Generate Reports process. Helpdesk Log data store Generate Reports process

Page 94

Principles and practices of software production

EXTERNAL ENTITIES External Entity Name Description

Administrator This will be the Administrator who will contact the Registration and Login process. The Administrator will provide Login Details and Registration details can be extracted from the system. The Administrator will also get the final reports of the system. Input Data Flows Reports Output Data Login Details Flows Registration Details External Entity Name Description

Caller This will be the caller who will contact the help desk requesting for assistance with any faulty equipment. The caller will provide his/her relevant caller name so that the caller details can be extracted from the system. The caller will also provide information regarding the problem and his/her hardware and software details. Input Data Flows Solution Output Data Caller Name Flows Hardware and Software Details Problem Details External Entity Name Helpdesk Operator Description This will be the Helpdesk Operator who will dealing with the help desk. The caller will provide helpdesk operator to the system. Input Data Flows Output Data Helpdesk Operator Details Flows External Entity Name Description

Specialist This will be the Specialist who specialized about the whole system or a part of the system. The Specialist will provide the answers to the problems in the system. Input Data Flows Problem Details Output Data Solution Flows
Page 95

HF11B1COM/SE

Principles and practices of software production

16.0 Design Principals and concepts


16.1 Introduction to design
Design is basically the method of defining interfaces, architecture, components and other characters of the system. When it comes to software design, it is the method to express the software requirements and analysis in order to produce a full description of internal structure of the system. In other words we can say it is the representation of some software that is going to be built. Design is the first of all three technical activities Design, code generation and testing that are required to build and verify the software.
16.1.1Transforming analysis model in to design

As you can see from above figure, every element in analysis model provides necessary information to create four design models that are required for a complete specification of design.

HF11B1COM/SE

Page 96

Principles and practices of software production

16.2 Output of design phase


As shown in the above figure the design phase starts with requirement and analysis model and then it is been transformed in to four levels of design. The four levels of designs are shown below Data design it transforms data model created during analysis into the data structures that will required to create and implement the software. Architectural designit defines the relationship between major structural elements of the program. It is also called the modular framework of the computer program.

Interface design it defines how the software communicates with in its self, to the system that are connected to it and the human who uses it.

Procedural design it transforms structural elements of the program architectural into procedural description of software components.

16.3 Design Principals


Design principles are needed to maintain the standard throughout the software that is being built. If certain design principles are handled during the development process, then the final output of the system will be a standard and professional.

16.3.1 User friendly

User interface is one of the important concepts that we should considered during the implementation of the system. It is the main face that will give some impression to the user about the system. Similar interfaces will lead the users to easy access of the system. When designing the user interface it is important to consider capabilities, experiences and requirements of the users. Releasing the beta versions and getting feedbacks will helps to increase the user friendliness of the system. When designing the system designers should exactly take

consideration of mental and physical ability of the targeted age users. HF11B1COM/SE
Page 97

Principles and practices of software production


16.3.2 Minimal surprise

Users may skip the system if any of the single function doesnt work in the system. The system must give the clear sketch of how it works. If the system doesnt function as the uses things then it might confuse the user, they will lose the idea on which part of the system they are in. E.g.: if a user is using the system to make some payments through credit card and it suddenly redirect to friends page. Therefore interface designers must show much care on the path that the system is working.

16.3.3 Recoverability

There is a possibility for users to make mistakes when designing the system. Therefore the interfaces must be designed in a way that these mistakes are minimized by giving validations for each input. These types of errors can also be minimized by adding combo box, dropdown box etc. But still there is a chance of error to be occurred; therefore the following recovery methods can be used. Confirm Message if uses send an action to delete a data. The system must request the users again are you sure to delete the data. Undo facility undo function can be implemented. Which will restore the previous data if any error accord.
16.3.4 User Guidance

Every system that is build must include the user guidance or help facilities. This will help the users if they are struck with the system. This guidance must include full functions and features that are implemented in the system. This should not confuse the users, and should be able to filter the necessary information that is needed by the users.

HF11B1COM/SE

Page 98

Principles and practices of software production

16.4 Design Concepts


16.4.1 Abstraction

It will consider a modular solution to any problem; many level of abstraction can be posed. At the highest level of abstraction, a solution is stated as a broad term using problem environment and language. The solutions are stated in a manner that can be directly implemented in the low level abstraction. There are mainly three level of abstraction, they are. Procedural abstraction it is the sequence of instruction has limited and specific function. An Example for procedural abstraction is the word drive for a car. Drive implies a long sequence (e.g.: walk to the car, open the door, get in and close the door, start the car, press the accelerator and control the steering) Data abstraction it is the collection of data that describes the data objects. In the context of procedural abstraction we can define data abstraction called Car. The data abstraction of car is encompassing set of attributes called car. Control abstraction it is basically a loops, frameworks and multitasking.

16.4.2 Refinement

It is a development of program that had successively reefing levels of procedural details. It is a hierarchy that is developed with microscopic statement of function. This brings data that includes high level abstraction. It doesnt provide internal functionalities of the system.

16.4.3 Modularity

Software is divided in several components called modularity. It is a degree to which software can be understandable by examining its concepts separately of one and other. It contains data structures, instructions and processing logics. Modularity can be complied separately and stored in the library added to the later.

HF11B1COM/SE

Page 99

Principles and practices of software production


16.4.4 Software architecture

It is the hierarchical structure of modules in which the components interact and the way that the structure of data is used by the components. In other words components are generalized to represent the major system elements and their inaction between them. Deriving architectural rendering of system is the important goal in the system. This rendering services works as a framework for more detail design activates. In architectural patens it should enable a software engineer reuse the design.

16.4.5 Control hierarchy

It is also called as program structure. It represents the program models and implies a hierarchy of control, it does not represent procedural accepts of a software.eg: sequence of process, repletion of operation, order discussion etc. As shown in the below you can see the hierarchical control for call and return architectures.

Above figure has a depth and width, this will provide an indication of levels of control and over all span control. Fan- out it is measurement of number of modules that are directly controlled by another module. Fan-in it is the measurement of how many models that are directly control a gain module.

HF11B1COM/SE

Page 100

Principles and practices of software production


16.4.6 Software procedure

It is a programming structure represents control hierarchy without the involvement of decisions and processing sequence. It focuses on details at each module. Software procure must provide the clear details of processing, including sequence of events, respective operations, data organization and structure.

Procedure is layered

As you can see from the above figure. There is a relationship between structured and the procedure, therefore processing indicated in each module must include the reference to all the modules that are subordinate to it.

16.4.7 Information hiding

Each set of independent modules have to communicate only the necessary information that are need to be achieve software function. Datas in modules can be made in accessible for other modules that are no need of that information. This can be done by using access modifiers such as (private, protected and public). Information hiding will increase the security of the entire system.

HF11B1COM/SE

Page 101

Principles and practices of software production

17.0 Architectural Design


It is a modular program that represents control relationship between modules. It also links data structure and program structure, helps the interface for the easy flow of data throughout the program.

Advantages of Software Architectural Design

Help Easy understanding of the system by everyone. Leads developers to work individually. Makes the system reusable and improve the usability at any time. Help to do further improvement of the system.

There are several architectural patents in software architectural design. It is important to use a single architectural design throughout the software. However very large system may use two or more architectural styles, but systems with same domain must have the same architecture that reflects domain components.

There is several software architecture styles used in projects. Some of them are described below. Client/Server splits the system in to applications. The client or the user makes the request to the server then the serve r delivers the application. Component-Based Architecture - it integrates the application design in to a reusable functions and logical components Domain Driven Design - it is object oriented architecture, mainly focus on modeling a business domain. Message Bus - it is a style of software design, which is used to send and receive messages through several communication channels. There for the application can function without knowing specific details of each other. N-Tier / 3-Tier - it dived the functionality of the system in to several segments, but each segments are tier located on a physically separate computers. Object-Oriented - it responsibilities is an application in a system should be re-usable and self-sufficient object, each containing data relevant to the specified object. HF11B1COM/SE
Page 102

Principles and practices of software production Service-Oriented Architecture (SOA) it refers an application, that consumes

functionality as services using messages and contracts. These are the most common architectures that are most commonly used in developing a system. Different types of architecture are used in different types of projects. It is also possible to use two are more architectures in a single project but not all.

In the project we are assigned with, we have to develop some methods in order to create a helpdesk operating system. The system should be able to create a problem and find a solution for a given problem. Since the only user that gives input to the system is the helpdesk operator. We had planned to use object oriented architecture, with share data repository style .

HF11B1COM/SE

Page 103

Principles and practices of software production

18.0 Screen design


User Login Form

This is the system that user can log into the system. In this form we can choose login types (Administrator, Helpdesk Operator, and Specialist). With correct username and password itll show Welcome message through message box and user can enter to the system. If its wrong itll show error message through message box call Password is wrong. And if any textbox if not filled, itll show error message call Fill all textboxes. Test No 1.0 1.1 1.2 1.3 1.4 Test case Login Form Load Fill Text Boxes Select User Types Click Login button Expected output

1.5

Click Close button

Load user types in to the user type combo box. Fill the text boxes. (Username, Password) Click on the user type combo box and select one type that includes in user types. User will be logged into the system. If the user click on the Log in without providing user name password and the correct user type or incorrect details the error message will display. According to the user type there can access their forms. Close the program

HF11B1COM/SE

Page 104

Principles and practices of software production Main Menu Form

This is the main menu of the system. Administrator can use all facilities in this main menu. But Helpdesk Operator cant access Register New User button. And Specialists only can access View Reports button and Jobs of Specialists button. Test No 2.0 2.1 Test case Main Menu Click New Problem Button Expected output

2.2 2.3 2.4 2.5

Click Search Solution Button Click Search Specialist Solution button Click Register New Caller button Click Register New User button

Load problem types in to the problem type combo box and Load problems to the select problem combo box. Load Search Solution form. Load Search Specialist Solution form. Load Search Specialist Solution form and load Department combo box. Load Register New User form and load User Type combo box, Department combo box, Specialized type combo boxes. Load Edit Problem Details form and load problem types in to the problem type combo box and Load problems to
Page 105

2.6

Click Edit Problem Details button

HF11B1COM/SE

Principles and practices of software production the select problem combo box Load Repeating Problems form Load Change Password form Load View Reports form and load View Summary by combo box and load View Reports by combo box Load Jobs of Specialist form

2.7 2.8 2.9

Click Repeating Problems button Click Change Password button Click View Reports button

2.10

Jobs of Specialist

Add New Problem Form

HF11B1COM/SE

Page 106

Principles and practices of software production

This is the form that user can add new problems to the system. And these details are saving in the data base. Problem ID is auto generating. In this Problem Type combo box, if user selects problem type is hardware problem, then in this Select Problem combo box will load hardware problems. If user selects problem type is software problem, then in this Select Problem combo box will load software problems.

Test No 3.0 3.1

Test case Add New Problem Form Load

Expected output

3.2

Fill Text Boxes

3.3

Select Problem Type

3.4

Select Select Problem

3.5

Click Save button

3.6

Click Close button

Load problem types in to the Problem Type combo box. Load problem in to the Select Problem combo box. Fill the text boxes. (Operator Name, Callers First Name, Callers Last Name, Serial Number of the Computer, Problem Description). Problem ID is auto generating. Click on the Problem Type combo box and select one type that includes in Problem types. Click on the Select Problem combo box and select one type that includes in Select Problem. New problem details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 107

Principles and practices of software production Search Solution

Using this form user can search solutions to the problem, if solution is not there in the system. User can press Select Specialist Button and get list of specialist details in the table. Then user can select suitable specialist and send the problem to that specialist.

Test No 4.0 4.1 4.2 4.3 4.4

Test case Search Solution Form Load Fill Text Boxes Select Specialist Click Send Problem button

Expected output

Load Search Solution form. Fill the text boxes. (Problem ID) Click on the Specialist Table and select suitable specialist for the problem. Problem ID will go to the Jobs of Specialist database.
Page 108

HF11B1COM/SE

Principles and practices of software production

Search Specialist Solution Form

Using this form user can search specialist solution by Problem ID. Answer will be shown in this textbox.

Test No 5.0 5.1 5.2 5.3

Test case Search Specialist Solution Form Load Fill Text Boxes Click Search Answer button

Expected output

Load Search Specialist Solution form. Fill the text boxes. (Problem ID) Answer that given by specialist will load to the textbox.

HF11B1COM/SE

Page 109

Principles and practices of software production Register New Caller Form

Using this form user can register new user to the system. User ID is auto generating.

HF11B1COM/SE

Page 110

Principles and practices of software production

Test No 6.0 6.1

Test case Register New Caller Form Load

Expected output

6.2

Fill Text Boxes

6.3

Select Department

6.4 6.5

Select Joined Date Click Save button

6.6

Click Close button

Load departments in to the Departments combo box. Load datetimepicker in to the DateTimePicker. Fill the text boxes. (First Name, Last Name, Job Title, Department, Serial Number of the Computer, Software Details, Hardware Details). User ID is auto generating. Click on the Department combo box and select one type that includes in departments. Click on the Joined Date DateTimePicker and select joined date in the calendar. New Caller details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 111

Principles and practices of software production Register New User

Using this form user can register new users to the system. Only administrator can access this form. User can choose user type. User ID is auto generating. This user name, password and user type is saving in the login database.

HF11B1COM/SE

Page 112

Principles and practices of software production

Test No 7.0 7.1

Test case Register New User Form Load

Expected output

7.2

Fill Text Boxes

7.3 7.4

Select User Types Select Department

7.5 7.6

Select Joined Date Click Save button

7.7

Click Close button

Load user types in to the User Type combo box. Load departments in to the Departments combo box. Load datetimepicker in to the DateTimePicker. Fill the text boxes. (User ID, User Name, Password, Re-Password, First Name, Last Name, Job Title). User ID is auto generating. Click on the User Type combo box and select one type that includes in user type. Click on the Department combo box and select one type that includes in departments. Click on the Joined Date DateTimePicker and select joined date in the calendar. New User details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 113

Principles and practices of software production Edit Problem Details Form

Using this form user can edit problem details and save it to the database.

HF11B1COM/SE

Page 114

Principles and practices of software production

Test No 8.0 8.1

Test case Edit Problem Details Form Load

Expected output

8.2

Fill Text Boxes

8.3

Select Problem Type

8.4

Select Problem

8.5

Click Save button

8.6

Click Close button

Load problem types in to the Problem Type combo box. Load problem in to the Select Problem combo box. Delete wrong details in the textbox and fill the text boxes with correct details again. (Operator Name, Callers First Name, Callers Last Name, Serial Number of the Computer, Problem Description). Problem ID is auto generating. If its wrong. Click on the Problem Type combo box and select one type that includes in Problem types. If its wrong. Click on the Select Problem combo box and select one type that includes in Select Problem. Corrected problem details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 115

Principles and practices of software production Repeating Problems

If callers are calling more than one time to the same problem, user can get Problem ID that given before and enter times of problem reported and what are the things that caller told about this problem in second call and if user wants to note something about this problem, user can use this textbox to do those things.

Test No 9.0 9.1 9.2 9.3

Test case Repeating Problems Form Load Fill Text Boxes Click Save button

Expected output

9.4

Click Close button

Load Repeating Problems form. Fill the text boxes. (Problem ID. Times of Problem Reported, Description). Repeated problem details will go to the database. If one of the textbox is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 116

Principles and practices of software production Change Password Form

If user wants to change the password user can use this form.

Test No 10.0 10.1 10.2

Test case Change Password Form Load Fill Text Boxes

Expected output

10.3

Click Set New Password button

Load Change Password form. Fill the text boxes. (Username, Current Password, New Password, Confirm New Password). New Password will go to the database. If one of the textbox is blank itll show error message call There are some blank areas. Please fill all. And if two passwords are not matched. Itll show error message call Password not matched.

HF11B1COM/SE

Page 117

Principles and practices of software production View Reports

HF11B1COM/SE

Page 118

Principles and practices of software production

HF11B1COM/SE

Page 119

Principles and practices of software production

To view all the reports of the system, user can use this form. Using this form user can view Problem Reports, Specialist Reports, Old Job Details, Summary of Call and Jobs, Reports of Turnaround Time. They can view reports of summary by caller, question and specialist. And they can view turnaround time reports by specialist and question type.

HF11B1COM/SE

Page 120

Principles and practices of software production

Test No 11.0 11.1

Test case View Reports Form Load

Expected output

11.2

Select View Summary By

11.3

Select View Reports By

11.4 11.5 11.6 11.7 11.8

Click Problem Reports button Click Specialist Reports button Click Old Job Details button Click Summary of Calls and Jobs button Click Reports of Turnaround Time button

Load view summary by in to the View Summary By combo box. Load view reports by in to the View Reports By combo box. Click on the View Summary By combo box and select one type that includes in View Summary By . Click on the View Reports By combo box and select one type that includes in Select Problem. Itll show the report of Problems that reported to the system. Itll show the report of Specialists that reported to the system. Itll show the report of Old Job Details that reported to the system. Itll show the report of Summary of Calls and Jobs that reported to the system. Itll show the Reports of Turnaround Time that reported to the system.

HF11B1COM/SE

Page 121

Principles and practices of software production Jobs of Specialist Form

Using this form specialist can give their ID and search jobs for them. And with this Software Name textbox user can check software is licensed one or expired software. If specialist wants to give answer to the system, he can enter problem ID and write solution in this textbox and submit it using Submit Answer button.

HF11B1COM/SE

Page 122

Principles and practices of software production

Test No 12.0 12.1 12.2 12.3 12.4

Test case Jobs of Specialist Form Load Fill Specialist ID textbox Click Search Jobs button Fill Software Name textbox

Expected output

12.5 12.6

Click Check button Fill Problem ID textbox

12.7

Fill Solution textbox

Load Jobs of Specialist form. Fill Specialist ID textbox that ID of specialist who wants to check jobs. Itll show the Jobs that Specialist have in the table. Fill Software Name textbox that specialist want to check its licensed software or not. Itll show the Software Expire date. Fill Problem ID textbox with the problem ID of the problem that specialist wants to give solution. Fill Solution textbox with the solution for the problem that entered in the Problem ID textbox.

HF11B1COM/SE

Page 123

Principles and practices of software production

Report Design
Problem Report
Problem Problem ID Name Callers Firsts Name xxxx xxxx xxxx xxxx Callers Last Name xxxx xxxx xxxx xxxx Serial Number of the Computer xxxxxxx xxxxxxx xxxxxxx xxxxxxx Problem Select Problem Description Type Problem

xxx xxx xxx xxx

xxxxx xxxxx xxxxx xxxxx

xxxxxx xxxxxx xxxxxx xxxxxx

xxxx xxxx xxx xxxx

xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx

This report has all the details about problems. In View Reports form user can get this report.

Specialist Report
User ID xxx xxx xxx xxx User Type xxxxx xxxxx xxxxx xxxxx Firsts Name xxxx xxxx xxxx xxxx Last Name xxxx xxxx xxxx xxxx Job Title xxxxxxx xxxxxxx xxxxxxx xxxxxxx Department xxxxxx xxxxxx xxxxxx xxxxxx Joined Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx Specialized Types xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx

This report has all the details about the specialists. Users can check specialist details using view report form.

Old Job Details Report


Problem ID xxx xxx xxx xxx Problem Name xxxxx xxxxx xxxxx xxxxx Problem Type xxxx xxxx xxxx xxxx Problem Description xxxx xxxx xxxx xxxx Specialist Name xxxxxxx xxxxxxx xxxxxxx xxxxxxx Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx Solution xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx

This will show old jobs details. In this report user can check about problem, which specialist solved that problem, problem equipment and solution to the problem. HF11B1COM/SE
Page 124

Principles and practices of software production

View Summary Report (by caller)

Caller ID xxx xxx xxx xxx

Caller Name xxxxx xxxxx xxxxx xxxxx

Problem Type xxxx xxxx xxxx xxxx

Problem Description xxxx xxxx xxxx xxxx

Specialist Name xxxxxxx xxxxxxx xxxxxxx xxxxxxx

Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx

Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx

Solution xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx

This report shows summary report about all calls and jobs by caller.

View Summary Report (by question)


Problem Type xxxx xxxx xxxx xxxx Problem Description xxxxx xxxxx xxxxx xxxxx Caller Name xxxx xxxx xxxx xxxx Caller ID xxx xxx xxx xxx Specialist Name xxxxxxx xxxxxxx xxxxxxx xxxxxxx Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx Solution xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx

This report shows summary report about all calls and jobs by question.

View Summary Report (by specialist)


Problem Type xxxx xxxx xxxx xxxx Problem Description xxxxx xxxxx xxxxx xxxxx Caller Name xxxx xxxx xxxx xxxx Caller ID xxx xxx xxx xxx Specialist Name xxxxxxx xxxxxxx xxxxxxx xxxxxxx Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx Solution xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx

This report shows summary report about all calls and jobs by specialist.

HF11B1COM/SE

Page 125

Principles and practices of software production


Reports of Turnaround Time (by question type)

Problem Type xxxx xxxx xxxx xxxx

Problem Description xxxxx xxxxx xxxxx xxxxx

Caller Name xxxx xxxx xxxx xxxx

Caller ID xxx xxx xxx xxx

Specialist Name xxxxxxx xxxxxxx xxxxxxx xxxxxxx

Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx

Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx

Turnaround Time xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx

Reports of Turnaround Time (by specialist)

Specialist Name xxxx xxxx xxxx xxxx

Specialized Types xxxxx xxxxx xxxxx xxxxx

Caller Name xxxx xxxx xxxx xxxx

Caller ID xxx xxx xxx xxx

Problem Problem Type Description xxxxxxx xxxxxxx xxxxxxx xxxxxxx

Problem Equipment xxxxxx xxxxxx xxxxxx xxxxxx

Reported Date xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx xx/xx/xxxx

Turnaround Time xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx

HF11B1COM/SE

Page 126

Principles and practices of software production

19.0 Programming environment


Tools used for programming Visual studios 2008 Microsoft SQL server CLOC Adobe Photoshop

19.1 Visual studios 2008


Released in November 2007, Microsoft Visual Studio 2008 was the first application to feature a visual designer for the Windows Presentation Foundation (WPF) with snap lines and event tabs that enable RAD-style development. It also supported developers targeting the 2007 Microsoft Office System with designers for both Outlook and the fluent menu. For multidisciplinary teams, Visual Studio Team System delivered improved scalability, including support for continuous integration.
(2012 Microsoft Corporation)

HF11B1COM/SE

Page 127

Principles and practices of software production

19.2 Microsoft SQL server


Microsoft SQL Server 2012 is cloud-ready information platforms that will help organizations unlock breakthrough insights across the organization and quickly build solutions to extend data across on-premises and public cloud, backed by mission critical confidence. Highlights: The 9s you need with AlwaysOn Blazing-fast query performance with ColumnStore Index Rapid data discovery via Power View and PowerPivot Credible, consistent data via BI Semantic Model and Data Quality Services Scale on demand from devices to datacenter to cloud Write applications once, run anywhere with SQL Server Data Tools (2012 Microsoft Corporation)

19.3 CLOC
cloc counts blank lines, comment lines, and physical lines of source code in many programming languages. Given two versions of a code base, cloc can compute differences in blank, comment, and source lines. It is written entirely in Perl with no dependencies outside the standard distribution of Perl v5.6 and higher (code from some external modules is embedded within cloc) and so is quite portable. cloc is known to run on many flavors of Linux, Mac OS X, AIX, Solaris, IRIX, z/OS, and Windows. (sourseforge)

HF11B1COM/SE

Page 128

Principles and practices of software production

19.4 Adobe Photoshop CS6


Adobe Photoshop CS6 software delivers even more imaging magic, new creative options, and the Adobe Mercury Graphics Engine for blazingly fast performance. Retouch with new Content-Aware features, and create superior designs as well as movies using new and reimagined tools and workflows. (Copyright 2012 Adobe Systems Incorporated.)

HF11B1COM/SE

Page 129

Principles and practices of software production

20.0 Testing
20.1Test plan
Test No 1.0 1.1 1.2 1.3 Test case Login Form Load Fill Text Boxes Select User Types Expected output

1.4

Click Login button

1.5

Click Close button

Load user types in to the user type combo box. Fill the text boxes. (Username, Password) Click on the user type combo box and select one type that includes in user types. User will be logged into the system. If the user click on the Log in without providing user name password and the correct user type or incorrect details the error message will display. According to the user type there can access their forms. Close the program

Test No 2.0 2.1

Test case Main Menu Click New Problem Button

Expected output

2.2 2.3 2.4 2.5

Click Search Solution Button Click Search Specialist Solution button Click Register New Caller button Click Register New User button

Load problem types in to the problem type combo box and Load problems to the select problem combo box. Load Search Solution form. Load Search Specialist Solution form. Load Search Specialist Solution form and load Department combo box. Load Register New User form and load User Type combo box, Department combo box, Specialized type combo boxes. Load Edit Problem Details form and load problem types in to the problem type combo box and Load problems to the select problem combo box
Page 130

2.6

Click Edit Problem Details button

HF11B1COM/SE

Principles and practices of software production 2.7 2.8 2.9 Click Repeating Problems button Click Change Password button Click View Reports button Load Repeating Problems form Load Change Password form Load View Reports form and load View Summary by combo box and load View Reports by combo box Load Jobs of Specialist form

2.10

Jobs of Specialist

Test No 3.0 3.1

Test case Add New Problem Form Load

Expected output

3.2

Fill Text Boxes

3.3

Select Problem Type

3.4

Select Select Problem

3.5

Click Save button

3.6

Click Close button

Load problem types in to the Problem Type combo box. Load problem in to the Select Problem combo box. Fill the text boxes. (Operator Name, Callers First Name, Callers Last Name, Serial Number of the Computer, Problem Description). Problem ID is auto generating. Click on the Problem Type combo box and select one type that includes in Problem types. Click on the Select Problem combo box and select one type that includes in Select Problem. New problem details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 131

Principles and practices of software production

Test No 4.0 4.1 4.2 4.3 4.4

Test case Search Solution Form Load Fill Text Boxes Select Specialist Click Send Problem button

Expected output

Load Search Solution form. Fill the text boxes. (Problem ID) Click on the Specialist Table and select suitable specialist for the problem. Problem ID will go to the Jobs of Specialist database.

Test No 5.0 5.1 5.2 5.3

Test case Search Specialist Solution Form Load Fill Text Boxes Click Search Answer button

Expected output

Load Search Specialist Solution form. Fill the text boxes. (Problem ID) Answer that given by specialist will load to the textbox.

Test No 6.0 6.1

Test case Register New Caller Form Load

Expected output

6.2

Fill Text Boxes

6.3

Select Department

Load departments in to the Departments combo box. Load datetimepicker in to the DateTimePicker. Fill the text boxes. (First Name, Last Name, Job Title, Department, Serial Number of the Computer, Software Details, Hardware Details). User ID is auto generating. Click on the Department combo box and select one type that includes in
Page 132

HF11B1COM/SE

Principles and practices of software production departments. Click on the Joined Date DateTimePicker and select joined date in the calendar. New Caller details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

6.4 6.5

Select Joined Date Click Save button

6.6

Click Close button

Test No 7.0 7.1

Test case Register New User Form Load

Expected output

7.2

Fill Text Boxes

7.3 7.4

Select User Types Select Department

7.5 7.6

Select Joined Date Click Save button

7.7

Click Close button

Load user types in to the User Type combo box. Load departments in to the Departments combo box. Load datetimepicker in to the DateTimePicker. Fill the text boxes. (User ID, User Name, Password, Re-Password, First Name, Last Name, Job Title). User ID is auto generating. Click on the User Type combo box and select one type that includes in user type. Click on the Department combo box and select one type that includes in departments. Click on the Joined Date DateTimePicker and select joined date in the calendar. New User details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

HF11B1COM/SE

Page 133

Principles and practices of software production

Test No 8.0 8.1

Test case Edit Problem Details Form Load

Expected output

8.2

Fill Text Boxes

8.3

Select Problem Type

8.4

Select Problem

8.5

Click Save button

8.6

Click Close button

Load problem types in to the Problem Type combo box. Load problem in to the Select Problem combo box. Delete wrong details in the textbox and fill the text boxes with correct details again. (Operator Name, Callers First Name, Callers Last Name, Serial Number of the Computer, Problem Description). Problem ID is auto generating. If its wrong. Click on the Problem Type combo box and select one type that includes in Problem types. If its wrong. Click on the Select Problem combo box and select one type that includes in Select Problem. Corrected problem details will go to the database. If one of the textbox or combo box is blank itll show error message call There are some blank areas. Please fill all. Close the program

Test No 9.0 9.1 9.2 9.3

Test case Repeating Problems Form Load Fill Text Boxes Click Save button

Expected output

Load Repeating Problems form. Fill the text boxes. (Problem ID. Times of Problem Reported, Description). Repeated problem details will go to the database. If one of the textbox is blank itll show error message call There are
Page 134

HF11B1COM/SE

Principles and practices of software production some blank areas. Please fill all. Close the program Expected output

9.4 Test No 10.0 10.1 10.2

Click Close button Test case Change Password Form Load Fill Text Boxes

10.3

Click Set New Password button

Load Change Password form. Fill the text boxes. (Username, Current Password, New Password, Confirm New Password). New Password will go to the database. If one of the textbox is blank itll show error message call There are some blank areas. Please fill all. And if two passwords are not matched. Itll show error message call Password not matched.

Test No 11.0 11.1

Test case View Reports Form Load

Expected output

11.2

Select View Summary By

11.3

Select View Reports By

11.4 11.5 11.6 11.7 11.8

Click Problem Reports button Click Specialist Reports button Click Old Job Details button Click Summary of Calls and Jobs button Click Reports of Turnaround

Load view summary by in to the View Summary By combo box. Load view reports by in to the View Reports By combo box. Click on the View Summary By combo box and select one type that includes in View Summary By . Click on the View Reports By combo box and select one type that includes in Select Problem. Itll show the report of Problems that reported to the system. Itll show the report of Specialists that reported to the system. Itll show the report of Old Job Details that reported to the system. Itll show the report of Summary of Calls and Jobs that reported to the system. Itll show the Reports of Turnaround
Page 135

HF11B1COM/SE

Principles and practices of software production Time button Time that reported to the system.

Test No 12.0 12.1 12.2 12.3 12.4

Test case Jobs of Specialist Form Load Fill Specialist ID textbox Click Search Jobs button Fill Software Name textbox

Expected output

12.5 12.6

Click Check button Fill Problem ID textbox

12.7

Fill Solution textbox

Load Jobs of Specialist form. Fill Specialist ID textbox that ID of specialist who wants to check jobs. Itll show the Jobs that Specialist have in the table. Fill Software Name textbox that specialist want to check its licensed software or not. Itll show the Software Expire date. Fill Problem ID textbox with the problem ID of the problem that specialist wants to give solution. Fill Solution textbox with the solution for the problem that entered in the Problem ID textbox.

HF11B1COM/SE

Page 136

Principles and practices of software production

References

Architectural Patterns and Styles . 2012. Chapter 3: Architectural Patterns and Styles . [ONLINE] Available at: http://msdn.microsoft.com/en-us/library/ee658117.aspx. [Accessed 28 May 2012]. Process Impact -- Software Engineering Seminars and Presentations. 2012. Process Impact -Software Engineering Seminars and Presentations . [ONLINE] Available at: http://www.processimpact.com/seminars.shtml. [Accessed 22 May 2012]. Introduction to Software Engineering/Architecture/Design - Wikibooks, open books for an open world. 2012. Introduction to Software Engineering/Architecture/Design - Wikibooks, open books for an open world . [ONLINE] Available at: http://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Architecture/Design . [Accessed 22May 2012]. Software Architecture | Overview. 2012. Software Architecture | Overview . [ONLINE] Available at: http://www.sei.cmu.edu/architecture/. [Accessed 25 May 2012]. Pressman Software Engineering Resources: Software Design Concepts. 2012. Pressman Software Engineering Resources: Software Design Concepts . [ONLINE] Available at: http://www.rspa.com/spi/design-engineering.html. [Accessed 21 May 2012]. IES The Architecture Design Concept of Software Engineering. 2012. IES The Architecture Design Concept of Software Engineering . [ONLINE] Available at: http://blog.iesve.com/index.php/2010/01/26/the-architecture-design-concept-of-softwareengineering/. [Accessed 21 May 2012].

Prototyping description taken from G. Kotonya and I. Sommerville 1998s Requirements Elicitation and Analysis documentation. Also available online athttp://www.compapp.dcu.ie/~nbrophy/ca222/week4_6/som3.pdf[Accessed 20 May 2012]. Requirement engineering process information taken from Ian sommervilles software engineering, 6th edition, chapter 6. Also available online athttp://www.google.lk/url?sa=t&rct=j&q=requirement+Elicitation+and+Analysis&source =web&cd=7&ved=0CGUQFjAG&url=http%3A%2F%2Fwww.csee.umbc.edu%2Fcours es%2Fundergraduate%2F345%2Fspring02%2FLectures%2Fch6.ppt&ei=i3PCT7z3II3Qr QewlfXCCQ&usg=AFQjCNGHWXJ_WU-Vap5OiqnXuaA2QI_FoA&cad=rja[Accessed
15 May 2012].

Software configuration management IEEE definition taken from CMC media and is available online at-http://www.cmcrossroads.com/cgibin/cmwiki/view/CM/SoftwareConfigurationManagement#IEEE_Std_729_1983 Software configuration management definitions taken from Susan Dart, CarnegieMellon University Pittsburghs Concepts in Configuration Management Systems. also available online at- dart@sei.cmu.edu[Accessed 17 May 2012]. IEEE definitions on configuration validation and verification taken from CMCs Software Configuration Management article and available online athttp://www.cmcrossroads.com/cgi-[Accessed 22 May 2012].bin/cmwiki/view/CM/SoftwareConfigurationManagement#IEEE_Std_729_1983
Page 137

HF11B1COM/SE

Principles and practices of software production Definition of visual studios 2008 taken from Microsoft cooperations visual studios development tools. Available online at- http://www.microsoft.com/visualstudio/enus/products/2008-editions. [Accessed 17 May 2012]. Definition of MS SQL server taken from Microsoft cooperations SQL development studios. Available online at- http://www.microsoft.com/sqlserver/en/us/productinfo/overview-capabilities.aspx. [Accessed 22 May 2012]. Definition of CLOC taken from SOURCEFORGE official site. Available online athttp://cloc.sourceforge.net/.[Accessed 22 May 2012]. Definition of adobe Photoshop taken from Adobe system incorporated. Available online at- http://www.adobe.com/products/photoshop.html. [Accessed 22 May 2012].

HF11B1COM/SE

Page 138

Вам также может понравиться