Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
2introduction
1. PAGE-1
INTRODUCTION
Sudhridh Bharat Application is a useful mobile application this project is provide the facility
to various data (family, parent ,pregnant women, child , water source, type of toilet etc.) about a
Anganwadi center for child nutrition and pregnant women monitoring in proper way
The main strategy of the project is to provide all information about people from Anganwadi
center to Block level officer and all officer that are belong to that deportment( mahila Baal
Vikash and pustahar vibhag) very quickly and analysis that and provide needed nutrition material
The mobile Application are use basically Anganwadi support(Helper) and collect
All information about people and upload automatic and also with help of sync
All information are show in cms according to state wise deistic wise and also display Block wise
The mobile app is based on Jsw project hold on various modules.
Login
Registration
Synchronizations
Nutrition
Monitoring
Help
Setting
In this project my module is change language and registration which is part of Anganwadi
Support ,it is dynamically related to collect information and change language according to
requirement to the user and in registration module that are ahold parent registration ,pregnant
women registration child registration and also nutrition and monitor registered child and
pregnant women.
1.1 Purpose.
Main aim in this mobile app (Sudirdh Bharat Application) is to provide an easy way not only
automatic all functionalities of Anganwadi center but also to provide full information about
people and water source , type of toilet and every thing according to block wise ,Deistic level
related deportment officer very fast and accurate.We are committed to bring the best way to all
information to help of CMS .
2. PAGE-2
1.2 Scope
The current system of Anganwadi center the Anganwadi support is gather all information about
the parent, pregnant women, child and note down a register (note book) and send that register to
his upper officer but that process is very complex ,time taking system and untrusted system. this
system have lot of drawback Example Anganwadi person are note all information about child
,height ,weight ,MUAC, current source of water, type of toilet but when that information are
analysis and apply to next two month after that may something will be changed that time
With help of this project all information Conway very fast and easy to analyze and take decision
easily
The result of this application will be very positive and I hope all state Govt. adopt this app and
implemented in whole country, currently this app are implemented in maharastra Govt.
1.3 Definition, Acronyms, and Abbreviations-
IEEE The Institute of Electric and Electronics,Inc
MUAC Middle Upper Arm circumference
EDD Expected Delivery Date
LMP Last, Month, Period
GUI Graphical User Management
4. PAGE-4
2. Overall Description
2.1ProductPerspective-
Anganwadi Support is a child nutrition and monitoring system this project is a mobile based
project.it is provide facilities to Anganwadi helper are may belong to city or very backward Area
there may be not sufficient resource (Electricity or network) this App are developed this kind of
problem keep in mind
Not use very much graphical interface and images that app have local and server data base
.suppose the user are collect information on his mobile phone but that time network not available
that time this app also work, that time this app store all information in local data base and that
time the user on network he/she send all information into server with help of synchronization
This app are provide various application on CMS but our application is different in following
ways
Easy to gather all information to all person or any one person
Using this app to provide an scale to a particular child is healthy or required nutrition .
Similarly use the app we are calculate Expected Delivery Date of a pregnant women and
monitor his in a proper manner.
In server end user’s are officer that are analysis and take decision according to graph
representation
Server end according to select state, select deistic , select block, and select family
2.1.1 User interface-
The user will be interacted with the system a mobile application (Anganwadi support) are run in
android 4.4(kit-cat) to current version that app not need to more
Battery and if user are login at one time with correct user name and password next time they
does not need to user name and password that user enter directly main menu and register, or
monitor very easily that app UI is very simple and not use any image or heavy weight code that
are degrade that performance,
5. PAGE-5
2.1.2 Hardware interfaces-
The hardware used for the development of the project is-;
Mobile device Android 4.4
Processor Dual core 1.2GHZ
RAM 1GB
SD Card 8GB
Camera 5mp 2492*1944
2.1.3 Software interfaces-
In client side very simple and mobile support android 4.4(OS)
2.1.4 Memory Constraints-
A minimum of 3GB RAM is required to install ADT.
2.2 Product Function-
The product function monitoring system is as follows:
1. Our system keep is handle the child nutrition .
2. Our system keep all information about all family like as parent registration.
3. The system is handle the child weight and height and its made a graph analytical
according view growth of child.
4. All information will show in server and handle the web API.
5. Web API is handle by admin and its control in server.
6. PAGE-6
2.3 User Characteristics-
The product is design to be usable by individual with a minimum level of literacy and related to
the use of information technology of mobile. The user of application required only a few of
training on the application and this application hold many local language exp-Marathi, Hindi,
English etc.
2.4 Constraints-
This application is developed on ADT bundle and web services are handle Cake Php .Web
services is call by JSON API and local database is SqLite and server side database use MySql.
8. PAGE-8
3.1 External Interface Requirement-
3.1.1 User Interface-
The user interface of Anganwadi support content the following activities:
Child Registration- All information about child.
Parent Registration-All information about parents.
Pregnant Women Registration-All information about pregnant women.
Nutrition-The nutrition activity contain growth of child.
Monitoring-The monitoring activity is contain the growth of pregnant women in proper
way.
Water source- The rural or city area people drinking water source, well, tubewell,piped.
Toilet Type- The registered family have type of toilet open, close.
Delivery Order-Order of child.
Weight- The child or pregnant women weight in cms.
Height-The child or pregnant women height in cms.
Hg- Hemoglobin level of pregnant women
MUAC- Middle upper arm circumfuse
3.1.2 Hardware interface-
No specific hardware requirement for the application. In future we can configure some hardware
to the application like bar code reader ,figure print reader and card reader,
3.1.3 Software interface-
The software used for the development of the project
Development tool :ADT Bundle
OS :windows/Linux
DBMS :SQLITE
9. PAGE-9
3.2 Software product feature-
As we discuss about the various forms and their uses in the application, the block specified in the
forms takes appropriate input from the user validate them check them and processes the system
according to the input and generated outputs.
At form level our application has following commands-
1- Save - this button is used to save new data in database.
2- Modify - this button is used to modify the records.
3- View - this button is used to view the records.
4- First - This button is used to view the first record in the database.
5- Previous - This button is used to view the previous record.
6- Next - This button is used to view the next record.
7- Last - This button is used to view the last record.
8- Delete - This button is used to delete the records.
9- Exit - This button is used to exit form the form.
10- Cancel - This button is used to clear the records from the forms.
11- Print - This button is used to print the records.
The whole processing in the web application are done on the level. Each form validates input on
form level and then send them into the database. Our web application generates two types of
output-
1-Output in forms
2-In the forms of reports
3.2.1 Reportgeneration-
Outputs can be generated in the form of reports. Reports can be generated in the specified format
according to user requirement like-
Tabular
Group left
Form-like
Mailing-Label
10. PAGE-10
Group-above
Matrix
Matrix-with-group
Form-letter
These reports are forcontains all information of all branches with company wise/institute
wise. This is an online web application so that user take information online. Parents can see
class details, their progress reports and also results from home. This is too much user
friendly.there is lots of scope the area of user interface, database performance Etc.This report
master, payment,good receipt etc. these reports are generated by the joining of the various
tables. The report output can be delivered directly to a printer or saved in the following
formats:
PDF
HTML
XML
Microsoft Excel
3.3 LogicalDataBase Requirements:
In this application Sqlite is used as database. There are many tables in the modules. These table
are dynamically related with other modules os Target PMT. In these tables various types of keys
like primary key, foreign key constraints like not null, unique and triggers are applied. This
database secure and fast.
The tables of this module are as follows-
1- Login
2- Family
3- Child Registration
4- Parent Registration
5- Language
6- Child Nutrition
7- Anganwadi center
8- Beat
11. PAGE-11
9- Birth status
10- Boolean support
11- Caste
12- Delivery type
13- Drinking water source
14- Gender
15- Multimedia
16- Nutrition
17- Place of delivery
18- Pregnant women monitor
19- Regional language
20- Religion
21- Server id
22- Toilet availability
23- Type toilet
24- User
12. PAGE-12
1.Login
user_name TEXT
user_id INTEGER
Password TEXT
Email TEXT
PRIMARY KEY user_id
2.Anganwadi center
center_id INTEGER
center_name TEXT
beat_id NUMERIC
PRIMARY KEY center_id
3.Child Registration
Gender TEXT
Status NUMERIC
child_id INTEGER
child_name TEXT
date_of_birth TEXT
birth_weight TEXT
parent_name TEXT
server_id NUMERIC
Latitude TEXT
Longitude TEXT
Multimedia TEXT,
birth_order NUMERIC
user_id NUMERIC
birth_height TEXT
PRIMARY KEY child_id
4.ParentRegistration
13. PAGE-13
parent_id INTEGER
houser_id TEXT
Latitude TEXT
Longitude TEXT
Father TEXT
Mother TEXT
has_toilet NUMERIC
have_water NUMERIC
litracy_status NUMERIC
Religion NUMERIC
Caste TEXT
f_adharcard TEXT
m_adharcard TEXT
Address TEXT
user_id NUMERIC
server_id NUMERIC
Status NUMERIC
PRIMARY KEY parent_id
5.Child_Nutrition_Monitor
6.Beat
beat_id INTEGER
beat_name TEXT
PRIMARY KEY beat_id
7.Birth_Status
Id INTEGER
Value TEXT
PRIMARY KEY id
8.Boolean_Support
Id INTEGER
parent_name TEXT
child_name TEXT
Weight TEXT
Height TEXT
Muac TEXT
Status NUMERIC
Server_id NUMERIC
Multimedia TEXT
14. PAGE-14
Value TEXT
PRIMARY KEY id
9.Nutrition
nutrition_id INTEGER
Status NUMERIC
child_id NUMERIC
date_of_monitoring TEXT
height TEXT
Weight TEXT
Muac TEXT
latitude TEXT
Longitude TEXT
server_id NUMERIC
PRIMARY KEY nutrition_id
9.Pregnant_WomenMonitor
women_id NUMERIC
pregnant_women_name TEXT
Weight TEXT
Hb TEXT
Status TEXT
server_id NUMERIC
current_date TEXT
10.Regional_language
multimedia_id INTEGER
Data BLOB
Status NUMERIC
Type NUMERIC
server_id NUMERIC
PRIMARY KEY multimedia_id
10.Server
15. PAGE-15
Value TEXT
Id INTEGER
PRIMARY KEY id
3.4 Software SystemAttributes:
3.4.1 Reliability
Reliability the main objective so as to win the Confidence of the user and to provide information
on which he can relies upon.
3.4.2 Availability
The entire system should be available round the year, except for a periodic maintenance. The
maintenance period should be pre scheduled and short. The users should be reminded of the
unavailability period, well in advance.
3.4.3 Security
Since the information entered is of vital Importance to the organization and to the owner
of the website, it should be made to allow only the website developers to manipulate the
data.
16. PAGE-16
3.4.4 Maintainability
The document should be easy for the users who execute the system day to day, for the developers
who wish to edit or develop further, and for the personnel who is in charge of the maintenance.
3.4.5 Portability
The system shoul support window and Linux operating system. And application can also be
integrate into client-server web application.
3.4.6 Usability
The GUI should be easy to learn and use by users of any technical background. A tool-tip feature
is available in all blocks, to guide the users.
3.5 List Of Diagrams
3.5.1 Data Flow Diagram-
Zero level DFD.
36. PAGE-36
if (strUserName.equalsIgnoreCase("")
|| (strPassword.equalsIgnoreCase(""))) {
Toast.makeText(getApplicationContext(),
"Please enter username and password!", 200).show();
} else {
if (sqliteHelper.validateUserOffline(strUserName, strPassword)>0) {
GlobalVars.UserID=sqliteHelper.validateUserOffline(strUserName, strPassword);
Intent intent = new Intent(this, MainMenuActivity.class);
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(),
"Invalid user, authenticating online!!!",
200).show();
if(isInternetOn()==false){
Toast.makeText(getApplicationContext(),
"Please enable internet to online login!!!",
200).show();
}
else{
mProgressDialog.show();
new AsyncTask<String, String, String>(){
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if(result!=null){
try {
JSONObject user= new
JSONObject(result);
if(user.has("user_id")){
int user_id=
user.getInt("user_id");
if(user_id>0)
{
sqliteHelper.SaveUser(strUserName, strPassword, user_id+"");
GlobalVars.UserID=user_id;
37. PAGE-37
Intent intent = new
Intent(ActivityLogin.this, MainMenuActivity.class);
startActivity(intent);
}
else{
Toast.makeText(getApplicationContext(),
notavaliduser, 200).show();
}
}
mProgressDialog.dismiss();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
return serverhelper.LoginOnServer(strUserName,
strPassword);
}
}.execute((String)null);
}
}
}
}
/**
* Get provider name.
*
* @return Name of best suiting provider.
* */
String getProviderName() {
LocationManager locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setPowerRequirement(Criteria.POWER_LOW); // Chose your desired
38. PAGE-38
// power consumption
// level.
criteria.setAccuracy(Criteria.ACCURACY_FINE); // Choose your accuracy
// requirement.
criteria.setSpeedRequired(true); // Chose if speed for first location
// fix is
required.
criteria.setAltitudeRequired(false); // Choose if you use altitude.
criteria.setBearingRequired(false); // Choose if you use bearing.
criteria.setCostAllowed(false); // Choose if this provider can waste
// money :-)
// Provide your criteria and flag enabledOnly that tells
// LocationManager only to return active providers.
return locationManager.getBestProvider(criteria, true);
}
public void showSettingsAlert() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
// Setting Dialog Title
alertDialog.setTitle("GPS setting");
// Setting Dialog Message
alertDialog.setMessage("Would you like to enable GPS?");
// On pressing Settings button
alertDialog.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(
Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
});
// on pressing cancel button
alertDialog.setNegativeButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
39. PAGE-39
// Showing Alert Message
alertDialog.show();
}
public void Notify(String notificationTitle, String notificationMessage,
String path) {
Uri soundUri = Uri
.parse("android.resource://com.example.anganwarisupport/raw/"
+ path);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.ic_launcher) // notification icon
.setContentTitle("Geo-Location Updates") // title
// for
// notification
.setContentText("Geo-Location Updates") // message for
// notification
.setAutoCancel(true).setSound(soundUri);
NotificationManager mNotificationManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
}
public void startGettingLocationUsingGPSProvider() {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
minTime, minDistance, mylistener);
CountDownTimer count = new CountDownTimer(5000, 1) {
@Override
public void onFinish() {
Toast.makeText(getApplicationContext(), "Connecting AGPS",
200)
.show();
Notify("a", "aa", "agps");
tag = "AGPS";
startGettingLocationUsingNetworkProvider();
}
@Override
public void onTick(long millisUntilFinished) {
40. PAGE-40
// TODO Auto-generated method stub
}
};
count.start();
}
public void startGettingLocationUsingNetworkProvider() {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, minTime,
minDistance,
mylistener);
}
public boolean isGPSEnabled() {
LocationManager mlocManager = (LocationManager) this
.getSystemService(this.LOCATION_SERVICE);
boolean enabled = mlocManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
return enabled;
}
public void enableGPS() {
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
}
public void disableGPS() {
// Disable GPS
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
}
class MyLocationListener implements LocationListener {
String provider_tag = "";
@Override
public void onLocationChanged(Location location) {
String sss = location.getLongitude() + "";
if (sss.length() > 10) {
46. PAGE-46
public void click_Image(View vw) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File f = new File(android.os.Environment.getExternalStorageDirectory(),
"temp.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
startActivityForResult(intent,
CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
}
public String getSelectedValue(Spinner spn) {
SpinnerHelper data = (SpinnerHelper) spn.getItemAtPosition((int)
spn.getSelectedItemId());
return data.getValue();
}
public void click_save(View vw) {
parentid = getSelectedValue(spnSelectParent);
int serverid=sqliteHelper.getServerId(parentid);
gender =getSelectedValue(spnGender);// spnGender.getSelectedItemId()+"";
String order = spnBirthOrder.getSelectedItem().toString();
birthWeight = etxtBirthWeight.getText().toString();
String height=etxtBirthHeight.getText().toString();
Child child = new Child();
if (etxtChildName.getText().toString().equals("")) {
etxtChildName.setError(Childmandatory);
}else if (gender.equals("")) {
Toast.makeText(getApplicationContext(),gendermandatory,
Toast.LENGTH_SHORT).show();
}else if (etxtDateOfBirth.getText().toString().equals("")) {
etxtDateOfBirth.setError(dobmandatory);
}
else if (etxtBirthWeight.getText().toString().equals("")) {
etxtBirthWeight.setError(weightmandatory);
}
47. PAGE-47
else if (order.equals("")) {
Toast.makeText(getApplicationContext(),
pleasebOrder, Toast.LENGTH_SHORT).show();
}
else{
child.setChild_name(etxtChildName.getText().toString());
child.setParent_name(parentid);
child.setGender(gender);
child.setDate_of_birth(etxtDateOfBirth.getText().toString());
child.setChild_weight(birthWeight);
child.setBirth_order( Integer.parseInt(order));
child.setMultimedia(image64);
child.setLatitude(GlobalVars.lattitude);
child.setLongitude(GlobalVars.longitude);
child.setHeight(height);
long id = sqliteHelper.ChildRegistration(child);
if (id > 0) {
Toast.makeText(getApplicationContext(),
childregistrationdone, 200).show();//child registration don!!
Intent intent1 = new Intent(ActivityChildReg.this,
ActivityChildListing.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent1);
}
}
/*new AsyncTask<String, String, String>(){
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
progressDialog.dismiss();
Intent intent1 = new Intent(ActivityChildReg.this,
MainMenuRegistrationActivity.class);
48. PAGE-48
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent1);
}
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
return serverhelper.ChildRegistration(child);
//return null;
}
}.execute((String)null);*/
}
private int parseInt(Object selectedItem) {
// TODO Auto-generated method stub
return 0;
}
@SuppressLint("NewApi")
public void show_callender(View vw) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "datePicker");
}
@SuppressLint("NewApi")
public static class DatePickerFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
49. PAGE-49
public void onDateSet(DatePicker view, int year, int month, int day) {
String dt = day + "-" + month + "-" + year;
Calendar c = Calendar.getInstance();
c.set(year, month, day, 0, 0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
etxtDateOfBirth.setText(sdf.format(c.getTime()));
}
}
public void populateList(Spinner spinner, String tableName, String col_id,
String col_value, String label, String whr) {
ArrayList<SpinnerHelper> items = new ArrayList<SpinnerHelper>();
items = sqliteHelper.populateSpinner(tableName, col_id, col_value,
label, whr);
ArrayAdapter<SpinnerHelper> adapter = new ArrayAdapter<SpinnerHelper>(
ActivityChildReg.this, android.R.layout.simple_spinner_item,
items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setPrompt(label);
spinner.setAdapter(adapter);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE)
{
File f = new File(Environment.getExternalStorageDirectory()
.toString());
for (File temp : f.listFiles()) {
if (temp.getName().equals("temp.jpg")) {
f = temp;
break;
}
}
try {
Bitmap bm;
BitmapFactory.Options btmapOptions = new
BitmapFactory.Options();
52. PAGE-52
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_child_reg, menu);
return true;
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
54. PAGE-54
FeasibilityStudy (include Technical, Operationaland EconomicalFeasibility)
There are five areas of feasibility - Technical, Economic, Legal, Operational, and Scheduling.
Technology and system feasibility
The assessment is based on an outline design of system requirements, to determine whether the
company has the technical expertise to handle completion of the project. When writing a
feasibility report, the following should be taken to consideration:
A brief description of the business to assess more possible factors which could affect the
study
The part of the business being examined
The human and economic factor
The possible solutions to the problem
At this level, the concern is whether the proposal is both technically and legal feasible (assuming
moderate cost).
Legal Feasibility
Determines whether the proposed system conflicts with legal requirements , e.g. a data
processing system must comply with the local Data Protection Acts .
Operational Feasibility
Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.
The operational feasibility assessment focuses on the degree to which the proposed development
projects fits in with the existing business environment and objectives with regard to development
schedule, delivery date and existing business processes.
To ensure success, desired operational outcomes must be imparted during design and
development. These include such design-dependent parameters such as reliability,
maintainability, supportability, usability, reducibility, disposability, sustainability, affordability
55. PAGE-55
and others. These parameters are required to be considered at the early stages of design if desired
operational behaviors are to be realized. A system design and development requires appropriate
and timely application of engineering and management efforts to meet the previously mentioned
parameters. A system may serve its intended purpose most effectively when its technical and
operating characteristics are engineered into the design. Therefore operational feasibility is a
critical aspect of systems engineering that needs to be an integral part of the early design phases.
Schedule Feasibility
A project will fail if it takes too long to be completed before it is useful. Typically this means
estimating how long the system will take to develop, and if it can be completed in a given time
period using some methods like payback period. Schedule feasibility is a measure of how
reasonable the project timetable is. Given our technical expertise, are the project deadlines
reasonable? Some projects are initiated with specific deadlines. It is necessary to determine
whether the deadlines are mandatory or desirable.