Issuu on Google+

Acropolis Institute Of T e c h n o l o g y & Deep Chowdhury R e s e a r c h The document contains the requirement specification to

| Task Scheduler Manglia Bypass Road Indore Ph No.- 731-4049000

build the software.


| Task Scheduler

1. Introduction

Time becomes the most precious commodity a business owner or manager has; whether for a very small business, mid-size operation, or huge corporation with hundreds of employees. We are developing task scheduler so as to let a person schedule a task without his presence around. Software requirement specification describes all the minute details describing the various attributes of the task scheduler. It gives a description of the purpose and scope of a task scheduler, about the tasks that would be performed and the basic framework as to how the tasks are intended to be scheduled with respect to the stipulated time and order. This SRS delineates the aspects such as references and also compares the existing system with the proposed system. System environment has been described and comprises of descriptions of the hardware interface, software interface, and communication interface. It also gives us insight as to what the application interface and input output interface would look like and the way in which they would function. The change management process has been taken into consideration and plans have been formulated regarding what steps would be taken at the time when changes would be demanded after the completion of the project.

1.1 Purpose

The purpose of Software Requirements Specification (SRS) document is to describe the external behavior of the Task scheduler. Requirements Specification defines and describes the operations, interfaces; performance of the Task scheduler The document also describes the other requirements such as the performance requirements. The Software Requirements Specification (SRS) captures the complete software requirements for the system, or a portion of the system. Also, this would help us to gain tremendous knowledge and experience doing a demanding project like this by practically implementing the theories we learned in our classes. This document helps the development team to review the requirements so as to design and implement the system efficiently. A task scheduler needs to execute tasks according to the schedule decided beforehand in a synchronized manner in order to save the precious time of a user. This SRS includes brief description of the software and its features . The task scheduler would have options for scheduling, canceling and updating various tasks. It automates the routine tasks thereby making the system user friendly. It can even work when no user is logged on. 2


| Task Scheduler Task Scheduler can automate many of your routine tasks. Automatic launching of programs with flexible set of planning tools will set you free from having to wait until some time to run needed applications. Popup reminders let you not forget important things that you were planning to get done. Automatic shutdown feature allows leaving the computer running while being sure that it will be shut down at specified hour. The capability of stopping processes at specified hour makes it possible not only starting programs automatically but stopping programs automatically as well.

Automatic opening and closing dial-up connections allows both establishing and closing dial-up connections at extremely accurate moment of time.

1.2 Scope

Task Scheduler is a multifunctional task scheduler, which allows launching programs and batch files, opening documents and Internet pages, displaying popup reminders, playing sounds, shutting down and restarting computer, turning off monitor only, stopping running processes, establishing and closing dial-up connections - automatically. Task Scheduler offers full set of scheduling tools that allow running scheduled tasks automatically once, minutely, hourly, daily, monthly, yearly, in specified period of time after starting the computer or by such events as hot key, computer idle, dial-up connection established/terminated. The Task scheduler is having the following features-

Task Scheduler can automate many of your routine tasks.

Automatic launching of programs with flexible set of planning tools will set you free from having to wait until some time to run needed applications.

Popup reminders let you not forget important things that you were planning to get done. Automatic shutdown feature allows leaving the computer running while being sure that it will be shut down at specified hour.

The capability of stopping processes at specified hour makes it possible not only starting programs automatically but stopping programs automatically as well.

Automatic opening and closing dial-up connections allows both establishing and closing dial-up connections at extremely accurate moment of time. 3


| Task Scheduler

1.3 Definitions, Acronyms and Abbreviations 

Task :- Any piece of work that is undertaken or attempted.

Scheduler :- Computer hardware that arranges jobs to be done by the computer in an appropriate order

1.4 Intended audience

Home user

Business users

1.5 Reference

Existing Library.

Websites Referred:-

http://www.wikipedia.org

http://www.microsoft.com/net

Books Referred:4


| Task Scheduler

C#.NET UNLEASED By Stephen Walther.

C#.NET (WROX)

Software Engineering, A practitioner’s Approach by Roger S. Pressman.

An Integrated Approach To Software Engineering by Pankaj Jalote

5


| Task Scheduler

