Wednesday, March 18, 2020

Service and Operational Excellence Essays - Mobile Phone, New Media

Service and Operational Excellence Essays - Mobile Phone, New Media BPP Coursework Cover Sheet Please use the table below as your cover sheet for the 1st page of the submission. The sheet should be before the cover/title page of your submission. ProgrammeBSc Business Management Module nameService and Operational Excellence QAA Level Schedule TermSummer term 2015 Student Reference Number (SRN)1045555 Report/Assignment TitleBusiness Operations (Mobile shop) Date of Submission (Please attach the confirmation of any extension received)18/08/2015 Declaration of Original Work: I hereby declare that I have read and understood BPPs regulations on plagiarism and that this is my original work, researched, undertaken, completed and submitted in accordance with the requirements of BPP Business School. The word count, excluding contents table, bibliography and appendices, is 2542 words. Student Reference Number:1045555Date: 18/08/2015 By submitting this coursework you agree to all rules and regulations of BPP regarding assessments and awards for programmes. Please note, submission is your declaration you are fit to sit. BPP University reserves the right to use all submitted work for educational purposes and may request that work be published for a wider audience. BPP Business School Table of Contents Operational Challenges3 4 Vs Model3 The 5 performance objectives4 Processes & Layout5 Improvements in Service Delivery6 Bibliography7 Is a small independent mobile shop located in the hub of Ilford high street, a 4 minutes walk away from Ilford station, surrounded by all types of different and businesses of the same sector. The high street is visited by all types of customers local and tourists, day to day customers and long term customers too. The business timings are 11:00- 21:00 Monday to Sunday. (the business) is visited by regular customers and even walk by customers which is certain due to the nature of the business itself. (the business) offers a wide range of services and products related to mobile phones. They buy and sell used and new phones (mainly smart phones), they provide mobile phone accessories such as headphones, chargers, portable rechargeable chargers, screen protectors, phone covers, selfie sticks and all that you can think of related to mobile phones. (the business) also repairs damaged mobile phones with instant repairing service and even provide unblocking services. The shop is divided into three sections, mobile accessories, mobile repair/unblocking and mobile purchasing and selling. The retail shop is mainly supervised by the manager who tends to be flexible in terms of his job, however they have three more salesmen that work according to their rotating shifts. Operational Challenges 4 Vs Model In every operational process of a sector, the input is transformed into outputs (products and services.) This could be done in various ways, however the main one known is the 4 Vs mode which compiles with, Volume, Variety, Variation and Visibility. Volume could be defined as the degree of how many products or services are made by the operation in terms of quantity. Variety in simple words could be explained as the range of different products or services made by the operation. Variation is basically change in demand over time, and visibility can be understood as the extent to which the operations internal working are exposed in front of the customers. Since, (The business) is a retail mobile shop which delivers finished products and also provides aftersales services, in terms of volume, if the business is divided in to three parts which are buying and selling phones, accessories and repairs, each operation has a different level of contribution to the volume. For instance, buying and selling phones, the volume is low, not every customer decides to buy or sell a phone randomly on a high street, besides mobile phones could be bought easily elsewhere due to competitors. The demand is relatively low which causes a result of high cost as the business has mobile phones on display to be sold however sale is not guaranteed. Since its a small mobile shop located on the high street it cannot offer a wide range of mobile phones, variety on mobile phones is very low, the business would not be able to afford providing a range of different brand phones with different specifications and features, it would be almost impossible to fulfil anyones de mand, unless they can order and it for the customer making it more of a bespoke facility. Speaking of variation, since its technology the business is dealing with which gets updated every three month at least, it will be hard

Monday, March 2, 2020

Delphi Record Helpers For Sets and Other Simple Types

