 جب نگارہوں اور نیجگے میں ہمیں جب نحنوں کے ناس جانتے ہیں جو خواہتی ہے جان میں اللہ ممتاز بھی سالے گا آپ دیتے ہیں کہ ہمیار پہنے کے بارے کے ذہیں ہمارے کے ذویہ اللہ بھی رہیں اس لئے جب لہنکل آپ بھی ذویہ کیا جاؤتے ہیں کیونکل رہوتے ہیں لیکن بھی بھی جانتے ہیں اندیولیر و فنشاہت ہیںناہی بھی ہوتا جانتے ہیں بھائیر永رین بھی could not release بھی بھی بھی بھی بھی بھی بھی سکتے ہیں اور نہیں ہے کہ آپ کو آت rulesا Wash سو لگتا ہے جو وہاں بھرت ریاک نمنٹا ہے Whoever ملح alternatives تاکہاDa Jenn Love즈 وہ اس لن میں کل راکاoi لكن اگلا جہاں ویس رے؟ لیکن ہمیں ایک وہاں کند خمت والھی اور ملحillo ملحص try جو یا دس کر Especially شخص consist 있으 evaluation تو ہے SUBSCRIBE تو صرف برشا کے قلت کو혜یت کریں گے۔ اور بھی معاملی میں جانتا ہے کہ ہمارے طرف سائن میں سکتے ہیں۔ بھی جانتا ہے کہ وہ ڈائیت یہ احساسی نہیں ہے۔ لیکن ہمارے طرف سے اتنا بہت ہوں تو سکتا میں ہمارے اتنا بھی سکتے ہیں۔ وہ ڈائیت ساتھ ہوں گے اور ڈائیت ساتھ ہوں گے! ڈائیت ساتھ ہوں گے آپیں نولییت ساتھ should not say that you should specify such a stupid thing. کہ اہ重aying ان میںfill Easough مکنے میں آپ کوvert س Geoffو میکین میں نانج ک lacked جکسی جو میکنے ہے انمام gratitude سوءین لن اپنے لعمال ہم جو اتین میرے constantsہ become like اپنا کے لئے اُس کے بہت منبت میں شاہت سے مجھے одیٹتے ہیں۔ مجھے نمیت of CMMishi بھئنئے کی ملے لسمان ہوتا ہے۔ اپنا کے ذات نہیں ہے۔ اپنا کے بہت منبت کے بہت ملے لہذا ملے لہذا ملے لہذا بہت اپنی اممی وہاں تب کو اقاد ہوتے ہیں۔ کہ وہ ہم انجردی کے باتی میں ملے لے ہیں۔ یہ یہ سوچ نہیں ہے کہ یہ ملے لہذا بہت ملے Hahaha کیا یہ جاتا ہے جب یہ پہلے خواہتی ہے۔ جو ایک انگرے دیتا ہے جو ایک اپنے خوبہ کیا ہے ، ایک دیتا فرم میں اس کی ساتھ مجھے دیتا ہے۔ خوبہ ہوتا ہے جب تیار تصریقے میں ہمارا گا تو مجھے دیتا ہے ، جو بہت صورت میں بہت کچھ اپنے خوبہ ہے۔ پر بہت اپنے حادث میں مکرم جانتے ہیں۔ یہ اپنے خوبہ ہے ، یقین پر حکم should flow from this point to this point this point to this point finaly you get let's say a roll less ہی انمیٹیر میں نہیں پہلے کے ساتھ دیکھو ہے کہ اپنے کل گفازیں نمیی ہو گا؟ ستنگرزی کے سامیسٹر سے سکیر نہیں ہے کہ آنٹس نضہ اپنے لے کے حرف پر میں چاہتا ہے۔ Now these are control points. The control points define what can be done then and what cannot be done when. Or if something is done, what is the impact. ہی درستوں معداد اسمہ بدمن ہی ہے؟ حصہ دوسیک میرے والے ہوتے ہیں۔ سمجھانے کی تلیمی ابدای دیگرام جانتے ہیں؟ کچھ ان کے ان کے ساتھ دوڑے میں تلیمی ابدای دیگرام تلیمی دیگرام ہے کیونکہ اس دے یہ براہتہ سکتے ہیں۔ فرمت میں وہ ماشاطی پرے جو بھائی سے مقاتلی نیج جانتے ہیں۔ خود secret انعام لیکن اس دیتا ہے یہ دیتا ہے密کرز رکھیں تو تھاں概ہاماÚ bede دیتا kilos اندرسائیا تکروندے میں جو اپنےیں سامنے کے دوائڈتے ہوجاتی ہے۔ انہوںittäطہ اس کے ابدہ لیکچر میں fifwz1h واقع پر گلتی تھا۔ حسہ میں ایک ہمین شخص کے ہی ایک بارے کے مر کے دوائڈتے تھا امامی لیئے مرے ایک بارے کے مرے شخص کے بارے کے دوائعلیے کے لئے ذہب بھی جہاں باتے ہیں but the h is a good way to answer before that h is جو چیزی کو اگر مدیمت کرنا own تیلیمت ہے وہ جو یہ کون ہے جو جو یہ مدیمت ہوڑے گی. یہ آپ کو صحب جیزی کرنا own تیلیمت ہی جو خیال کرنا own ہے. جدرلی ہی جانسیں کسی پر جیز جلسے جب میں بیرسیی پر مدیمت ہے۔ کسی کہے بلکہ اپر پروگ investigate کہتے ہیں جو، مط NPT کیوں کو مطرح سیاکار کرنے۔ کسی پر بھی بھی رائے جو تیلیمت کرنا own سیاکار کرنا own ہے۔ گالا ہےتنے مطلحہ جس کا واقعی منتج سئتے ہیں ، کسی طرح مطلحہ این وضحیت اینٹنا ہے؟ کیوں پعالی میں کیوں کا اینٹس تعلیم ہے؟ اس میں یہ ایک کسی طرح فر میرے ایک نیسان ہے۔ کیوں کہ آپ کو طرح مطلح دیتے ہیں؟ اگر آپ نے ذہب کچھے直接 نیکدتے ہیں، آپ اسی طرح کم پر بہاہا کیا ایک نیسان ہے۔ میں بھی مطلح بھی تلیمété۔ وہ مطلح اینٹ رکھا ہوں۔ جس کی تعلیمات پر کیا ہے؟ ان جانبار کیا ہے انہوں نے نقیل جانبار کے لئے بہت کریں لے ہیں۔ لیکن جانبار کیسے کہنگ رہا ہے، ٹھیک ہے۔ بہت کچھ نقیز ہے تو یہ بھی باری ہے، یہ جانبار کیا ہے، یہ کبھی بات ہے۔ شویط کے لئے کسے مجھوڈوں کے لئے،osed مجھوڈوں کے لئے کسے مبین کرنے کے لئے کرنا ہے۔ اور بہت many بہت کچھ بہت کسے مجھوڈوں کے لئےacre آجاد جائے ہوں۔ یہ بہت بہت سوچائے ہیں ، today in this second session this is what you are going to do with the fellow who acts as a end user you have to ask questions what is required, why is required, where it is required, where it is required, who requires it and then how it is to be done these questions will get information which information can be then represented you understand software requirements at this stage then and finally you specify software functions, interfaces, constraints all of these form part of the software requirements specification document for the static data you have the entity model you are all familiar with this we need not waste time for example we eliminate multi valued attributes etc etc identify primary key whatever you have all the entities that you require you just look at the table representation as a sample so you know what kind of values will typically occur there you will set up relationships where you will have attributes for the relations etc you will put a table for relationships and figure out whether something else is required like grade and whatever the ER model captures static characteristics associations which can be one to one or one to many many to one easy to map the structure to files or database schema we have seen all of this and this model does not cover dynamic features workflow and interfaces this is the bottom line so while it does capture important information and I repeat again the information is not captured through those diagrams the diagrams are merely tools to indicate to us the overall features but along with these diagrams there must be a data dictionary describing variety of things so data dictionary for entity sets which is a repository for all information about entities and associations for each entity the name of the entity brief description approximate number in the set student is an entity how many is one 5,000 or 5 million and might have a completely different repercussion on the way you will desire frequency of changes that will occur does a student come in every day and goes out every day does the student population come in and live in bulks yes it does at the beginning of an academic year now what is the impact that it has student coming in every day and going out every day actually is less load on the performance of the system but if 600 students go out and 800 new people come you need to process that very quickly today in terms of this example the processing is not much but imagine when the peak load comes and when the number of things to be handled is say 3 million look at the reliance IPO for example in the market say we decides that within 10 days reference must be made the number of people who applied for that is whatever 50 lakhs each of them has applied for 10 times what they are entitled for 50 lakh reformed orders must be printed sent back to the end user the banks must gear up to reform that money put from mama account to our other account is not a trivial requirement so all such things must be captured right upfront and after all this there is any other information which you may think of then for attributes there should be data dictionary entries typically the entries are organized such as first entity entry let's say one page or two pages and then five ten pages of attribute entries then next entity but you will also summarize all entities in one or two pages saying these are the major entities and these are the attribute just the names themselves for each attribute the name of the attribute great description data type filled with valid values what is the domain like hostel value values are 1 to 30 and please note it must be written during system analysis we have written on that document is going to somewhere else and designer will just write the algorithm and the programmer writes program if you have not specified this if you have just said two digit number you may end up getting a wrong entry of hostel number 38 which is just totally there is something else which I am not written here constraints you are already familiar with the notion of constraints when we define tables the constraints must be mentioned here this attribute value in this entity depends upon that particular entity being there somewhere else of that value being there as many constraints as you can think of at this stage there will be constraints at the design level which you will do later we will very briefly discuss now the flow modeling the flow modeling we will take one more tutorial on the flow modeling so that you will understand the concepts better but this is just to indicate what kind of questions you should ask during system analysis phase because this is what you will have to prepare ultimately in flow modeling as information flows through a system it undergoes changes it is called transformation for example first screen that you get on registration form is the number course course course the moment this information goes inside you know that it is going to be stored in multiple table or a rich table etc you don't know that in the front end but it has gone full transforming when as a teacher I get a report which is generated by a query I see a different screen altogether so consequently information is transforming as it gets into the system and as it goes out and this transformation is done by programs or processors so at what stage processing is done for each process what is the data that flows in what is the output that flows out where does that output go these are the things which are modeled through data flow model or data flow type a transformation represents part of a system function which is called a process so process is nothing but an algorithm which will work on incoming data and produce outgoing data in short ultimately a process that is depicted in my analysis is likely to become a computer program it is up to the designer to say that the entire facility is implemented by a single program or I will break it up into 20 programs or I will combine four such bubbles and put them into a single program that's a designer's choice but during system analysis you are actually saying how information flows in the manual system or in a semi computerized system and you will model that information flow by processing such flow and attendant transformation is captured using a model of data flow which is called the data flow model represented by data flow diagrams so DFD is that term that is used here is an example of a data flow this is a data flow form let us say enrollment of students let's say attending our university scheme affiliated colleges and they are registering or you take your own registration system with some small variation you are a participant in the course you want to register for a course you will fill up the registration form the first process that must be executed is validation of registration form now how will you validate the registration form first of all you validate whether that student exists or not so there will be some enrollment master register in which you will check yes that student exists then you want to check whether the student has paid fees or not there will be some account master that will be checked there may be other validations that are required for example there may be a course master say is he registering for the valid courses or this semester model let's say this is not course registration this is just registration for the semester I will defer my courses later even when these things have to be checked if everything is okay I will prepare what we call role list and give it to the teacher if everything is not okay we will produce an error list now this error list you have to be under by someone maybe in my analysis in my system function I have allocated that job to a human being you have to look at maybe I have another automated process which reads this error list and then prints may be different reports or throws back the registration or make some corrections and put that registration back anything in short these circles that you see they are called bubbles they are often replanted by ellipses in modern diagrams these are bubbles which represent process or algorithm Validate registration is a process which will take the registration data go and read this file verify whether the student exists go and read that file verify whether the student has paid fees go and read other master data are the courses part of the offered courses go and read another file containing CNET rules saying minimum CPI this cannot be permitted whatever and will then produce this so this is then you can see that this is going to be a program ultimately now whether this is a single program or 5 different programs are written we shall see how further analysis is done but you agree that this flow is required notice that arrows indicate the way the data flows what is the data flowing from the participant the rectangular boxes are external entities very obvious participant factored what is flowing from participant to validate registration this is an arrow which says range form what does it mean registration form but you and I know it will a designer or software developer know that no what is range form for him there are exactly 7 8 character REG-FORF does not mean anything consequently just as you have data dictionary for your entities you must have data dictionary for each of the named arrow that you have REG-FORF means this data items in this form this way this data this value you require a data dictionary for that without which REG-FORF contains no meaning what does this arrow indicate we said whether the student has paid the fees or not why did we say that we generally know that fact is this DFD adequate as a document more certainly not there cannot be any arrow without a name associated with it and there cannot be a name associated with an arrow unless the name is further expanded in a data experiment now you can see why system requirement specification document will be very big there is nothing left to understanding common understanding I know you know that the student has to be checked for fees payment in any way in software engineering the document must take what is it that this will take here what is it that you bring it back and what is it that this validate registration will do this thing must be stated consequently you will find that there must be some name validate information role list DFR there cannot be any diagram component which does not have an associated name and every associated name must have detailed description of what it represents you understood now when you model the functionality requirement one is the static model and the other is the model of how the data flows and you have to prepare these diagrams there are more repercussions of these diagrams let me just explain the basic DFD symbols for example I have a system which I am representing data flow for which is let us say accepting donations from donors to IIT Bomb donors may give actual money they may give a paper saying I pledge to give you this much money next year they may give money for this project to that project they may give money by check by this whatever what I want to represent all of this I will have entities representing donor account whatever and I will have workflow who approaches a donor when does donor give something what happens with the donations how does one do accounting where receipts are printed these are all flow related problem I use that to merely show you the basic symbols in the DFD they are exactly four symbols rectangle specifies an external entity and arrow specifies data flow we have seen that and arrow without an associated name is not permitted account statement is a statement flowing there and of course I must detail this account statement check expense is the process each process must be named how will this check expense will be described it will not be described in a data dictionary entry it will be described as a possible algorithm so check expense for a particular donation means this though are given 1 million dollars how does that 1 million dollar I spent so much money in a building I bought so much equipment I put so much money in a fixed deposit and from the annual interest earning of that I am using that money to pay for travel by research students or to pay for the staff whatever what all this will be described as a process so this will have to be checked each of these checking may require creation of additional storage of information some of which may result into additional entities which you did not envisage because those were not external entities so you can see the huge iterative process the last element is a data store for example page information all people who make pledges has stored here so let's say Nandan Nileqani made a pledge that in year 2010 he will give you let's say 1 crore rupees that must be recorded and what would be the associated process a process which will run every month saying read out all the pledges make out which are the pledges which are expected to match during this month print letters signed by the director we are very happy to recall you have made a pledge 2 years ago please pay a letter to the dean of resource mobilization says we will ring that Nandan later on saying by the way I have not received your check and if a pledge is fulfilled then a feedback saying this pledge is fulfilled please do not send reminders again you see now the complications and they all must be captured during the requirement phase itself and many if you forget you have to keep capturing them in a modified software so these were the dfd symbols external entity which is source or consumer of information arrow represents flow of data process describes transformation ultimately represents the algorithm or program that gets or puts data from or to arrows and contents processing specification the processing specifications technically are called p-specs ideally you could just write an actual computer program for a p-spec and your software is ready unfortunately it's not as simple as that because you don't write software in that manner there is a phase called design and we shall see how during the design many of these processes might be merged or further split based on the design principles but essentially you are capturing the complete crux of what is to be done how it is to be done during the analysis phase dfd data dictionary each symbol must have an associated label you understand why the label is important data dictionary entries must define that label in terms of its metadata process narrative or p-spec must be included for each process and this is only this when you do all this you get a system requirement specification document I will just show you there is a level 0 dfd I won't go through those details again the book on software engine contains unfortunately nowadays they will emphasize only object oriented analysis and design but you will find some reference to these in fact on internet you should have enough material on data flow diagrams and so on this is a center for distance engineering education program system this is called a context diagram of level 0 dfd it has only one bubble and the bubble does not have any posting specs it is the name of the system it captures all the major inputs to the system and all the major outputs from the system for example participant information course information faculty information remote center information what comes out is participant grades course contents annual revenue I have just shown sample there may be 25 arrows here and 30 arrows here but this context diagram you will agree will in a lecture give me a good grand picture of the system that I am trying to produce so this context diagram is not truly a dfd a dfd will come with all the process specs and so on but you will agree that those process specs will nothing but multiple processes inside this with some input going there some output intermediate output going to some other process finally something coming this is something you must query during your system requirement specification phase what kind of user interface is required by your system so I am telling you I want this software what kind of screens do you want what kind of data entry screens do you require what kind of queries will you put what menus do you require if you want to produce reports how should that report look like for example if as a teacher I say that you must give me a role list I will generally expect role list to be sorted on role numbers so that I can easily cross check how many students of which department whatever any list or any report in a financial report you may want page totals to be written on every page you may want sectional expenditure total return departmental expenditure total return all these are specifications of user interface and they must be collected from the end user if an end user is unable to give saying that you generate this report then you must write a format of the report show the user saying is this the way you want your report and include that in your system analysis so all user interfaces have to be defined and included during the system analysis phase now you see why that document will become very large so what content should be there for reports should they be shown only on screen should they be printed should they be printed on special prepared stationery should they be printed on ordinary stationery any special interface that you want you want a special interface saying that you shouted your screen saying yesterday's letter and it should prove some yesterday's letter something like voice command activation this is a special interface you may ultimately decide not to implement that system but you want to capture the requirements screen and forms layout source and target stores operational considerations how user can use it very easily that's called user friendliness keystroke minimization people should not have a type and retype and retype the same thing again and again and again and finally this is the SRS document I will leave this document here for you to read typical years of the requirement specification document will have an introduction there are the basic function specification of the overall system just 3 or 4 pages or 5 pages of that specific then it will have data models for your model and data flow model and complete associated data dictionary then it will have user interface requirements for screens, menus, reports, everything then it will have interfaces to other systems what could be the other systems a video clip of Dr. Abdul Kalam is available for inaugurating the Golden Jubilee of IIT Bombay with some let's say estate office or something such clips may be available from 10 different sources in my software I want the ability to absorb these clips automatically what format should those clips be in how they will be transferred on a CD floppy or 5 transfer which directory these things will be stored how will be the interface between those two systems all that needs to be prescribed interfaces to any external system for the proposed software must be defined in the SRS document then procedures and workflow who will do what you remember I said people's assignment what jobs people will do which people will do what job needs to be defined here acceptance criteria so he is the end user you have to ask him that ok I developed this software now how will you test it according to us you should test it by testing this that's the acceptance criteria that has to be defined up front in this system requirements specification document and of course then you will have appendicitis and axiars etcetera now you can see why that document could be a large document actually I can tell you if you do this exercise of reverse engineering namely go back take any program that you have written any program even a small program and try to prepare an SRS document for that program you will find that it takes more time to write the SRS document than it took you to write the program but then engineering methodology is what this is and why you can get out with a single program because you are smart enough to write that program correctly and run it and get results industry great software large software cannot be produced in that fashion that's the reason why you are suffering procedures and workflow is in a system let's say center for distance engineering education program somebody is registering for that program now what is the procedure the first procedure is to fill up an application form who is responsibility it is to make those application forms available who is the human interface which person you come and give the draft to which person you make telephone calls these are something beyond software which is the clerk who is required to execute a monthly report to be produced everything cannot be automated in the workflow what happens after what for example first somebody pays the fees then only registration can be issued now this is a workflow somebody makes an application for dropping of a course this must be approved by the department head then that must be approved by the dean without that you cannot drop a course you cannot change a course now these are procedures which are not part of software software does not know that dean has to approve after this that is workflow the dependencies of that workflow also need to be captured so you have basically when you say software requirement specification document you are also stating under what workflow this software requirement specifications will be made by my software these these tasks will have to be done by these people you might even have another automation system for electronic transfer of document but even there for example when I apply for an advance of 10,000 rupees for a project from say my sponsor or consultancy project it must be approved by head if it is not approved by head I cannot withdraw that money now that is a workflow which I have to define how do you define a head how do you define a dean what is the human process involved what is the procedure involved all of these things need to be captured you are implementing an information system an information flow is controlled by and is meant for people so you must describe which people come at what stage for which people which jobs are to be done manually which jobs are automated remember the control specifications we said where will control specifications be modeled we have not seen state transition diagrams yet but the specifications of those controls or events and the corresponding activities that the events will generate will have to be stated somewhere so those we state here as procedures and workflow will generate is that okay now producing this document as an industry grade document is one of the deliverables by your groups in this course and you will appreciate I hope what is the importance of such a document