2. Existing System

2.1 Process Flow :The first screen in the task scheduler would ask the user to enter the name and description of the task to be scheduled. The triggering wizard would let the user select when the task to be started. The third screen would let the user select the action to be scheduled or an email to be sent or a message to be displayed. And the final screen would give the user the final screen which would enable the user to finish the wizard. Since the basic functioning of the Task scheduler is same as the proposed system so the Process Flow Diagram is the same.

2.2 Limitation :-



Any outsider can enter malicious information and corrupt our saved data by installing Trojans. 6


| Task Scheduler 

An intruder can hack our system if it doesn’t have a password.



It cannot schedule tasks according to its own preference order i.e. if there are two or more tasks which are waiting to be executed then the preference order has to be decided by the user.

7


| Task Scheduler

8


| Task Scheduler

3. Proposed System

3.1 3.1 Data Flow :-

3.2 Process Flow :-

The first screen in the task scheduler would ask the user to enter the name and description of the task to be scheduled. The triggering wizard would let the user select when the task has to be started. The third screen would let the user select the action to be scheduled or an email to be sent or a message to be displayed. And the final screen would give the user the final screen which 9


| Task Scheduler would enable the user to finish the wizard. The proposed system can also store password and login details of the user.

10


| Task Scheduler

11


| Task Scheduler 3.3.1 Use Case Diagram

12


| Task Scheduler

3.3.2 Use Case Specification 1. Task description (UC01)

1.1 Brief Description The user provides the name and the description of the task scheduled.

1.2 Flow of Events 1.2.1 Basic Flow 

User opens the home window.

He provides the name and description of the task.

Then the next window is opened for selecting the task.

1.2.2 Alternate Flow None

1.3 Special Requirement 

Outside the college premises Internet connection is must.

Within the workplace premises LAN or wi-fi connection is must.

1.4 Pre Conditions 

PC should be on.

It should be kept in either hibernate or sleep mode.

1.5 Post Conditions None

13


| Task Scheduler

2. Triggering details (UC02) 2.1 Brief Description This Use case describes the start of the program which is to be scheduled.

2.2 Flow of Events 2.2.1 Basic Flow The start of the task is scheduled. It can be done in either of the following ways:1. Daily execution. 2. Weekly execution. 3. Monthly execution. 4. Execution at a specified time.

2.2.2 Alternate Flow None.

2.3 Special Requirement None

2.4 Pre Conditions 1. PC should be on. 2. Scheduled task should be given a name and description in the previous phase.

2.5 Post Conditions None

2.6 Extension Points None.

14


| Task Scheduler

3. Action assignment (UC03) 3.1 Brief Description This Use case describes the process in which the action to be performed is selected.

3.2 Flow of Events 3.2.1 Basic Flow Program: 1. The program to be scheduled is selected. 2. The path of the program is given. Email: 3. The recipients mail id is provided. 4. The timing at which the mail is to be sent is configured. Message: 1. The message details to be displayed are to be saved in some log file.

3.2.2 Alternate Flow None.

3.3 Special Requirement In case of sending an email the emailing client has to be configured.

3.4 Pre Conditions

Same as above. 15


| Task Scheduler 3.5 Post Conditions None.

3.4

16


| Task Scheduler

17


| Task Scheduler 3.5

18


| Task Scheduler

3.6 Model Diagram :-

The model that we are using to build this project is incremental model. More specifically, the model is designed, implemented and tested as a series of incremental builds until the product is finished. A build consists of pieces of code from various modules that interact together to provide a specific function. At each stage of the IM a new build is coded and then integrated into the structure, which is tested as a whole. Note that the product is only defined as finished when it satisfies all of its requirements.

19


| Task Scheduler

4. System Environment 4.1 Hardware Interface Minimum System Requirements  

Microsoft Windows XP 450 MHz Pentium II-class or compatible processor (600 MHz Pentium III-class recommended)

20MB available hard disk space minimum (100MB recommended)

128 MB RAM (256 MB or more recommended)

USB Port, CD-ROM drive

4.2 Server N.A.

4.3 Software Interface  

Dot.Net Framework 3.0 Window XP and above