Delphi Record Helpers For Sets and Other Simple Types Understanding Delphi Class (and Record) Helpers introduces a feature of the Delphi language allowing you to extend the definition of a class or a record type by adding functions and procedures (methods) to existing classes and records without inheritance. In XE3 Delphi version, record helpers became more powerful by allowing to extend simple Delphi types like strings, integers, enums, sets and alike. The System.SysUtils unit, from Delphi XE3, implements a record named TStringHelper which is actually a record helper for strings. Using Delphi XE3 you can compile and use the next code: var s : string; begin s : Delphi XE3; s.Replace(XE3, rules, []).ToUpper; end; For this to be possible, a new construct was made in Delphi record helper for [simple type]. For strings, this is type TStringHelper record helper for string. The name states record helper but this is not about extending records - rather about extending simple types like strings, integers and alike. In System and System.SysUtils there are other predefined record helpers for simple types, including: TSingleHelper, TDoubleHelper, TExtendedHelper, TGuidHelper (and a few others). You can get from the name what simple type the helper extends. There are also some handy open source helpers, like TDateTimeHelper. Enumerations? Helper for Enumerations? enumerations sets Enumerations and sets being treated as simple types can also now (in XE3 and beyond) be extended with functionality a record type can have: functions, procedures and alike. Heres a simple enumeration (TDay) and a record helper: type TDay (Monday 0, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); TDayHelper record helper for TDay function AsByte : byte; function ToString : string; end; function TDayHelper.AsByte: byte; begin result : Byte(self); end; function TDayHelper.ToString: string; begin case self of Monday: result : Monday; Tuesday: result : Tuesday; Wednesday: result : Wednesday; Thursday: result : Thursday; Friday: result : Friday; Saturday: result : Saturday; Sunday: result : Sunday; end; end; var aDay : TDay; s : string; begin aDay : TDay.Monday; s : aDay.ToString.ToLower; end; convert a Delphi Enum to a String Representation Sets? Helper for Sets? TDays set of TDay; var days : TDays; s : string; begin days : [Monday .. Wednesday]; days : days [Sunday]; end; BUT, how GREAT would it be to be able to do: var days : TDays; b : boolean; begin days : [Monday, Tuesday] b : days.Intersect([Monday, Thursday]).IsEmpty; type TDaysHelper record helper for TDays function Intersect(const days : TDays) : TDays; function IsEmpty : boolean; end; ... function TDaysHelper.Intersect(const days: TDays): TDays; begin result : self * days; end; function TDaysHelper.IsEmpty: boolean; begin result : self []; end; For every set type constructed around an enumeration you would need to have a separate helper as, unfortunately, enumerations and sets do not go along generics and generic types. This means that the following cannot be compiled: //NO COMPILE OF ALIKE! TGenericSet set of T : [?Enumeration?]; TEnum Simple generics Enum example Record Helper For Set Of Byte! type TByteSet set of Byte; TByteSetHelper record helper for TByteSet We can have the following in the definition of the TByteSetHelper: public procedure Clear; procedure Include(const value : Byte); overload; inline; procedure Include(const values : TByteSet); overload; inline; procedure Exclude(const value : Byte); overload; inline; procedure Exclude(const values : TByteSet); overload; inline; function Intersect(const values : TByteSet) : TByteSet; inline; function IsEmpty : boolean; inline; function Includes(const value : Byte) : boolean; overload; inline; function Includes(const values : TByteSet) : boolean; overload; inline; function IsSuperSet(const values : TByteSet) : boolean; inline; function IsSubSet(const values : TByteSet) : boolean; inline; function Equals(const values : TByteSet) : boolean; inline; function ToString : string; inline; end; { TByteSetHelper } procedure TByteSetHelper.Include(const value: Byte); begin System.Include(self, value); end; procedure TByteSetHelper.Exclude(const value: Byte); begin System.Exclude(self, value); end; procedure TByteSetHelper.Clear; begin self : []; end; function TByteSetHelper.Equals(const values: TByteSet): boolean; begin result : self values; end; procedure TByteSetHelper.Exclude(const values: TByteSet); begin self : self - values; end; procedure TByteSetHelper.Include(const values: TByteSet); begin self : self values; end; function TByteSetHelper.Includes(const values: TByteSet): boolean; begin result : IsSuperSet(values); end; function TByteSetHelper.Intersect(const values: TByteSet) : TByteSet; begin result : self * values; end; function TByteSetHelper.Includes(const value: Byte): boolean; begin result : value in self; end; function TByteSetHelper.IsEmpty: boolean; begin result : self []; end; function TByteSetHelper.IsSubSet(const values: TByteSet): boolean; begin result : self values; end; function TByteSetHelper.IsSuperSet(const values: TByteSet): boolean; begin result : self values; end; function TByteSetHelper.ToString: string; var b : Byte; begin for b in self do result : result IntToStr(b) , ; result : Copy(result, 1, -2 Length(result)); end; var daysAsByteSet : TByteSet; begin daysAsByteSet.Clear; daysAsByteSet.Include(Monday.AsByte); daysAsByteSet.Include(Integer(Saturday); daysAsByteSet.Include(Byte(TDay.Tuesday)); daysAsByteSet.Include(Integer(TDay.Wednesday)); daysAsByteSet.Include(Integer(TDay.Wednesday)); //2nd time - no sense daysAsByteSet.Exclude(TDay.Tuesday.AsByte); ShowMessage(daysAsByteSet.ToString); ShowMessage(BoolToStr(daysAsByteSet.IsSuperSet([Monday.AsByte,Saturday.AsByte]), true)); end; Theres a but :( Note that TByteSet accepts byte values - and any such value would be accepted here. The TByteSetHelper as implemented above is not enumeration type strict (i.e. you can feed it with a non TDay value) ... but as long as I am aware .. it does work for me.