4.4 Communication Interfaces Basically the task scheduler sends system calls to the software or the process which is intended to be initiated. The process in return sends an acknowledgement to the scheduler ensuring that the process is initiated. For ex. If task scheduler is scheduled to take a print of a word document at 12 noon via. a printer connected to computer, then the scheduler will automatically get started at 12 noon and send a system call to the printer giving a command to take the print of the required document. On the other hand the printer will give an acknowledgement to the scheduler that the task is accomplished.

20


| Task Scheduler

5. Data Requirements The data would be in the form of log files which would be stored in the form of text files in documents folder. The input would consist of entering date,time and the task to be executed or triggered. The frequency of any task would depend on the user or the program which is once triggered i.e. the task scheduler would itself decide as to which thread of a program should be given priority than the kernel deciding it.

21


| Task Scheduler

6. Application Interface 6.1 Input Output Interface The basic Input devices which will be used are keyboard and mouse. Besides light pen can also be used for making signatures . The basic output device will be monitor.

Home Window:-

22


| Task Scheduler Here the user is asked to give the name and description of the given task.

Task Triggering Phase :-

23


| Task Scheduler When the task is to be triggered is selected in this wizard

Action performance wizard

The action to be performed is selected.

24


| Task Scheduler

Program selection wizard

25


| Task Scheduler

Program to be executed is chosen.

6.2 Report Formats Our software is not going to generate any special report but the success or failure of the executed task would be displayed on a dialogue box.

26


| Task Scheduler

7. Change Management Process The change management process in systems engineering is the process of requesting, determining attainability, planning, implementing and evaluation of changes to a system. It has two main goals : supporting the processing of changes and enabling traceability of changes. This Change Management process helps you to manage all requests for change within your project.By putting this change process in place, you'll easily be able to monitor and control the amount of change that takes place.Within the Change Management Process, each of the key steps for managing change are included. It also tells you how to implement control change, through change approvals and reviews.

By using this Change Process, you can: 

Identify requests for change

Confirm the feasibility of each change

Control the way that change is undertaken

Manage the approval of change

This Change Process is unique, as it: 

Provides a template for managing change

Fully describes every step in the change process

Includes a change process diagram, showing you the steps 27


| Task Scheduler

Defines the responsibilities of change managers

Describes the change review and approval process

Using an effective Change Process is a core function in any team, as change impacts on your ability to deliver your objectives, therefore increasing costs and putting pressure on delivery timeframes. To properly control change, this Change Process sets out all of the steps you need to implement, to manage change effortlessly The entire change management would be done in a series of steps or phases which are as follows:

Phase 1 - Preparing for change (Preparation, assessment and strategy development)

Phase 2 - Managing change (Detailed planning and change management implementation)

Phase 3 - Reinforcing change (Data gathering, corrective action and recognition)

28


| Task Scheduler

8. Assumptions, Constraints and Risks 8.1 Assumptions :The very basic assumption of the task scheduler is that the computer should be turned on for executing the scheduled tasks. The second assumption is that the scheduler should have a preset list of tasks to be performed. To perform any task related to internet the computer should be connected to the internet.

8.2 Constraints :The task scheduler would be able to call a third party software for performing a service which is not an integral part of windows operating system. For example the task scheduler would be able to connect to internet via a dial up connection but it would not be able to download a file from a particular FTP for doing that it would call a third party software which is specifically built for doing it.

8.3 Risks :

Any outsider can enter malicious information and corrupt our saved data by installing Trojans.

An intruder can hack our system if it doesn’t have a password.

29


| Task Scheduler

9. Other Requirements Processor requirements:- For best use of our project, it is suggested that the user may have the following additional features in their computers:  

The processor must have a processor speed of 3.0ghz speed and a minimum hard disk of 15 GB. To get access to the web utility the user must have a broadband connection.

Security requirements:The system should allow for an unspecified number of security levels. Intra-operational functions must be independent of others. In addition, functions should not be accessible to users without sufficient authority. All functions must have assignable security levels. 9.1 Appendix A: Analysis Models

Incremental Model It derives its name from the way in which the software is built. More specifically, the model is designed, implemented and tested as a series of incremental builds until the product is finished. A build consists of pieces of code from various modules that interact together to provide a specific function. At each stage of the IM a new build is coded and then integrated into the structure, which is tested as a whole. Note that the product is only defined as finished when it satisfies all of its requirements. Description: This model combines the elements of the waterfall model with the iterative philosophy of prototyping. However, unlike prototyping the IM focuses on the delivery of an operational product at the end of each increment. An example of this incremental approach is observed in the development of word processing applications where the following services are provided on subsequent builds: 1.

Basic file management, editing and document production functions

2.

Advanced editing and document production functions

3.

Spell and grammar checking

4.

Advance page layout 30


| Task Scheduler The first increment is usually the core product, which addresses the basic requirements of the system. This maybe either be used by the client or subjected to detailed review to develop a plan for the next increment. This plan addresses the modification of the core product to better meet the needs of the customer, and the delivery of additionally functionality. More specifically, at each stage

 

The client assigns a value to each build not yet implemented. The developer estimates cost of developing each build.

The resulting value-to-cost ratio is the criterion used for selecting which build is delivered next.

Essentially the build with the highest value-to-cost ratio is the one that provides the client with the most functionality (value) for the least cost. Using this method the client has a usable product at all of the development stages. Advantages  Delivers an operational quality product at each stage, but one that satisfies only a subset of the client’s requirements.  A relative small number of programmers/developers may be used. 

Reduces the traumatic effect of imposing a completely new product on the client organization by providing a gradual introduction.

There is a working system at all times.

Clients can see the system and provide feedback.

Progress is visible, rather than being buried in documents.

Most importantly, it breaks down the problem into sub-problems; dealing with reduced complexity, and reduced the ripple effect of changes by reducing the scope to only a part of the problem at a time.

Distributes feedback throughout the whole development cycle, leading to more stable artifacts.

Disadvantages   

Each additional build has somehow to be incorporated into the existing structure without degrading the quality of what has been build to date. Addition of succeeding builds must be easy and straightforward. The more the succeeding builds are the source of unexpected problems, the more the existing structure has to be reorganized, leading to inefficiency and degrading internal quality and degrading maintainability. 31


| Task Scheduler 

The incremental models can easily degenerate into the build and fix approach.

Design errors become part of the system and are hard to remove.

Clients see possibilities and want to change requirements.

Why use this model   

Delivers an operational quality product at each stage, but one that satisfies only a subset of the client’s requirements. A relative small number of programmers/developers may be used. From the delivery of the first build, the client is able to perform useful work (portions of the complete product might be available to customers in weeks instead of waiting for the final product, compared waterfall, rapid prototyping model, which deliver only then the complete product is finished).

32


| Task Scheduler

10. Acceptance Criteria :A delay of more than a second in opening of the software would not be tolerated. It should be working on minimum system requirements. The software should be able to perform scheduling even on thread level of a program. Requirement analysis: A typical system analysis starts with the problem definition and identification of need and then turns to feasibility analysis and allocation of function to Software, Hardware, people and databases and establishing cost and schedule constraints. Requirement analysis is the first technical step in the software engineering process. It is at the point general statement of software scope refined into a concrete specification that becomes the foundation for all software engineering activities that follow. Requirement analysis enables to specify software function and performance and establish constraints that software must meet. The system analyst must develop the system with the active and willing cooperation of all the users long experience and expertise with the users help system analyst must gather necessary data while developing a system the analyst must continuing consult the users and get their view. We have done most of the analysis work but an understanding at the requirement is essential from all the contributors of the project. The requirements not only from the documents but also from the guides, colleagues and from some personal observation. Cost Estimation: Cost estimation is part of the planning phase of any engineering activity. The cost of the software can be calculated based on the following factors:   

Size (approx. 4000 LOC) Complexity Level of reliability 33


| Task Scheduler  

Level of technology utilized (Advanced) Availability, stability and feasibility of the system used to produce the product.

Software cost estimation has two uses in software management:  

During the planning stage, one needs to decide how many engineers are needed for the project and develop a schedule. In monitoring the project’s progress, one needs to assess whether the project is progressing according to the schedule and take corrective action if necessary

34

Index



Task Scheduler - A Requirement Specification